Created attachment 124789 [details] nouveau log LightDM - Light Display Manager -breaks- Nouveau - Linux kernel KMS driver Breakage starts with: https://bazaar.launchpad.net/~lightdm-team/lightdm/1.18/revision/2319 preventing the use of upgrades - lightdm 1.18.2, 1.19.1, 1.19.2, ... Also tested with: 4.7.0-0.rc5.git1.1.fc25.x86_64 and https://github.com/skeggsb/nouveau.git commit bd320d9b0ee2f2443f7568e06bdc33a35cfb24ea Author: Ben Skeggs <bskeggs@redhat.com> Date: Mon Jun 27 16:49:24 2016 +1000 ... How to reproduce: Re-log or Swith User, afterwards Re-log via Xfce session manager
s/Swith User/Switch User/
For comparison, with qxl.ko (QEMU) and vboxvideo.ko (VirtualBox), no problem whatsoever.
With mesa-12.0.0-rc4 nouveau is more robust - no disp: ERROR However, the original problem is still there, nouveau breaks overall Login/SwitchToGreeter/SwitchToUser stanza, shuffles sessions/VTNrs
Test compilation: http://goo.gl/Gm4ffO iso/ How to test: 0. Boot System 1. Logi In 2. Switch User 3. Unlock 4. Log Out 5. Log In ?
VT switching - with disabled acceleration, works /var/log/Xorg.0.log Kernel command line: ... nouveau.noaccel=1 (EE) NOUVEAU(0): Error initialising acceleration. Falling back to NoAccel (**) NOUVEAU(0): [COPY] acceleration disabled glxinfo: OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.8, 128 bits) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /etc/X11/xorg.conf.d/nouveau.conf Section "Device" Identifier "video0" Driver "nouveau" Option "NoAccel" "on" EndSection /var/log/Xorg.0.log (**) NOUVEAU(0): Option "NoAccel" "on" (**) NOUVEAU(0): Acceleration disabled (**) NOUVEAU(0): [COPY] acceleration disabled glxinfo: OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.8, 128 bits) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /etc/X11/xorg.conf.d/nouveau.conf Section "Device" Identifier "video0" Driver "nouveau" Option "AccelMethod" "none" EndSection /var/log/Xorg.0.log (**) NOUVEAU(0): Option "AccelMethod" "none" (**) NOUVEAU(0): [COPY] acceleration disabled glxinfo: OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.8, 128 bits)
What in acceleration code can (as is) brake proper VT switching?
Also, the LightDM thread is here: https://lists.freedesktop.org/archives/lightdm/2016-July/001000.html
w/ modeset sameo /etc/X11/xorg.conf.d/modeset.conf Section "Device" Identifier "video0" Driver "modesetting" Option "AccelMethod" "none" EndSection /var/log/Xorg.0.log (**) modeset(0): Option "AccelMethod" "none" glxinfo: OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.8, 128 bits) What in Acceleration brakes VT switching?
Of course, the same with glx disabled /etc/X11/xorg.conf.d/glx.conf Section "Module" Disable "glx" EndSection /var/log/Xorg.0.log (WW) "glx" will not be loaded unless you've specified it to be loaded elsewhere. (II) "glx" will be loaded even though the default is to disable it. (==) NOUVEAU(0): GLX sync to VBlank enabled. xfwm4-WARNING **: GLX extension missing, GLX support disabled.
However, this is not particular to nouveau.ko. Also tested with AMD radeon.ko and Intel i915.ko - the result is the same.
Created attachment 125354 [details] lightdm.log nouveau.accel KO
Created attachment 125355 [details] lightdm.log nouveau.noaccel OK
Created attachment 125910 [details] Test XRender compositing
SW: kernel-4.8.0-0.rc5.git1.1.fc26.x86_64 libdrm-2.4.70-2.fc26.x86_64 xorg-x11-server-Xorg-1.18.4-5.fc26.x86_64 mesa-dri-drivers-12.0.2-1.fc26.x86_64 lightdm-1.19.4-2.fc26.x86_64 lightdm-gtk-2.0.1-8.fc26.x86_64 sddm-0.14.0-1.fc26.x86_64 xfce4-session-4.12.1-30.20160822git7c13689.fc26.x86_64 xfwm4-4.12.3-36.20160823git2b08627.fc26.x86_64
dmesg: ... nouveau 0000:02:00.0: disp: ERROR 5 [INVALID_STATE] 0b [] chid 1 mthd 0080 data 00000000 nouveau 0000:02:00.0: disp: Base 1: nouveau 0000:02:00.0: disp: 0084: 00000000 nouveau 0000:02:00.0: disp: 0088: 00000000 nouveau 0000:02:00.0: disp: 008c: 00000000 nouveau 0000:02:00.0: disp: 0090: 00000000 nouveau 0000:02:00.0: disp: 0094: 00000000 -> f0000000 nouveau 0000:02:00.0: disp: 00a0: 00000000 nouveau 0000:02:00.0: disp: 00a4: 00000000 nouveau 0000:02:00.0: disp: 00c0: 00000000 -> ffff0000 nouveau 0000:02:00.0: disp: 00c4: 00000000 nouveau 0000:02:00.0: disp: 00c8: 00000000 nouveau 0000:02:00.0: disp: 00cc: 00000000 nouveau 0000:02:00.0: disp: 00e0: 40000000 nouveau 0000:02:00.0: disp: 00e4: 00000000 nouveau 0000:02:00.0: disp: 00e8: 00000000 nouveau 0000:02:00.0: disp: 00ec: 00000000 nouveau 0000:02:00.0: disp: 00fc: 00000000 nouveau 0000:02:00.0: disp: 0100: fffe0000 nouveau 0000:02:00.0: disp: 0104: 00000000 nouveau 0000:02:00.0: disp: 0110: 00000000 nouveau 0000:02:00.0: disp: 0114: 00000000 nouveau 0000:02:00.0: disp: Base 1 - Image 0: nouveau 0000:02:00.0: disp: 0800: 0001ef00 -> 00000500 nouveau 0000:02:00.0: disp: 0804: 00000000 nouveau 0000:02:00.0: disp: 0808: 04380780 -> 03000400 nouveau 0000:02:00.0: disp: 080c: 00007804 -> 00101000 nouveau 0000:02:00.0: disp: 0810: 0000cf00 nouveau 0000:02:00.0: disp: Base 1 - Image 1: nouveau 0000:02:00.0: disp: 0c00: 0001ef00 -> 00000500 nouveau 0000:02:00.0: disp: 0c04: 00000000 nouveau 0000:02:00.0: disp: 0c08: 04380780 -> 03000400 nouveau 0000:02:00.0: disp: 0c0c: 00007804 -> 00101000 nouveau 0000:02:00.0: disp: 0c10: 0000cf00 ...
mesa-12.0.3
DRM: GPU lockup ... = HW: G98 = SW: Linux 4.8.2 libdrm 2.4.71 X.Org X Server 1.18.4 lightdm 1.20.0 lightdm-gtk-greeter 2.0.2 xfce4-session 4.12.1-20160822git7c13689 xfwm4 4.12.3-20160823git2b08627 This is so far the worst outcome using nouveau, after this system is practically unusable as Desktop, hardware reset is required after the first Log Out. = dmesg: nouveau 0000:02:00.0: disp: ERROR 5 [INVALID_STATE] 0b [] chid 1 mthd 0080 data 00000000 nouveau 0000:02:00.0: disp: Base 1: nouveau 0000:02:00.0: disp: 0084: 00000000 nouveau 0000:02:00.0: disp: 0088: 00000000 nouveau 0000:02:00.0: disp: 008c: 00000000 nouveau 0000:02:00.0: disp: 0090: 00000000 nouveau 0000:02:00.0: disp: 0094: 00000000 -> f0000000 nouveau 0000:02:00.0: disp: 00a0: 00000000 nouveau 0000:02:00.0: disp: 00a4: 00000000 nouveau 0000:02:00.0: disp: 00c0: 00000000 -> ffff0000 nouveau 0000:02:00.0: disp: 00c4: 00000000 nouveau 0000:02:00.0: disp: 00c8: 00000000 nouveau 0000:02:00.0: disp: 00cc: 00000000 nouveau 0000:02:00.0: disp: 00e0: 40000000 nouveau 0000:02:00.0: disp: 00e4: 00000000 nouveau 0000:02:00.0: disp: 00e8: 00000000 nouveau 0000:02:00.0: disp: 00ec: 00000000 nouveau 0000:02:00.0: disp: 00fc: 00000000 nouveau 0000:02:00.0: disp: 0100: fffe0000 nouveau 0000:02:00.0: disp: 0104: 00000000 nouveau 0000:02:00.0: disp: 0110: 00000000 nouveau 0000:02:00.0: disp: 0114: 00000000 nouveau 0000:02:00.0: disp: Base 1 - Image 0: nouveau 0000:02:00.0: disp: 0800: 0002e200 -> 00000500 nouveau 0000:02:00.0: disp: 0804: 00000000 nouveau 0000:02:00.0: disp: 0808: 04380780 -> 03000400 nouveau 0000:02:00.0: disp: 080c: 00007804 -> 00100800 nouveau 0000:02:00.0: disp: 0810: 0000cf00 -> 0000e800 nouveau 0000:02:00.0: disp: Base 1 - Image 1: nouveau 0000:02:00.0: disp: 0c00: 0002e200 -> 00000500 nouveau 0000:02:00.0: disp: 0c04: 00000000 nouveau 0000:02:00.0: disp: 0c08: 04380780 -> 03000400 nouveau 0000:02:00.0: disp: 0c0c: 00007804 -> 00100800 nouveau 0000:02:00.0: disp: 0c10: 0000cf00 -> 0000e800 nouveau: evo channel stalled nouveau 0000:02:00.0: DRM: GPU lockup - switching to software fbcon = Xorg.log: (EE) [mi] EQ overflowing. Additional events will be discarded until existing events are processed. (EE) (EE) Backtrace: (EE) 0: /usr/libexec/Xorg (mieqEnqueue+0x253) [0x57cd33] (EE) 1: /usr/libexec/Xorg (QueueKeyboardEvents+0x52) [0x44f2c2] (EE) 2: /usr/libexec/Xorg (xf86PostKeyboardEvent+0x3b) [0x488a8b] (EE) 3: /usr/lib64/xorg/modules/input/evdev_drv.so (_init+0x2fb0) [0x7fe3135e4a20] (EE) 4: /usr/lib64/xorg/modules/input/evdev_drv.so (_init+0x3695) [0x7fe3135e5d15] (EE) 5: /usr/libexec/Xorg (DPMSSupported+0xe8) [0x478d98] (EE) 6: /usr/libexec/Xorg (xf86SerialModemClearBits+0x2b2) [0x49e0b2] (EE) 7: /lib64/libc.so.6 (__restore_rt+0x0) [0x7fe31ed2276f] (EE) 8: /lib64/libc.so.6 (ioctl+0x5) [0x7fe31ede6b65] (EE) 9: /lib64/libdrm.so.2 (drmIoctl+0x28) [0x7fe3200cf2b8] (EE) 10: /lib64/libdrm.so.2 (drmCommandWrite+0x1b) [0x7fe3200d1e2b] (EE) 11: /lib64/libdrm_nouveau.so.2 (nouveau_bo_wait+0xc2) [0x7fe3198b31f2] (EE) 12: /usr/lib64/xorg/modules/drivers/nouveau_drv.so (_init+0x20faa) [0x7fe319aff17a] (EE) 13: /usr/libexec/Xorg (xf86DetachAllCrtc+0xb3b) [0x4b21fb] (EE) 14: /usr/libexec/Xorg (xf86DestroyCursorInfoRec+0xb6a) [0x4bc99a] (EE) 15: /usr/libexec/Xorg (RamDacHandleColormaps+0x83a) [0x4bb1ea] (EE) 16: /usr/libexec/Xorg (miPointerUpdateSprite+0x26b) [0x5862db] (EE) 17: /usr/libexec/Xorg (miPointerUpdateSprite+0x4ba) [0x58697a] (EE) 18: /usr/libexec/Xorg (CompositeRegisterImplicitRedirectionException+0x42b9) [0x4cd289] (EE) 19: /usr/libexec/Xorg (AddTraps+0x7810) [0x5205c0] (EE) 20: /usr/libexec/Xorg (ConfineToShape+0x9a8) [0x440578] (EE) 21: /usr/libexec/Xorg (WindowHasNewCursor+0x37) [0x441067] (EE) 22: /usr/libexec/Xorg (CompositeRegisterImplicitRedirectionException+0x3f20) [0x4ccc60] (EE) 23: /usr/libexec/Xorg (CompositeRegisterImplicitRedirectionException+0x4eda) [0x4cebda] (EE) 24: /usr/libexec/Xorg (SendErrorToClient+0x2df) [0x436e2f] (EE) 25: /usr/libexec/Xorg (remove_fs_handlers+0x463) [0x43ae63] (EE) 26: /lib64/libc.so.6 (__libc_start_main+0xf1) [0x7fe31ed0e731] (EE) 27: /usr/libexec/Xorg (_start+0x29) [0x424d59] (EE) 28: ? (?+0x29) [0x29] (EE) (EE) [mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack. (EE) [mi] mieq is *NOT* the cause. It is a victim.
Since there is no response from developers.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.