FS#53374 - [sddm] Black screen and "Auth: sddm-helper exited with 6" with nvidia-340xx

Attached to Project: Arch Linux
Opened by Andrej Podzimek (andrej) - Sunday, 19 March 2017, 19:24 GMT
Last edited by Antonio Rojas (arojas) - Sunday, 26 March 2017, 17:06 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Antonio Rojas (arojas)
Felix Yan (felixonmars)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

SDDM shows a black screen with nvidia-340xx, which makes it unusable. Both SDDM and the X-server are running and no error is reported back to systemd, but the screen is black. This happens both with the distro kernel and with my custom kernel(s), which suggests that it might be an upstream issue.

What I tried: basically all the recommendations gathered from the web: https://www.google.com/search?*&q="sddm-helper+exited+with+6"&*

* Double-check whether /etc/hostname, hostnamectl and hostname point at the same host name -- yes, they do and always have.
* Add 'sddm' to the 'video' group -- I think this only applies to non-systemd distros, but tried it anyway and it had (indeed) no effect.
* Double-check that SDDM home directory exists -- yes, it does and SDDM even writes stuff into it before it stops with a black screen.
* Try to wipe out sddm's home directory -- sddm repopulates it, but fails the same way again.
* Regenerate the SDDM config file -- done, no effect.
* Explicitly switch to a style other than breeze -- never had breeze there anyway (the items in sddm.conf were left empty); switching to a different style has no effect.
* EnableHiDPI=false -- no effect; plus it's not a high DPI desktop anyway, 20" at 1680x1050 is quite a low-DPI configuration.
* Run SDDM manually under strace -f and look at the greeter's syscalls to guess what happened -- attached; nothing really obvious to me.
* Switch to sddm-git and sddm-kcm-git -- no effect whatsoever; exactly the same failure.

X.org starts normally and displays the NVidia logo; so it's quite obviously SDDM that fails.

On anoher Arch machine with NVidia Quadro P5000 and the latest mainline 'nvidia' driver, everything *works* perfectly; sddm starts the greeter and logs users in. This makes me guess that the problem might have something in common with nvidia-340xx where it doesn't work.

Also, this used to work fine on both machines, but stopped working for nvidia-340xx after a huge update leap from 4.4 to 4.10 kernels. Not sure at which version it broke and whether it's a userspace and/or a kernel problem.

FTR, here's the lspci line:
01:00.0 VGA compatible controller: NVIDIA Corporation GF108 [GeForce GT 430] (rev a1)

Additional info:
* package version(s)

sddm 0.14.0-2
sddm-kcm 5.9.3-1
linux 4.10.3-1
nvidia-340xx 340.102-4
custom Linux 4.10.4 <-- Also tested with this; plus the same nvidia driver version as above.

* config and/or log files etc.

This is what can be found in systemd:
12:38:15 charon systemd[1]: Started Simple Desktop Display Manager.
12:38:15 charon sddm[11484]: Initializing...
12:38:15 charon sddm[11484]: Starting...
12:38:15 charon sddm[11484]: Adding new display on vt 1 ...
12:38:15 charon sddm[11484]: Display server starting...
12:38:15 charon sddm[11484]: Running: /usr/bin/X -nolisten tcp -auth /var/run/sddm/{75990f3f-8a7a-43d2-afe0-393a4d2cdbe2} -background none -noreset -displayfd 18 vt1
12:38:16 charon sddm[11484]: Running display setup script "/usr/share/sddm/scripts/Xsetup"
12:38:16 charon sddm[11484]: Display server started.
12:38:16 charon sddm[11484]: Socket server starting...
12:38:16 charon sddm[11484]: Socket server started.
12:38:16 charon sddm[11484]: Greeter starting...
12:38:16 charon sddm[11484]: Adding cookie to "/var/run/sddm/{75990f3f-8a7a-43d2-afe0-393a4d2cdbe2}"
12:38:16 charon sddm-helper[11493]: [PAM] Starting...
12:38:16 charon sddm-helper[11493]: [PAM] Authenticating...
12:38:16 charon sddm-helper[11493]: [PAM] returning.
12:38:16 charon sddm-helper[11493]: pam_unix(sddm-greeter:session): session opened for user sddm by (uid=0)
12:38:16 charon sddm[11484]: Greeter session started successfully
12:38:16 charon sddm[11484]: Message received from greeter: Connect
12:38:16 charon sddm[11484]: Auth: sddm-helper exited with 6
12:38:16 charon sddm[11484]: Greeter stopped.

I'm also attaching a full strace (strace -f /usr/bin/sddm).
To display *only* the logs from the failed greeter: xzgrep 'pid 7837' sddm.strace.xz # 2 spaces between pid and 7837

Also attached is one of my sddm.conf variants -- I tried lots of them, with and without themes, different minimum VTs and other modifications, but to no avail.

Steps to reproduce:

Start sddm on a system with nvidia-340xx.
This task depends upon

Closed by  Antonio Rojas (arojas)
Sunday, 26 March 2017, 17:06 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#53360 
Comment by Antonio Rojas (arojas) - Monday, 20 March 2017, 20:14 GMT
Possible duplicate of  FS#53360 , please try the workaroud there. Doesn't look like a sddm issue anyway.
Comment by Andrej Podzimek (andrej) - Monday, 20 March 2017, 23:19 GMT
This doesn't look like a duplicate. That "workaround" mentioned there has no effect whatsoever (of course, after fixing the s/#/\$/ typo and making the profile.d file executable). The failure is still the same.
Comment by Antonio Rojas (arojas) - Tuesday, 21 March 2017, 07:04 GMT
Adding nvidia-340 maintainer
Comment by Andrej Podzimek (andrej) - Sunday, 26 March 2017, 17:03 GMT
This post mentions a workaround: http://www.abclinuxu.cz/poradna/linux/show/424664#1 A quick summary:

(1) Add /usr/lib/nvidia to LD_LIBRARY_PATH, as already suggested in  FS#53360 .
(2) In all files in /etc/ld.so.conf.d/, remove all lines that contain /usr/lib/ only. Such lines were in ffmpeg2.8.conf and ffmpeg0.10.conf on my system.

This^^^ workaround works for me. \o/

Not sure if (1) is necessary. What I do know is that (1) alone has no effect.

Loading...