0

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 0
EndSection

Section "Module"
EndSection

Section "Monitor"
        Identifier   "aticonfig-Monitor[0]-0"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
EndSection

Section "Device"
        Identifier  "aticonfig-Device[0]-0"
        Driver      "fglrx"
        BusID       "PCI:11:0:0"
EndSection

Section "Screen"
        Identifier "aticonfig-Screen[0]-0"
        Device     "aticonfig-Device[0]-0"
        Monitor    "aticonfig-Monitor[0]-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:

BusID       "PCI:b:0:0"

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?

  • If you didn't do a full reboot after you modified the config, you should probably do that. – TheWanderer Aug 23 '15 at 17:43
  • I did multiple reboots (including sudo reboot and full power off) - no change. It still reports the PCI device 11:0:0 and not the configured b:0:0 device. – masi Aug 23 '15 at 17:48
  • You might want to check the answer here: it's possible that the separate config files that Xorg uses now are overriding something. askubuntu.com/questions/26290/… – TheWanderer Aug 23 '15 at 17:51
  • Thanks for the hint but unfortunately it doesn't help with my config. The authors say xorg.conf has highest priority. I already checked the official Ubuntu documentation on xorg and found it sais the same. /etc/X11/xorg.conf should overwrite anything. Interestingly ukiGetBusid seems to ignore this and use another config that reports PCI:11:0:0 - see Update. – masi Aug 23 '15 at 17:56
  • Have you tried another display manager, like gdm? – TheWanderer Aug 23 '15 at 17:59
-1

Have you tried this:

sudo apt-get install --reinstall unity
sudo dpkg-reconfigure unity
dconf -reset /etc/X11/xorg.conf

and it might work fine this way.

  • This should really be a comment. – TheWanderer Aug 23 '15 at 18:16
  • nope, doesn't help. – masi Aug 23 '15 at 18:31
  • Have you then tried this: sudo apt-get install fglrx && sudo apt-get update && sudo apt-get upgrade – Michael Aug 24 '15 at 12:26

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.