PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Debian Stretch: Suspend to Ram - nach Aufwachen kein X-Server



torsten_boese
02.11.17, 09:15
Hallo,

mein Problem habe ich zunächst vermeintlich dem X-Server zugeschrieben und daher hier (http://www.linuxforen.de/forums/showthread.php?281010-X-server-streikt-nach-Suspend-to-RAM&p=1848921#post1848921) zunächst den Post erstellt. Es scheint jedoch eher ein Problem der Suspend-Funktion des Systemd zu sein.

Kurze Erläuterung:
Ich habe ein Debian Stretch dass ich über die XFCE-Schaltfläche mittels Suspend to Ram in den Schlafmodus versetze. Nach dem Aufwachen habe ich nur einen Schwarzen Bildschirm, durch dauerhaftes Drücken beispielsweise Str-Alt-F2 sehe ich den Login-Prompt "durchschimmern". Während dessen erzeugen dbus, lightdm und der Xserver ca. 25% CPU Last, sollte aber bei max 1-2% liegen.

Ein Blick in Xorg.0.log:

[ 3771.198] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 3771.199] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 3771.199] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
[ 3771.209] (--) PCI:*(0:1:0:0) 10de:0fc6:3842:2652 rev 161, Mem @ 0xfb000000/16777216, 0xc0000000/268435456, 0xde000000/33554432, I/O @ 0x0000bf00/128, BIOS @ 0x????????/131072
[ 3771.209] (--) PCI: (0:5:7:0) 109e:036e:11bd:0012 rev 17, Mem @ 0xfdbff000/4096
[ 3771.209] (II) LoadModule: "glx"
[ 3771.209] (II) Loading /usr/lib/xorg/modules/linux/libglx.so
[ 3771.257] (II) Module glx: vendor="NVIDIA Corporation"
[ 3771.257] compiled for 4.0.2, module version = 1.0.0
[ 3771.257] Module class: X.Org Server Extension
[ 3771.257] (II) NVIDIA GLX Module 340.102 Mon Jan 16 12:37:38 PST 2017
[ 3771.257] (==) Matched nouveau as autoconfigured driver 0
[ 3771.257] (==) Matched nv as autoconfigured driver 1
[ 3771.257] (==) Matched modesetting as autoconfigured driver 2
[ 3771.257] (==) Matched fbdev as autoconfigured driver 3
[ 3771.257] (==) Matched vesa as autoconfigured driver 4
[ 3771.257] (==) Assigned the driver to the xf86ConfigLayout
[ 3771.257] (II) LoadModule: "nouveau"
[ 3771.257] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[ 3771.257] (II) Module nouveau: vendor="X.Org Foundation"
[ 3771.257] compiled for 1.19.3, module version = 1.0.13
[ 3771.257] Module class: X.Org Video Driver
[ 3771.257] ABI class: X.Org Video Driver, version 23.0
[ 3771.258] (II) LoadModule: "nv"
[ 3771.258] (WW) Warning, couldn't open module nv
[ 3771.258] (II) UnloadModule: "nv"
[ 3771.258] (II) Unloading nv
[ 3771.258] (EE) Failed to load module "nv" (module does not exist, 0)
[ 3771.258] (II) LoadModule: "modesetting"
[ 3771.258] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 3771.258] (II) Module modesetting: vendor="X.Org Foundation"
[ 3771.258] compiled for 1.19.2, module version = 1.19.2
[ 3771.258] Module class: X.Org Video Driver
[ 3771.258] ABI class: X.Org Video Driver, version 23.0
[ 3771.258] (II) LoadModule: "fbdev"
[ 3771.258] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 3771.258] (II) Module fbdev: vendor="X.Org Foundation"
[ 3771.258] compiled for 1.19.0, module version = 0.4.4
[ 3771.258] Module class: X.Org Video Driver
[ 3771.258] ABI class: X.Org Video Driver, version 23.0
[ 3771.258] (II) LoadModule: "vesa"
[ 3771.258] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[ 3771.258] (II) Module vesa: vendor="X.Org Foundation"
[ 3771.258] compiled for 1.19.0, module version = 2.3.4
[ 3771.258] Module class: X.Org Video Driver
[ 3771.258] ABI class: X.Org Video Driver, version 23.0
[ 3771.258] (II) NOUVEAU driver Date: Tue Sep 20 00:31:06 2016 -0400
[ 3771.258] (II) NOUVEAU driver for NVIDIA chipset families :
[ 3771.258] RIVA TNT (NV04)
[ 3771.258] RIVA TNT2 (NV05)
[ 3771.258] GeForce 256 (NV10)
[ 3771.258] GeForce 2 (NV11, NV15)
[ 3771.258] GeForce 4MX (NV17, NV18)
[ 3771.258] GeForce 3 (NV20)
[ 3771.258] GeForce 4Ti (NV25, NV28)
[ 3771.258] GeForce FX (NV3x)
[ 3771.258] GeForce 6 (NV4x)
[ 3771.258] GeForce 7 (G7x)
[ 3771.258] GeForce 8 (G8x)
[ 3771.258] GeForce GTX 200 (NVA0)
[ 3771.258] GeForce GTX 400 (NVC0)
[ 3771.258] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 3771.258] (II) FBDEV: driver for framebuffer: fbdev
[ 3771.258] (II) VESA: driver for VESA chipsets: vesa
[ 3771.260] (EE) [drm] Failed to open DRM device for pci:0000:01:00.0: -22
[ 3771.260] (WW) Falling back to old probe method for modesetting
[ 3771.260] (II) Loading sub module "fbdevhw"
[ 3771.260] (II) LoadModule: "fbdevhw"
[ 3771.260] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 3771.261] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 3771.261] compiled for 1.19.2, module version = 0.0.2
[ 3771.261] ABI class: X.Org Video Driver, version 23.0
[ 3771.261] (EE) open /dev/fb0: No such file or directory
[ 3771.261] (WW) Falling back to old probe method for fbdev
[ 3771.261] (II) Loading sub module "fbdevhw"
[ 3771.261] (II) LoadModule: "fbdevhw"
[ 3771.261] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 3771.261] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 3771.261] compiled for 1.19.2, module version = 0.0.2
[ 3771.261] ABI class: X.Org Video Driver, version 23.0
[ 3771.261] (EE) open /dev/fb0: No such file or directory
[ 3771.261] vesa: Ignoring device with a bound kernel driver
[ 3771.261] (WW) Falling back to old probe method for vesa
[ 3771.261] (EE) Screen 0 deleted because of no matching config section.
[ 3771.261] (II) UnloadModule: "modesetting"
[ 3771.261] (EE) Screen 0 deleted because of no matching config section.
[ 3771.261] (II) UnloadModule: "fbdev"
[ 3771.261] (II) UnloadSubModule: "fbdevhw"
[ 3771.261] (EE) Screen 0 deleted because of no matching config section.
[ 3771.261] (II) UnloadModule: "vesa"
[ 3771.261] (EE) Device(s) detected, but none match those in the config file.
[ 3771.261] (EE)
Fatal server error:
[ 3771.261] (EE) no screens found(EE)
[ 3771.261] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 3771.261] (EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
[ 3771.261] (EE)
[ 3771.261] (EE) Server terminated with error (1). Closing log file.

Es wird versucht den nv Treiber zu laden. Es sollte aber der proprietäre Nvidia-Treiber geladen werden. Ich bin nicht sicher aber ich glaube der X-Server ist bei Debian so eingestellt, dass dieser automatisch neustartet wenn dieser unerwartet beendet wurde. Das würde die CPU Last und das "Durchschimmern" des Log-Prompts erklären - Der X-Server wird permanent neu gestartet.
Weiter ist die Frage warum der X-Server keinen Zugriff auf die Karte erhällt.


[ 3771.199] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied

Da ich das Debian neu aufgesetzt habe, um bewusst auf alte Confiigs zu verzichten, musste ich feststellen dass nun kaum welche vorhanden sind. Es gibt keine xorg.conf, es gibt kaum pm-utils conf-Dateien und der Systemd hat zum Thema Suspend auch keine Conf-Datei parat.



torsten@TB:/etc/X11$ ls
app-defaults default-display-manager fonts rgb.txt xinit xkb Xreset Xreset.d Xresources Xsession Xsession.d Xsession.options xsm XvMCConfig Xwrapper.config
torsten@TB:/etc/X11$ find -iname *.conf
torsten@TB:/etc/X11$


torsten@TB:/etc/pm/sleep.d$ ls -al
insgesamt 12
drwxr-xr-x 2 root root 4096 Nov 1 23:06 .
drwxr-xr-x 3 root root 4096 Jul 6 23:10 ..
-rwxr-xr-x 1 root root 660 Dez 11 2016 10_unattended-upgrades-hibernate


torsten@TB:/etc/systemd$ ls -al
insgesamt 52
drwxr-xr-x 5 root root 4096 Nov 1 23:26 .
drwxr-xr-x 148 root root 12288 Nov 1 22:59 ..
-rw-r--r-- 1 root root 1014 Jun 4 22:58 journald.conf
-rw-r--r-- 1 root root 1022 Jun 4 22:58 logind.conf
drwxr-xr-x 2 root root 4096 Jun 4 22:58 network
-rw-r--r-- 1 root root 642 Jun 4 22:58 resolved.conf
drwxr-xr-x 13 root root 4096 Jul 8 23:59 system
-rw-r--r-- 1 root root 1601 Jun 4 22:58 system.conf
-rw-r--r-- 1 root root 607 Jun 4 22:58 timesyncd.conf
drwxr-xr-x 2 root root 4096 Jun 4 22:58 user
-rw-r--r-- 1 root root 1130 Jun 4 22:58 user.conf
torsten@TB:/etc/systemd$ cd system/
torsten@TB:/etc/systemd/system$ ls -al
insgesamt 52
drwxr-xr-x 13 root root 4096 Jul 8 23:59 .
drwxr-xr-x 5 root root 4096 Nov 1 23:26 ..
drwxr-xr-x 2 root root 4096 Jul 3 21:52 clamav-daemon.service.d
lrwxrwxrwx 1 root root 40 Jun 30 23:16 dbus-org.freedesktop.Avahi.service -> /lib/systemd/system/avahi-daemon.service
lrwxrwxrwx 1 root root 40 Jun 30 23:16 dbus-org.freedesktop.ModemManager1.service -> /lib/systemd/system/ModemManager.service
drwxr-xr-x 2 root root 4096 Jul 8 23:59 default.target.wants
lrwxrwxrwx 1 root root 35 Jun 30 23:16 display-manager.service -> /lib/systemd/system/lightdm.service
drwxr-xr-x 2 root root 4096 Jun 30 23:04 getty.target.wants
drwxr-xr-x 2 root root 4096 Jun 30 23:15 graphical.target.wants
drwxr-xr-x 2 root root 4096 Okt 29 16:23 multi-user.target.wants
drwxr-xr-x 2 root root 4096 Jul 2 23:39 network-online.target.wants
drwxr-xr-x 2 root root 4096 Jun 30 23:16 printer.target.wants
drwxr-xr-x 2 root root 4096 Jul 8 23:59 remote-fs.target.wants
drwxr-xr-x 2 root root 4096 Jul 8 23:59 sockets.target.wants
lrwxrwxrwx 1 root root 31 Jun 30 23:16 sshd.service -> /lib/systemd/system/ssh.service
drwxr-xr-x 2 root root 4096 Jun 30 23:05 sysinit.target.wants
lrwxrwxrwx 1 root root 35 Jun 30 23:04 syslog.service -> /lib/systemd/system/rsyslog.service
drwxr-xr-x 2 root root 4096 Jun 30 23:16 timers.target.wants

Der Ansatz, die Dienste so konzipieren, dass keine Configs benötigt werden ist zwar nett, aber hilft in Fällen in denen etwas nicht läuft nicht wirklich weiter. Ich kann nicht erkennen wie der Suspend Modus parametriert ist. Ich weiß nicht mal ob die pm-utils noch verantwortlich sind oder ob es der systemd alleine richtet.

Ich habe versucht herauszufinden wie der Systemd nach dem Aufwachen unter Debian Module und Dienste startet, habe jedoch keine brauchbare Quelle gefunden.
Ich vermute, dass dem Systemd gesagt werden muss nach dem aufwachen den Nvidia und nicht den nv Treiber zu verwenden. Daraus ergibt sich bei mir die Frage warum die Treiberwahl beim "normalen" Bootorgang funktioniert.

Lange rede kurze Frage: Wie und wo kann ich die Aufwachphase konfigurieren?

Danke für eure Hilfe.

torsten_boese
29.11.17, 20:31
Hi,

der Ansatz des Xorg-Treibers war richtig. Die Lösung ist hier zu finden:
https://wiki.debian.org/KernelModesetting (https://wiki.debian.org/KernelModesettinghttp://) -> section nVidia GfxCards.

Gruß