Die genannten Produkte in der Überschrift haben, wie ich im Laufe des Eintrages zeigen werde, nicht unbedingt etwas mit dem eigentlichen Fehler zu tun. Jedoch sind das genau die Dinge, die ich tagelang verdächtigt habe, bis ich schlussendlich auf den Verursacher gestoßen bin. Möglicherweise geht es dem einen oder anderen von euch jedoch genauso.

Von einiger Zeit gab es für mein Linuxsystem (Gentoo) in mehreren Bereichen größere Aktualisierungen: Ein endlich aktualisierter Grafikkartentreiber von AMD (12.6) für meine Radeon HD 5770, ein neuer Kernel in Version 3.4.x und den X.Org-Server in Version 1.2.x.

Bei diesem Update wurden auch diverse andere kleinere Pakete aktualisiert. Nach der korrekten Konfiguration des Systems (Kernel, Bootloader, etc. Als Gentoo-Benutzer ist das einem einfach ins Blut übergangen...) und Neustart, habe ich jedoch nicht meine gewohnte Oberfläche wiedergefunden, sondern lediglich einen scharzen Bildschirm mit einem blinkenden Cursor.

Erste Vermutung: Inkompatibler AMD-Treiber

Meine erste Vermutung war ein inkompatibler Treiber. AMD hat es bis heute nicht wirklich geschafft ordentliche Treiber für Linux zu entwickeln.

Jedoch haben in diesem Fall die Logeinträge in den verschiedenen Logdateien für mich korrekt ausgesehen. Bspw /var/log/messages:

21:13:04 localhost kernel: [    2.878521] fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
21:13:04 localhost kernel: [    2.878531] Disabling lock debugging due to kernel taint
21:13:04 localhost kernel: [    2.893788] [fglrx] Maximum main memory to use for locked dma buffers: 7756 MBytes.
21:13:04 localhost kernel: [    2.893911] [fglrx]   vendor: 1002 device: 68b8 count: 1
21:13:04 localhost kernel: [    2.894241] [fglrx] ioport: bar 4, base 0xe000, size: 0x100
21:13:04 localhost kernel: [    2.894476] [fglrx] Kernel PAT support is enabled
21:13:04 localhost kernel: [    2.894491] [fglrx] module loaded - fglrx 8.98.2 [Jun 11 2012] with 1 minors
[..]
21:13:04 localhost kernel: [   10.011294] fglrx_pci 0000:05:00.0: irq 54 for MSI/MSI-X
21:13:04 localhost kernel: [   10.013007] [fglrx] Firegl kernel thread PID: 1951
21:13:04 localhost kernel: [   10.013235] [fglrx] Firegl kernel thread PID: 1952
21:13:04 localhost kernel: [   10.013539] [fglrx] Firegl kernel thread PID: 1953
21:13:04 localhost kernel: [   10.013812] [fglrx] IRQ 54 Enabled
21:13:05 localhost kernel: [   10.117057] [fglrx] Gart USWC size:1280 M.
21:13:05 localhost kernel: [   10.117059] [fglrx] Gart cacheable size:508 M.
21:13:05 localhost kernel: [   10.117063] [fglrx] Reserved FB block: Shared offset:0, size:1000000
21:13:05 localhost kernel: [   10.117065] [fglrx] Reserved FB block: Unshared offset:f8fd000, size:403000
21:13:05 localhost kernel: [   10.117066] [fglrx] Reserved FB block: Unshared offset:3fff4000, size:c000
21:13:05 localhost kernel: [   10.744174] [fglrx] IRQ 54 Disabled
21:13:05 localhost kernel: [   10.744384] [fglrx] APL: APL has not been initialized, unload database fail.

Einzig die letzte Meldung "APL: APL has not been initialized, unload database fail." hat mich etwas stutzig gemacht, jedoch hatte meine Recherche dazu nichts ergeben. Das einzige was ich zu APL gefunden habe ist übrigens Framewave.

Es schien also alles korrekt geladen worden zu sein.

X.Org-Server?

Da der Treiber eindeutig geladen wurde, muss der Fehler wohl beim Laden der grafischen Oberfläche liegen. Auf den ersten Blick sah /var/log/Xorg.0.log auch ziemlich verdächtig aus:

[     9.443] (II) LoadModule: "fglrx"
[     9.443] (II) Loading /usr/lib64/xorg/modules/drivers/fglrx_drv.so
[     9.492] (II) Module fglrx: vendor="FireGL - AMD Technologies Inc."
[     9.492]    compiled for 1.4.99.906, module version = 8.98.2
[     9.492]    Module class: X.Org Video Driver
[     9.492] (II) Loading sub module "fglrxdrm"
[     9.492] (II) LoadModule: "fglrxdrm"
[     9.492] (II) Loading /usr/lib64/xorg/modules/linux/libfglrxdrm.so
[     9.493] (II) Module fglrxdrm: vendor="FireGL - AMD Technologies Inc."
[     9.493]    compiled for 1.4.99.906, module version = 8.98.2
[     9.493] (II) AMD Proprietary Linux Driver Version Identifier:8.98.2
[     9.493] (II) AMD Proprietary Linux Driver Release Identifier: 8.98
[     9.493] (II) AMD Proprietary Linux Driver Build Date: Jun 11 2012 11:57:59
[     9.493] (++) using VT number 7
[     9.495] (WW) Falling back to old probe method for fglrx
[     9.508] (II) Loading PCS database from /etc/ati/amdpcsdb
[     9.509] (--) Assigning device section with no busID to primary device
[     9.509] (--) Chipset Supported AMD Graphics Processor (0x68B8) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:0:0) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:2:0) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:9:0) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:10:0) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:17:0) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:18:0) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:18:2) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:19:0) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:19:2) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:0) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:2) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:3) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:4) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:5) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:21:0) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:22:0) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:22:2) found
[     9.510] (WW) fglrx: No matching Device section for instance (BusID PCI:0@5:0:1) found

Konnte meine Grafikkarte etwa aus irgendeinem Grund vom Treiber nicht gefunden werden? Man muss dazu sagen, dass AMD in der Version 12.6 des Grafikkartentreibers den Support für ältere Grafikkarten (alles unter HD 5400) entfernt hat. Dabei ist meine Grafikkarte dann doch etwas moderner...

Und tatsächlich...die Logeinträge sahen bei genauerer Betrachtung auch normal aus:

[     9.511] (II) AMD Video driver is running on a device belonging to a group targeted for this release
[     9.511] (II) AMD Video driver is signed
[     9.511] (II) fglrx(0): pEnt->device->identifier=0x10898b0
[     9.511] (II) fglrx(0): === [xdl_xs112_atiddxPreInit] === begin
[     9.511] (II) Loading sub module "vgahw"
[     9.511] (II) LoadModule: "vgahw"
[     9.512] (II) Loading /usr/lib64/xorg/modules/libvgahw.so
[     9.512] (II) Module vgahw: vendor="X.Org Foundation"
[     9.512]    compiled for 1.12.2, module version = 0.1.0
[     9.512]    ABI class: X.Org Video Driver, version 12.0
[     9.512] (**) fglrx(0): Depth 24, (--) framebuffer bpp 32
[     9.512] (II) fglrx(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp pixmaps)
[     9.512] (==) fglrx(0): Default visual is TrueColor
[     9.512] (==) fglrx(0): RGB weight 888
[     9.512] (II) fglrx(0): Using 8 bits per RGB
[     9.512] (==) fglrx(0): Buffer Tiling is ON
[     9.513] (II) Loading sub module "fglrxdrm"
[     9.513] (II) LoadModule: "fglrxdrm"
[     9.513] (II) Loading /usr/lib64/xorg/modules/linux/libfglrxdrm.so
[     9.513] (II) Module fglrxdrm: vendor="FireGL - AMD Technologies Inc."
[     9.513]    compiled for 1.4.99.906, module version = 8.98.2
[     9.517] ukiDynamicMajor: found major device number 250
[     9.517] ukiDynamicMajor: found major device number 250
[     9.517] ukiOpenByBusid: Searching for BusID PCI:5:0:0
[     9.517] ukiOpenDevice: node name is /dev/ati/card0
[     9.517] ukiOpenDevice: open result is 12, (OK)
[     9.517] ukiOpenByBusid: ukiOpenMinor returns 12
[     9.517] ukiOpenByBusid: ukiGetBusid reports PCI:5:0:0

evdev? Sonstige Hardware defekt?

Am Ende von /var/log/Xorg.0.log habe ich dann die letzten seltsamen Einträge gefunden:

[    10.424] (II) evdev: Power Button: Close
[    10.424] (II) UnloadModule: "evdev"
[..]
[    10.470] (II) fglrx(0): Shutdown CMMQS
[    10.470] (II) fglrx(0): [uki] removed 1 reserved context for kernel
[    10.470] (II) fglrx(0): [uki] unmapping 8192 bytes of SAREA 0x2000 at 0x7f3004cf7000
[    10.505] (II) fglrx(0): Interrupt handler Shutdown.
[    10.847] Server terminated successfully (0). Closing log file.

Der Server wurde erfolgreich heruntergefahren, weil der Power Button "Close" gedrückt wurde? Löst evdev oder meine Hardware automatisch irgendeine Aktion aus?

Auch nachdem erfolglosen Versuch sämtliche Programme, die damit in Verbindung standen, neu zu kompilieren, blieb der Shutdown.

LightDM? LightDM!!

Kurz bevor ich mit meinem Latein am Ende war und einfach auf neue Versionen der Software warten wollte, habe ich nochmals (was ich definitiv vorher schon gemacht hatte) in das Logfile /var/log/lightdm/lightdm.log meines Displaymanagers LightDM geschaut.

DEBUG: Failed to load session file /usr/share/xgreeters/lightdm-gtk-greeter.desktop: No such file or directory

Hmm...nur eine DEBUG-Meldung, kann ja eigentlich nicht so wichtig sein, schaust aber trotzdem mal nach ob du was dazu findest. Ich bin dann auch relativ schnell bei einem Ubuntu-Bug gelandet:

Turns out there is a missing dependency on lightdm-gtk-greeter Installing that resolves the issue

Eine Abhängigkeit soll fehlen? Hmm...mal gucken was Gentoo so bietet:

emerge --search greeter
Searching...
[ Results for search key : greeter ]
[ Applications found : 2 ]
  x11-misc/lightdm-gtk-greeter
     Latest version available: 1.1.5
     Latest version installed: [ Not Installed ]
     Size of files: 369 kB
     Homepage:      http://launchpad.net/lightdm-gtk-greeter
     Description:   LightDM GTK+ Greeter
     License:       GPL-3 LGPL-3
  x11-misc/lightdm-razorqt-greeter
     Latest version available: 0.4.1.20120524
     Latest version installed: [ Not Installed ]
     Size of files: 5,591 kB
     Homepage:      http://razor-qt.org
     Description:   LightDM greeter for Razor-qt
     License:       GPL-2

Beide nicht installiert. Tja...und nun dürft ihr drei Mal raten was passierte, als ich lightdm-gtk-greeter installierte. Yep, kein schwarzer Bildschirm mehr!!!

Fazit

Lange Rede, kurzer Sinn: Sehen die üblichen Logdateien, wie /var/log/messages oder /var/log/Xorg.0.log bei euch vollkommen in Ordnung aus und der X-Server wird scheinbar direkt nach Start erfolgreich heruntergefahren (Server terminated successfully (0). Closing log file), schaut ganz genau nach, was euer Displaymanager so treibt. In meinem Fall war es LightDM, das den Fehler in einer unscheinbaren Debug-Meldung DEBUG: Failed to load session file /usr/share/xgreeters/lightdm-gtk-greeter.desktop: No such file or directory versteckte.

blogroll
tags