Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] Silvermont & SNA: blank screen when exiting Xorg
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
kest
n00b
n00b


Joined: 29 May 2006
Posts: 18
Location: Unknown

PostPosted: Tue Oct 27, 2015 5:52 pm    Post subject: [solved] Silvermont & SNA: blank screen when exiting Xor Reply with quote

Hello there.

I have the following problem running Xorg on an integrated Intel J1900 processor: If I have AccelMethod set to anything but UXA (SNA or acceleration disabled), switching to another terminal or quitting X randomly makes the screen go blank. When switching back to X's VT, graphics are immediately restored, and by blindly restarting X and re-exiting (sometimes repeatedly), I can eventually get back to a visible console.

The J1900 is a "Bay Trail-D", i.e. a Silvermont, i.e. a Z36xx/Z37xx Atom, meaning VIDEO_CARDS="intel i965". I'm on a gentoo-sources 4.0.5 kernel set up according to the wiki entries for intel and Xorg. Everything is built-in, so no modules to load, and the kernel boots from its EFI stub, so there's no bootloader to worry about. I run X through startx with an ~/.xinitrc that just execs openbox, so no login managers or compositors or anything like that. From all I can see in Xorg's log, SNA works perfectly using the gen-7 Bay Trail backend (and e.g. vaapi-mplayer runs under it very well), and there's nothing in dmesg after network setup during boot. All I have in /etc/X11/xorg.conf.d/ is a keyboard config and a Device section specifying the intel driver and the AccelMethod (SNA/UXA). All packages are latest stable amd64 of a couple of weeks ago. My unprivileged user is in the video group, and the same thing happens as root anyhow.

Here's the pertinent part of the Xorg log (with -log-verbose 99) when I switch from X to another VT and back three times under SNA, with the third switch resulting in a black screen instead of the console:
Code:
[  2032.748] (II) AIGLX: Suspending AIGLX clients for VT switch
[  2033.655] (II) AIGLX: Resuming AIGLX clients after VT switch
[  2033.655] (II) intel(0): switch to mode 1280x1024@60.0 on HDMI2 using pipe 0, position
 (0, 0), rotation normal, reflection none
[  2033.700] (II) intel(0): EDID vendor "DEL", prod id 16420
[  2033.700] (II) intel(0): Using EDID range info for horizontal sync
[  2033.700] (II) intel(0): Using EDID range info for vertical refresh
[  2033.700] (II) intel(0): Printing DDC gathered Modelines:
[  2033.700] (II) intel(0): Modeline "1280x1024"x0.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz eP)
[  2033.701] (II) intel(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[  2033.701] (II) intel(0): Modeline "640x480"x0.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[  2033.701] (II) intel(0): Modeline "640x480"x0.0   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[  2033.701] (II) intel(0): Modeline "720x400"x0.0   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[  2033.701] (II) intel(0): Modeline "1280x1024"x0.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
[  2033.701] (II) intel(0): Modeline "1024x768"x0.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[  2033.701] (II) intel(0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[  2033.701] (II) intel(0): Modeline "800x600"x0.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[  2033.701] (II) intel(0): Modeline "1152x864"x0.0  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
[  2034.671] (II) AIGLX: Suspending AIGLX clients for VT switch
[  2035.578] (II) AIGLX: Resuming AIGLX clients after VT switch
[  2035.578] (II) intel(0): switch to mode 1280x1024@60.0 on HDMI2 using pipe 0, position (0, 0), rotation normal, reflection none
[  2036.728] (II) AIGLX: Suspending AIGLX clients for VT switch
[  2038.101] (II) AIGLX: Resuming AIGLX clients after VT switch
[  2038.101] (II) intel(0): switch to mode 1280x1024@60.0 on HDMI2 using pipe 0, position (0, 0), rotation normal, reflection none
And here's the corresponding log part under UXA, with three successful switches back and forth:
Code:
[  2358.370] (II) intel(0): EDID vendor "DEL", prod id 16420
[  2358.370] (II) intel(0): Using EDID range info for horizontal sync
[  2358.370] (II) intel(0): Using EDID range info for vertical refresh
[  2358.371] (II) intel(0): Printing DDC gathered Modelines:
[  2358.371] (II) intel(0): Modeline "1280x1024"x0.0  108.00  1280 1328 1440 1688  1024 1
025 1028 1066 +hsync +vsync (64.0 kHz eP)
[  2358.371] (II) intel(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[  2358.371] (II) intel(0): Modeline "640x480"x0.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[  2358.371] (II) intel(0): Modeline "640x480"x0.0   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[  2358.371] (II) intel(0): Modeline "720x400"x0.0   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[  2358.371] (II) intel(0): Modeline "1280x1024"x0.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
[  2358.371] (II) intel(0): Modeline "1024x768"x0.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[  2358.371] (II) intel(0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[  2358.371] (II) intel(0): Modeline "800x600"x0.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[  2358.371] (II) intel(0): Modeline "1152x864"x0.0  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
[  2359.803] (II) intel(0): EDID vendor "DEL", prod id 16420
[  2359.803] (II) intel(0): Using hsync ranges from config file
[  2359.803] (II) intel(0): Using vrefresh ranges from config file
[  2359.803] (II) intel(0): Printing DDC gathered Modelines:
[  2359.804] (II) intel(0): Modeline "1280x1024"x0.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz eP)
[  2359.804] (II) intel(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[  2359.804] (II) intel(0): Modeline "640x480"x0.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[  2359.804] (II) intel(0): Modeline "640x480"x0.0   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[  2359.804] (II) intel(0): Modeline "720x400"x0.0   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[  2359.804] (II) intel(0): Modeline "1280x1024"x0.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
[  2359.804] (II) intel(0): Modeline "1024x768"x0.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[  2359.804] (II) intel(0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[  2359.804] (II) intel(0): Modeline "800x600"x0.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[  2359.804] (II) intel(0): Modeline "1152x864"x0.0  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
[  2361.238] (II) intel(0): EDID vendor "DEL", prod id 16420
[  2361.238] (II) intel(0): Using hsync ranges from config file
[  2361.238] (II) intel(0): Using vrefresh ranges from config file
[  2361.238] (II) intel(0): Printing DDC gathered Modelines:
[  2361.238] (II) intel(0): Modeline "1280x1024"x0.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz eP)
[  2361.238] (II) intel(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[  2361.238] (II) intel(0): Modeline "640x480"x0.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[  2361.238] (II) intel(0): Modeline "640x480"x0.0   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[  2361.238] (II) intel(0): Modeline "720x400"x0.0   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[  2361.238] (II) intel(0): Modeline "1280x1024"x0.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
[  2361.238] (II) intel(0): Modeline "1024x768"x0.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[  2361.238] (II) intel(0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[  2361.239] (II) intel(0): Modeline "800x600"x0.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[  2361.239] (II) intel(0): Modeline "1152x864"x0.0  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
There are differences, to be sure, but nothing to really differentiate the faulty VT switch.

My searches have proven unfruitful, so I've been trying various intel driver and kernel options, but nothing (even the promising drm.vblankoffdelay and i915.semaphores) has made any difference. As a last ditch attempt I upgraded xf86-video-intel to the ~amd64 version, again to no avail.

I'd really like to get SNA working properly. If you have even a guess as to what the issue might be or what to try next, I'm all ears.


Last edited by kest on Thu Oct 29, 2015 5:48 pm; edited 1 time in total
Back to top
View user's profile Send private message
systemshq
n00b
n00b


Joined: 28 Mar 2011
Posts: 53

PostPosted: Wed Oct 28, 2015 9:32 pm    Post subject: Reply with quote

Please try the following:-

1. There have been quite a few recent kernel intel 915 drm fixes. Try emerging gentoo sources 4.0.9 or 4.1.12 which will include all the latest fixes

2. Use the xf86-intel video drivers from the intel git repository:-

http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/

There's been a whole bunch of sna fixes in the last couple of weeks. Something like below should do the trick:-

git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-intel
cd xf86-video-intel
./autogen.sh --prefix=/usr
make
sudo make install

It will overwrite the current drivers but that should be fine.

This link lists all the recent sna fixes:-

http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/
Back to top
View user's profile Send private message
kest
n00b
n00b


Joined: 29 May 2006
Posts: 18
Location: Unknown

PostPosted: Thu Oct 29, 2015 5:47 pm    Post subject: Reply with quote

With gentoo-sources-4.1.12 the blanking behavior is gone even under SNA. Thanks for the advice!

I'd been under the impression that there were driver problems only with Broadwell and Skylake and that anything older would run fine on stable packages. Goes to show how you shouldn't make assumptions based on light reading.
Back to top
View user's profile Send private message
systemshq
n00b
n00b


Joined: 28 Mar 2011
Posts: 53

PostPosted: Thu Oct 29, 2015 5:56 pm    Post subject: Reply with quote

I'm also using gentoo sources 4.1.12 with the latest intel git xf86-intel-video driver on my silvermont chromebook. Its rock solid - I won't be changing this kernel for a while now:):)
Back to top
View user's profile Send private message
kest
n00b
n00b


Joined: 29 May 2006
Posts: 18
Location: Unknown

PostPosted: Sat Oct 31, 2015 3:07 pm    Post subject: Reply with quote

Sounds like a pretty good setup then. :)

I'll be sure to try out the Git version of xf86-video-intel if I run into any more trouble.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum