I created a /etc/X11/xorg.conf using
aticonfig --initial which looks like this:
Section "ServerLayout" Identifier "aticonfig Layout" Screen 0 "aticonfig-Screen-0" 0 0 EndSection Section "Module" EndSection Section "Monitor" Identifier "aticonfig-Monitor-0" Option "VendorName" "ATI Proprietary Driver" Option "ModelName" "Generic Autodetecting Monitor" Option "DPMS" "true" EndSection Section "Device" Identifier "aticonfig-Device-0" Driver "fglrx" BusID "PCI:11:0:0" EndSection Section "Screen" Identifier "aticonfig-Screen-0" Device "aticonfig-Device-0" Monitor "aticonfig-Monitor-0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 EndSubSection EndSection
When I tried starting lightdm it crashs. Looking at /var/log/lightdm/x-0.log it tells me that it's unable to find the PCI device:
fglrx: No matching Device section for instance (BusID PCI:0@11:0:0)
So I looked up the PCI devices using
lspci and found that 11:0:0 in fact is not the GPU but a PCI brdige device:
... 00:11.0 PCI bridge: VMware PCI bridge (rev 02) ... 0b:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT [Radeon R9 290X]
Seems like ATI's tools are not able to configure GPUs behind PCI bridge devices. So, no big deal, just fix the PCI BusID to match the actual GPU BusID, right? So I changed the line in the xorg.conf to:
And tried restarting lightdm using
sudo service lightdm restart. Guess what? SAME error! It again tells me, that it's unable to find PCI device 11:0:0 even thought the xorg.conf tells it to use device b:0:0! I can tell it's using the xorg.conf from /ext/X11/xorg.conf because the log sais so:
(==) Using config file: "/etc/X11/xorg.conf" (==) Using system config directory "/usr/share/X11/xorg.conf.d" (WW) fglrx: No matching Device section for instance (BusID PCI:0@11:0:0) found
So next guess was that eventually that bridge is making the trouble, so I used a PCI BusID that is NOT attached to the bridge just to see if the log output changes - of course it doesn't.
So: has anyone an idea why my configuration in /etc/X11/xorg.conf seems to be compleatly ignored but the log still reports to use it? Where do I find the xorg.conf that is actually used so I can fix the wrong PCI BusID?
Update: /var/log/Xorg.0.log reports interesting stuff:
[ 11.894] (II) AMD Proprietary Linux Driver Build Date: Feb 27 2015 03:27:32 [ 11.894] (WW) Falling back to old probe method for fglrx [ 11.918] (II) Loading PCS database from /etc/ati/amdpcsdb /etc/ati/amdpcsdb.default [ 11.920] ukiDynamicMajor: found major device number 251 [ 11.920] ukiOpenByBusid: Searching for BusID PCI:b:0:0 [ 11.920] ukiOpenDevice: node name is /dev/ati/card0 [ 11.920] ukiOpenDevice: open result is 9, (OK) [ 12.165] ukiOpenDevice: open result is 9, (OK) [ 12.165] ukiOpenByBusid: ukiOpenMinor returns 9 [ 12.165] ukiOpenByBusid: ukiGetBusid reports PCI:11:0:0 [ 12.166] ukiOpenDevice: node name is /dev/ati/card1 [ 12.166] ukiOpenDevice: open result is -1, (No such device) [ 12.166] ukiOpenDevice: open result is -1, (No such device) [ 12.166] ukiOpenDevice: Open failed ... [ 12.169] (WW) fglrx: No matching Device section for instance (BusID PCI:0@11:0:0) found
Seems like it's searching for b:0:0 and successfully finds it. Then for some reason it just searched all PCI devices and also finds that - amongst others - 11:0:0 is not a valid GPU - BUT fglrx still tries to use it.
Update Switching to gdm doesn't help. Now even the login screen stays black. However, after switching to gdm I get some more meaningful output from Xorg.0.log:
[ 28.219] ukiOpenByBusid: Searching for BusID PCI:11:0:0 [ 28.219] ukiOpenDevice: node name is /dev/ati/card0 [ 28.219] ukiOpenDevice: open result is 9, (OK) [ 28.219] ukiOpenByBusid: ukiOpenMinor returns 9 [ 28.219] ukiOpenByBusid: ukiGetBusid reports PCI:11:0:0 [ 28.224] (--) Chipset Supported AMD Graphics Processor (0x67B0) found [ 28.224] (WW) fglrx: No matching Device section for instance (BusID PCI:0@11:0:1) found ... [ 28.235] (EE) fglrx(0): DAL initialization failed! [ 28.235] (EE) fglrx(0): Display Infrastructure Failed [ 28.235] (EE) fglrx(0): PreInit failed ... 28.244] (EE) Screen(s) found, but none have a usable configuration. [ 28.244] (EE) Fatal server error: [ 28.244] (EE) no screens found(EE)
Seems like the xorg.conf produced by aticonfig --initial doesn't work? Any ideas?