笔者手贱,由于自带驱动支持的不是太好,于是在附加驱动里激活了fglrx , (如果你手比我还贱,或许激活了post update版的悲催驱动),重启后发现性能还没有开源驱动好,而且最基本的桌面3D效果也没法支持,导致gnome-shell无法体验。卸载附加驱动后,开源驱动也支持不了桌面3D了(最后解决问题时发现是由于某个软件包没有安装,后面说明)。
于是想到了升级开源驱动,这里有两个PPA可供我们升级,一个是 Xorg-edgers。读者可以去PPA主页察看,两个PPA驱动的更新都是比较频繁的。These are already compiled packages using the latest snapshot from git (so they are rather current); 一个是 Oibaf, This is another ppa based on the xorg-edgers one. The main differences are that it only provides drivers for certain devices (ATI, Intel, and Nvidia), it has several performance tweaks compared to the more "vanilla" drivers in the xorg-edgers ppa (manly for the radeon driver), and that mesa isn't updated that frequently. In my experience they work a bit better as far as rendering bugs are concerned.
笔者先尝试更新到Xorg-edgers 的驱动,但是更新后仍然没有解决问题,OpenGL渲染变成了 software rasterizer 。不过这可能只是我的个案,为了保持教程完整,笔者将使用 Xorg-edgers 驱动的方法列出在下面:
A 使用Xorg-edgers的最新开源驱动
1.卸载闭源驱动:
在附加组件里移除闭源驱动,之后执行下面的命令确保完全卸载:
代码: 全选
sudo sh /usr/share/ati/fglrx-uninstall.sh
sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*
sudo apt-get remove --purge xorg-driver-fglrx xserver-xorg-video-ati xserver-xorg-video-radeon
sudo apt-get install xserver-xorg-video-ati
sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
sudo rm -rf /etc/ati
代码: 全选
sudo add-apt-repository ppa:xorg-edgers/ppa
代码: 全选
sudo apt-get update
5.检查驱动
重启后,打开终端,输入
代码: 全选
glxinfo | grep "renderer string"
OpenGL renderer string: Gallium 0.4 on AMD RS880
假如你的显示的是software rasterizer,那么你和我一样,你可以察看 /var/log/Xorg.0.log 日志,找到问题原因。或者和我一样,尝试下一个PPA。
代码: 全选
glxinfo | grep direct -i
6.安装遗漏的软件包:
如果OpenGL renderer string显示正常但是无法启用桌面3D效果,那么你可能有一个软件包没有安装,执行如下命令即可:
代码: 全选
sudo apt-get install xserver-xorg-video-ati
7.如果要降级显卡驱动并删除Xorg-edgers的PPA,,运行如下命令:
代码: 全选
sudo apt-get install ppa-purge
代码: 全选
sudo ppa-purge xorg-edgers
B 使用Oibaf ppa的最新优化开源驱动
笔者使用Oibaf的驱动解决了3D渲染的问题。贴出更新方法如下:
1.删除闭源驱动和其他驱动:
参考A1 和 A6 项把之前安装过的驱动删除掉,使用系统默认开源驱动。
2.添加PPA:
代码: 全选
sudo add-apt-repository ppa:oibaf/graphics-drivers
代码: 全选
sudo apt-get update
5.检查驱动
重启后,打开终端,输入
代码: 全选
glxinfo | grep "renderer string"
OpenGL renderer string: Gallium 0.4 on AMD RS880
代码: 全选
glxinfo | grep direct -i

6.安装遗漏的软件包:
如果OpenGL renderer string显示正常但是无法启用桌面3D效果,那么你可能有一个软件包没有安装,执行如下命令即可:
代码: 全选
sudo apt-get install xserver-xorg-video-ati
7.如果要降级显卡驱动并删除Oibaf的PPA,,运行如下命令:
代码: 全选
sudo apt-get install ppa-purge
代码: 全选
sudo ppa-purge ppa:oibaf/graphics-drivers
其他
1) I recommend you start your own xorg.conf file. This is mainly to ease manipulation of the driver and for troubleshooting. Check my guide on how to install the open source driver for details. Do this *before* updating your drivers.
2) Always check the driver wiki (linked to below) so you know what your driver supports. Since you will be using bleeding edge code, new features may be available for your card.
链接:
xorg-edgershttps://launchpad.net/~xorg-edgers/+archive/ppa
Updated and optimized graphics drivers ppahttps://launchpad.net/~oibaf/+archive/graphics-drivers/
Radeon wikihttp://www.x.org/wiki/radeon
Radeon Feature Matrixhttp://www.x.org/wiki/RadeonFeature
Radeon Program Matrixhttp://www.x.org/wiki/RadeonProgram
C 笔者尚未解决的问题:
察看 /var/log/Xorg.0.log 日志后笔者发现,虽然已经卸载了ATI闭源驱动fglrx,可是系统启动时仍然会尝试加载fglrx模块,笔者很是不解,虽然不会对显示产生任何影响,但笔者也是个有一点点洁癖的人,如果有人能解决此问题,请留言告知,谢谢!
[ 14.846] (II) LoadModule: "fglrx"
[ 14.847] (WW) Warning, couldn't open module fglrx
[ 14.847] (II) UnloadModule: "fglrx"
[ 14.847] (II) Unloading fglrx
[ 14.847] (EE) Failed to load module "fglrx" (module does not exist, 0)
另外,更新完开源驱动后,gnome-shell 与 LibreOffice 的冲突仍然没有解决,一旦在LiebreOffice中翻页就会导致gnome-shell 崩溃。难道这个问题无解了吗?