Created attachment 118008 [details] xorg.conf snippet with BusID I have APM Mustang (AArch64 (64-bit ARMv8) architecture) on my desk. As it has x8 pcie slot I connected Radeon HD5450 graphics card to it. But to get X11 running I need to have xorg.conf snippet (attached). Digged into xserver source and found why it happens: Configure sets CONFIG_UDEV_KMS variable and then XSERVER_PLATFORM_BUS is set as well. Then we have xf86BusProbe() function in hw/xfree86/common/xf86Bus.c (xserver source file). If XSERVER_PLATFORM_BUS is defined then xf86platformProbe() is called. And then it fails. But if I disable that block then xf86PciProbe() is called and xserver finds PCIe card properly. So let's check why it fails in xf86platformProbe()... xf86platformProbe() calls config_odev_probe(xf86PlatformDeviceProbe) (argument is callback name) xf86PlatformDeviceProbe() goes xf86_num_platform_devices times over xf86_platform_odev_attributes table to find /dev/dri/card0 entry. The problem is that xf86_num_platform_devices == 0 so there is nothing to search for.
Created attachment 118009 [details] [review] xserver patch No idea is it best way to do that but this one worked for me.
Created attachment 118010 [details] Xorg.0.log when it fails to find card
Created attachment 118011 [details] Xorg.0.log when it finds card
Created attachment 118012 [details] lspci output
Created attachment 118013 [details] dmesg
First reported in Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=1256933
Note that the Xserver maintainer does not pull patches from bugzilla but from the xorg-devel mailing list, so to get this patch applied you'll need to send it there for code review, then to keith to be applied with the necessary Reviewed-by tags included. http://wiki.x.org/wiki/Development/Documentation/SubmittingPatches/
Thanks Alan - subscribed to ML and sent patch there.
Fixed in <https://cgit.freedesktop.org/xorg/xserver/commit/?id=ca8d88e50310a0d440a127c22a0a383cc149f408>.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.