Comment 20 for bug 1501041

Revision history for this message
sebastien.caille (sebastien-caille) wrote : Re: No visible display in ubuntu session when using nvidia drivers via nvidia-prime until screen goes to sleep, then waked up

Hello,

I had the same issue and managed to get back to a sane situation

To summarize (more details below), the pattern I saw on my laptop is:
- it works fine as long as the default screen configuration is used (that is, default screen resolution, default screen position)
 (actually, no log "switch to mode" in Xorg.0.log)
- to work around the issue: I switched to vt1, waited for a while (maybe 30 seconds, I'm not 100% sure), switched back to vt7. Then the login screen was displayed and I was able to log in.
- It works better after applying the default configuration using the System Settings (the login screen appears after a reboot)

Installed packages:
xserver-xorg-core 2:1.17.2-1ubuntu9
xserver-xorg-video-intel 2:2.99.917+git20150808-0ubuntu4
nvidia-355 355.11-0ubuntu0~gpu15.10.1

Hardware is Intel HD Graphics 4600 + NVIDIA GT740M
[ 2.612] (--) PCI:*(0:0:2:0) 8086:0416:1043:122d rev 6, Mem @ 0xf7400000/4194304, 0xd0000000/268435456, I/O @ 0x0000f000/64
[ 2.612] (--) PCI: (0:1:0:0) 10de:1292:1043:122d rev 161, Mem @ 0xf6000000/16777216, 0xe0000000/268435456, 0xf0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/524288

Outputs are eDP1 (laptop's screen, 1600x900) and HDMI1 (1920x1080) (now they are named eDP-1-0 and HDMI-1-0... could be an update I applied)

Xorg correctly loads the drivers, prime-offload correctly associates the cards.
Then blank screen

After some vt switches, the login screen appeared on vt7.
The display was corrupted (only for a while), the screen resolution was unusual and I had the same display on both screens.

The last vt switch likely matches the log at 67.771 (it's definitely an unusual resolution, with mirror mode)

[ 3.460] (WW) config/udev: device ETPS/2 Elantech Touchpad already added. Ignoring.
[ 3.808] (II) intel(G0): switch to mode 1600x900@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 3.855] (II) intel(G0): switch to mode 1600x900@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 4.646] (II) intel(G0): switch to mode 1920x1080@60.0 on HDMI1 using pipe 1, position (1600, 0), rotation normal, reflection none
[ 34.168] (II) NVIDIA(0): Setting mode "NULL"
[ 34.169] (II) intel(G0): switch to mode 1600x900@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 34.169] (II) intel(G0): switch to mode 1920x1080@60.0 on HDMI1 using pipe 1, position (1600, 0), rotation normal, reflection none
[ 34.256] (--) synaptics: ETPS/2 Elantech Touchpad: touchpad found
[ 36.296] (II) NVIDIA(0): Setting mode "NULL"
[ 36.297] (II) intel(G0): switch to mode 1600x900@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 36.297] (II) intel(G0): switch to mode 1920x1080@60.0 on HDMI1 using pipe 1, position (1600, 0), rotation normal, reflection none
[ 36.356] (--) synaptics: ETPS/2 Elantech Touchpad: touchpad found
[ 64.086] (II) NVIDIA(0): Setting mode "NULL"
[ 64.086] (II) intel(G0): switch to mode 1600x900@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 64.086] (II) intel(G0): switch to mode 1920x1080@60.0 on HDMI1 using pipe 1, position (1600, 0), rotation normal, reflection none
[ 64.176] (--) synaptics: ETPS/2 Elantech Touchpad: touchpad found
[ 67.596] (II) XKB: reuse xkmfile /var/lib/xkb/server-53A4CFD27CBE694B87E57086754C176B71A8EEB5.xkm
[ 67.771] (II) intel(G0): switch to mode 1440x900@59.9 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 67.773] (II) intel(G0): switch to mode 1440x900@59.9 on HDMI1 using pipe 1, position (0, 0), rotation normal, reflection none

Then I was able to log in and use xrandr to change the resolutions and position of the screens.
I'm not certain, but I probably tried to change the configuration from the System Settings/Display tool, too.

After a reboot the lightdm's login immediately appeared and I was able to log in.

At this point, the logs "switch to mode" do not appear in Xorg.0.log anymore.

The configuration is
eDP-1-0 connected primary 1600x900+0+0 382mm x 215mm
   1600x900 60.01*+
HDMI-1-0 connected 1920x1080+1600+0 521mm x 293mm
   1920x1080 60.00*+ 50.00 59.94

HDMI-1-0 at the right of eDP-1-0

Then I tried to "invert" the screens (HDMI output left of eDP output) from the System Settings.
After two attempts, the change was taken into account.

After a reboot, the Xorg server started to segfault after the login.

To fix: I switched to vt1, waited a few seconds, then switched back to vt7. Then I was able to log in (with the displays back to the original configuration - HDMI output at the right of eDP output)
Then I applied the default display configuration using the System Settings.

Now I can correctly log in, even after a reboot.
However, at the moment, trying to use xrandr to change the display configuration crashes xorg.

[ 195.951] (EE)
[ 195.951] (EE) Backtrace:
[ 195.951] (EE) 0: /usr/bin/X (xorg_backtrace+0x4e) [0x5615e28a462e]
[ 195.951] (EE) 1: /usr/bin/X (0x5615e26f0000+0x1b8999) [0x5615e28a8999]
[ 195.951] (EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (0x7f3cdb36f000+0x352f0) [0x7f3cdb3a42f0]
[ 195.951] (EE) 3: /usr/bin/X (DamageRegister+0x11) [0x5615e282b3a1]
[ 195.951] (EE) 4: /usr/bin/X (0x5615e26f0000+0xd9ac8) [0x5615e27c9ac8]
[ 195.951] (EE) 5: /usr/bin/X (BlockHandler+0x8a) [0x5615e274ccca]
[ 195.951] (EE) 6: /usr/bin/X (WaitForSomething+0x163) [0x5615e28a1393]
[ 195.951] (EE) 7: /usr/bin/X (0x5615e26f0000+0x57fa1) [0x5615e2747fa1]
[ 195.951] (EE) 8: /usr/bin/X (0x5615e26f0000+0x5c34b) [0x5615e274c34b]
[ 195.951] (EE) 9: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf0) [0x7f3cdb38fa40]
[ 195.951] (EE) 10: /usr/bin/X (_start+0x29) [0x5615e27366c9]
[ 195.951] (EE)
[ 195.951] (EE) Segmentation fault at address 0x10
[ 195.952] (EE)
Fatal server error:
[ 195.952] (EE) Caught signal 11 (Segmentation fault). Server aborting