我在设置 AMD 双显卡 Trinity [Radeon HD 7660G] 和 Thames [Radeon HD 7500M/7600M 系列] 时遇到问题。Trinity 运行正常。我无法切换到我的 Thames 显卡,amdcccle 将它们显示为未知显示器。
这是 lspci 的输出
$ lspci | grep -i vga
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7660G]
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Thames [Radeon HD 7500M/7600M Series]
我已经使用以下命令安装了 fglrx。
sudo apt-get install linux-headers-generic
sudo apt-get install fglrx fglrx-amdcccle
sudo amdconfig --adapter=all --initial
这是 fglrxinfo 的输出
$ fglrxinfo
display: :0 screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon HD 7660G
OpenGL version string: 4.3.12798 Compatibility Profile Context 13.35.1005
如果有其他方法可以切换图形或者我需要安装其他东西,请帮助我。
我发现当我重新启动系统时,我的 xorg.conf 文件正在发生变化。
当我跑步的时候
sudo aticonfig --initial -f --adapter=all
文件内容为
$ cat xorg.conf
Section "ServerLayout"
Identifier "aticonfig Layout"
Screen 0 "aticonfig-Screen[0]-0" 0 0
Screen "aticonfig-Screen[1]-0" RightOf "aticonfig-Screen[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 "Monitor"
Identifier "aticonfig-Monitor[1]-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:0:1:0"
EndSection
Section "Device"
Identifier "aticonfig-Device[1]-0"
Driver "fglrx"
BusID "PCI:1: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
Section "Screen"
Identifier "aticonfig-Screen[1]-0"
Device "aticonfig-Device[1]-0"
Monitor "aticonfig-Monitor[1]-0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection`
但当我重启系统后发现并没有什么效果,于是再次检查文件,发现这个内容和之前有所不同。
$ cat xorg.conf
Section "Device"
Identifier "Default Card 0"
BusID "PCI:0@0:1:0"
EndSection
Section "Device"
Identifier "Default Card 1"
BusID "PCI:1@0:0:0"
EndSection
因此内容在重启时会发生变化。该怎么办 :(
答案1
我会检查 xorg.conf 文件中是否有任何内容,如果没有,则使用:
sudo aticonfig --initial -f --adapter=all
它可能对 aticonfig 和 amdconfig 比较挑剔。
重新启动并检查 BIOS 以确保卡已启用。加载时,如果屏幕在加载屏幕上冻结,请按 Alt + Ctrl + F2,登录并输入:
sudo nano /etc/X11/xorg.conf
查看两个 GPU 是否现在都在配置文件中。如果它们仍然不存在,您可以使用以下提供的信息手动将第二个 GPU 放入其中:
lspci | grep -i vga
只需编写或复制并粘贴 xorg.conf 中内容的第二份副本,然后将第二份副本中的详细信息替换为有关其他 GPU 的信息,即 01:00.0 和 Default 1
如果安装不正确并且显示 fglrx 不存在,请转到:
http://wiki.cchtml.com/index.php/Ubuntu_Saucy_Installation_Guide
并确保确实卸载,然后下载所有先决条件,然后再次安装。
https://help.ubuntu.com/community/BinaryDriverHowto/AMD也是一个很棒的资源。我建议将这两个链接加入书签,然后阅读所有内容。
aticonfig --help
也很酷。
小回复框不酷
根据 cchtml 网站,强制使用新的 xorg.conf(如有必要)
有些人发现驱动程序无法使用对 xorg.conf 所做的更改。要强制 ATI 驱动程序采用对 xorg.conf 所做的更改,请使用以下命令:
sudo amdconfig --input=/etc/X11/xorg.conf --tls=1
我以前在 12.04 中用过这个,从 12.04.4 开始,设置专有驱动程序似乎更难了。我设置好了,但很麻烦。我可以使用双 GPU,但必须将 BIOS 设置为默认 GPU,并自动集成。但是,我有一个 APU 和一个 GPU,而不是两个实际的 GPU,所以在 BIOS 中设置可能更难?
答案2
您的问题是由 gpu-manager 上的错误引起的,报告如下:Bug #1310489“xorg.conf 被启动系统覆盖”
有两种可能的解决方法:
a) 编辑 /etc/init/gpu-manager.conf 注释掉一些行,直到看起来像这样:
#start on (starting lightdm
# or starting kdm
# or starting xdm
# or starting lxdm)
task
exec gpu-manager --log /var/log/gpu-manager.log
b)删除 ubuntu-drivers-common 包:
sudo apt-get purge ubuntu-drivers-common
在 a) 或 b) 之后,您应该再次生成 xorg.conf:
sudo aticonfig --initial -f --adapter=all
最后重新启动,xorg.conf 应该不再被覆盖。
解决方案来源:我的 xorg.conf 在重启时被覆盖 - ubuntu 论坛。感谢那边的人们。