需要社区的帮助启用 3D 加速在由开源 Radeon 驱动程序驱动的 AMD/ATI HD6450 显卡上。
了解这张卡取代了 275GTX NVidia 可能会有所帮助,尽管我相信我已经完全清除了之前的 NVidia 安装,目前没有冲突。此外,我最终使用了开源驱动程序,因为当我旋转其中一个显示器时,专有的 AMD 驱动程序开始出现异常,这导致了各种性能问题,尤其是在 Chrome 和 Emacs 上;再说一次,在我旋转显示器之前,它从来没有像开源驱动程序那样轻巧和快速(该xorg
过程显示 CPU 使用率相对较高)。
以下是一些信息:
$ dmesg|grep -E 'drm|radeon'|grep -iE 'firmware|microcode'
[ 16.472902] [drm] Loading CAICOS Microcode
(芯片似乎完全支持的)
$ dmesg|grep -E 'drm|radeon
[ 15.668649] [drm] Initialized drm 1.1.0 20060810
[ 16.471998] [drm] radeon kernel modesetting enabled.
[ 16.472286] [drm] initializing kernel modesetting (CAICOS 0x1002:0x6779 0x174B:0xE206).
[ 16.472309] [drm] register mmio base: 0xFBCC0000
[ 16.472310] [drm] register mmio size: 131072
[ 16.472823] radeon 0000:03:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)
[ 16.472825] radeon 0000:03:00.0: GTT: 1024M 0x0000000040000000 - 0x000000007FFFFFFF
[ 16.472826] [drm] Detected VRAM RAM=1024M, BAR=256M
[ 16.472827] [drm] RAM width 64bits DDR
[ 16.472889] [drm] radeon: 1024M of VRAM memory ready
[ 16.472890] [drm] radeon: 1024M of GTT memory ready.
[ 16.472902] [drm] Loading CAICOS Microcode
[ 16.938529] [drm] GART: num cpu pages 262144, num gpu pages 262144
[ 16.939464] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
[ 16.953910] [drm] PCIE GART of 1024M enabled (table at 0x0000000000273000).
[ 16.954062] radeon 0000:03:00.0: WB enabled
[ 16.954065] radeon 0000:03:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff880312438c00
[ 16.954067] radeon 0000:03:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff880312438c0c
[ 16.955584] radeon 0000:03:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0xffffc900126b2118
[ 16.955586] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 16.955587] [drm] Driver supports precise vblank timestamp query.
[ 16.955597] radeon 0000:03:00.0: radeon: MSI limited to 32-bit
[ 16.955615] radeon 0000:03:00.0: irq 79 for MSI/MSI-X
[ 16.955627] radeon 0000:03:00.0: radeon: using MSI.
[ 16.955665] [drm] radeon: irq initialized.
[ 16.972581] [drm] ring test on 0 succeeded in 2 usecs
[ 16.972596] [drm] ring test on 3 succeeded in 7 usecs
[ 17.158715] [drm] ring test on 5 succeeded in 2 usecs
[ 17.158726] [drm] UVD initialized successfully.
[ 17.158978] [drm] Enabling audio 0 support
[ 17.159048] [drm] ib test on ring 0 succeeded in 0 usecs
[ 17.159106] [drm] ib test on ring 3 succeeded in 0 usecs
[ 17.310380] [drm] ib test on ring 5 succeeded
[ 17.310947] [drm] Radeon Display Connectors
[ 17.310949] [drm] Connector 0:
[ 17.310950] [drm] DP-1
[ 17.310951] [drm] HPD1
[ 17.310952] [drm] DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
[ 17.310953] [drm] Encoders:
[ 17.310954] [drm] DFP1: INTERNAL_UNIPHY1
[ 17.310954] [drm] Connector 1:
[ 17.310955] [drm] HDMI-A-1
[ 17.310956] [drm] HPD2
[ 17.310957] [drm] DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[ 17.310958] [drm] Encoders:
[ 17.310959] [drm] DFP2: INTERNAL_UNIPHY2
[ 17.310959] [drm] Connector 2:
[ 17.310960] [drm] DVI-I-1
[ 17.310961] [drm] HPD4
[ 17.310962] [drm] DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c
[ 17.310963] [drm] Encoders:
[ 17.310964] [drm] DFP3: INTERNAL_UNIPHY
[ 17.310964] [drm] CRT1: INTERNAL_KLDSCP_DAC1
[ 17.311057] [drm] Internal thermal controller without fan control
[ 17.319767] [drm] radeon: dpm initialized
[ 17.457199] [drm] fb mappable at 0xD0474000
[ 17.457200] [drm] vram apper at 0xD0000000
[ 17.457202] [drm] size 8294400
[ 17.457202] [drm] fb depth is 24
[ 17.457203] [drm] pitch is 7680
[ 17.457326] fbcon: radeondrmfb (fb0) is primary device
[ 17.671822] radeon 0000:03:00.0: fb0: radeondrmfb frame buffer device
[ 17.671823] radeon 0000:03:00.0: registered panic notifier
[ 17.671827] [drm] Initialized radeon 2.36.0 20080528 for 0000:03:00.0 on minor 0
有趣的是,我无法发出,update-alternatives --display gl_conf
因为它响应,
update-alternatives: error: no alternatives for gl_conf
(为什么?)
然而,/etc/alternatives$ ls -l *gl_conf
生产,
lrwxrwxrwx 1 root root 39 Apr 24 07:43 i386-linux-gnu_gl_conf -> /usr/lib/i386-linux-gnu/mesa/ld.so.conf
lrwxrwxrwx 1 root root 45 May 1 2013 x86_64-linux-gnu_egl_conf -> /usr/lib/x86_64-linux-gnu/mesa-egl/ld.so.conf
lrwxrwxrwx 1 root root 41 Apr 24 08:08 x86_64-linux-gnu_gl_conf -> /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf
(所有有效的符号链接)
最后,在清除 AMD 专有驱动程序后,我重新安装了 MESA 和 X 服务器包,但我不确定这样做会有多大帮助;命令是:
sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
答案1
事实证明我没仔细查看。在我的 Xorg 日志文件中,我发现了以下条目:
[ 23.735] (II) LoadModule: "glx"
[ 23.762] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/libglx.so
[ 23.822] (EE) Failed to load /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/libglx.so: libnvidia-tls.so.319.60: cannot open shared object file: No such file or directory
[ 23.822] (II) UnloadModule: "glx"
[ 23.822] (II) Unloading glx
[ 23.822] (EE) Failed to load module "glx" (loader failed, 7)
这让我觉得应该更加仔细地查看,因此,我找到了指向的/usr/lib/x86_64-linux-gnu/xorg/extra-modules
符号链接,并在该目录中找到了导致 Xorg 无法加载 GLX 模块的有问题的动态库:extra-modules.dpkg-tmp
/etc/alternatives/x86_64-linux-gnu_xorg_extra_modules/
libglx.so -> libglx.so.319.60
删除符号链接libglx.so
即可。问题解决。