xorg.conf 被忽略

xorg.conf 被忽略

我创建了一个/etc/X11/xorg.conf使用aticonfig --initial如下所示:

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

当我尝试启动 lig​​htdm 时,它崩溃了。查看 /var/log/lightdm/x-0.log,它告诉我无法找到 PCI 设备:

fglrx: 没有匹配的设备部分(BusID PCI:0@11:0:0)

因此我查找了所使用的 PCI 设备lspci,发现 11:0:0 实际上不是 GPU,而是 PCI 桥接设备:

...
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]

似乎 ATI 的工具无法配置 PCI 桥接设备后面的 GPU。所以,没什么大不了的,只需修复 PCI BusID 以匹配实际的 GPU BusID,对吗?所以我将 xorg.conf 中的行更改为:

BusID       "PCI:b:0:0"

然后尝试使用 重启 lightdm sudo service lightdm restart。猜猜怎么了?同样的错误!它再次告诉我,这是无法找到 PCI 设备 11:0:0 即使 xorg.conf 告诉它使用设备 b:0:0!我可以说它正在使用 /ext/X11/xorg.conf 中的 xorg.conf,因为日志是这样的:

(==) 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

所以下一个猜测是,最终那个桥接器造成了麻烦,所以我使用了未连接到桥接器的 PCI BusID,只是为了看看日志输出是否发生变化——当然没有。

那么:有谁知道为什么我的 /etc/X11/xorg.conf 中的配置似乎被完全忽略了,但日志仍然报告使用它?我在哪里可以找到实际使用的 xorg.conf,以便我可以修复错误的 PCI BusID?

更新: /var/log/Xorg.0.log 报告了一些有趣的内容:

[    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

似乎它正在搜索 b:0:0 并成功找到它。然后出于某种原因,它搜索了所有 PCI 设备,还发现 - 其中包括 - 11:0:0 不是有效的 GPU - 但 fglrx 仍尝试使用它。

更新 切换到 gdm 也无济于事。现在甚至登录屏幕都保持黑色。但是,切换到 gdm 后,我从 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)

似乎 aticonfig --initial 生成的 xorg.conf 不起作用?有什么想法吗?

答案1

您是否尝试过这个:

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

这样也许能很好地发挥作用。

相关内容