2.編譯前的準備工作
sudo apt-get install module-assistant build-essential fakeroot dh-make debhelper \
debconf libstdc++5 linux-headers-generic dkms
LANG=C
sudo apt-get update
sudo apt-get install module-assistant build-essential fakeroot dh-make debhelper debconf libstdc++5 linux-headers-$(uname -r)
3.刪除之前的函式庫
sudo rm /usr/lib/libGL.so*
4.編譯deb
首先cd到放置驅動程式的目錄裡
gusty 7.10:
bash *.run --buildpkg Ubuntu/gutsy
Feisty 7.04:
bash *.run --buildpkg Ubuntu/feisty
5.屏蔽fglrx核心模組
如果安裝過linux-restricted-modules,那麼此步必做!
否則可以跳過,不過一般都要做.
sudo gedit /etc/default/linux-restricted-modules-common
將裡面的
DISABLED_MODULES=""
改成
DISABLED_MODULES="fglrx"
6.安裝剛剛編譯好的deb
sudo dpkg -i xorg-driver-fglrx_*.deb fglrx-kernel-source*.deb fglrx-amdcccle*.deb
7.移除舊的fglrx
如果是第一次安裝,會提示找不到該文件的訊息.
別理他,照做就是了..
sudo rm /usr/src/fglrx-kernel*.deb
sudo apt-get -f install
8.編譯內核模組並安裝
sudo module-assistant prepare
sudo module-assistant update
sudo module-assistant build fglrx
cd /usr/src
sudo dpkg -i fglrx-kernel-*.deb
sudo depmod -a
9.配置驅動程式
sudo aticonfig --initial -f
sudo aticonfig --ovt=Xv
跟在/etc/X11/xorg.conf裡手動添加以下兩句是一樣的意思
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
10.把以前xorg.conf裡不支援aiglx的語句修改掉。
sudo gedit /etc/X11/xorg.conf
將裡面的
Section "Extensions"
Option "Composite" "0"
EndSection
Section "ServerFlags"
Option "AIGLX" "off"
EndSection
改成如下
Section "Extensions"
Option "Composite" "1"
EndSection
Section "ServerFlags"
Option "AIGLX" "on"
EndSection
11.按下Ctrl+Alt+Backspace重新啟動X-Window,以確認驅動程式是否安裝好
fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI MOBILITY RADEON X700
OpenGL version string: 2.1.7170 Release
#秀出ATI顯示卡型號及相關資訊才是正確的
glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: ATI MOBILITY RADEON X700
#如果開啟了xgl,那麼這裡一定是No,還有其他的一些訊息
12.開啟3D桌面,讓Compiz Fusion工作
SKIP_CHECKS=yes compiz
#看看將視窗最大最小化時,是否有3D的效果?
如果有,就表示成功囉..
mkdir -p ~/.config/compiz && echo SKIP_CHECKS=yes >> ~/.config/compiz/compiz-manager
#重啟一下看看是不是開機自動開啟了桌面特效,應該這樣就可以了。
如果不行的話,手動點擊桌面特效裡面的選項,把桌面特效給打開。
常見錯誤:
1.如果你碰到2D加速很慢的情況,在/etc/X11/xorg.conf 的 Device section
(就是有fglrx的那段)中添上
Option "XaaNoOffscreenPixmaps"
2.如果沒有3D加速,可嘗試
sudo mkdir /lib/modules/$(uname -r)/volatile
sudo ln -sf /lib/modules/$(uname -r)/misc/fglrx.ko /lib/modules/$(uname-r)/volatile/fglrx.ko
3.如果說/usr/X11R6/lib/modules/dri/fglrx_dri.so缺失,則執行
sudo ln -s /usr/lib/ /usr/X11R6/lib/modules
4.如果執行fglrxinfo出現 libGL.so.1: cannot open shared object file,則
sudo ln /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1
5.如果還有其他問題,比如nforce3的晶片(主要是asus的K8N),
說你仍然運行於mesa,無3D加速,可以看這裡:
http://wiki.cchtml.com/index.php/Troubleshooting
參考資料:
http://forum.ubuntu.org.cn/viewtopic.php?t=26188
http://wiki.cchtml.com/index.php/Ubuntu_Gutsy_Installation_Guide
安裝時遇到的狀況:
1.全部完成重開機後,/etc/X11/xorg.conf 裡會多出一行敘述!
Section "Extensions"
Option "Composite" "1"
Option "Composite" "0" #多餘的,請刪除..
EndSection
2.第一次安裝失敗重新安裝,在安裝編譯好的deb時出現錯誤
正在設定 fglrx-kernel-source (8.443.1-1) ...
Adding Module to DKMS build system
Error! DKMS tree already contains: fglrx-8.443.1
You cannot add the same module/version combo more than once.
Doing initial module build
Error! This module/version has already been built on: 2.6.22-14-generic
Directory: /var/lib/dkms/fglrx/8.443.1/2.6.22-14-generic/i686
already exists. Use the dkms remove function before trying to build again.
Installing initial module
Error! This module/version combo is already installed
for kernel: 2.6.22-14-generic (i686)
Done.
#由於找不到dkms的相關說明,一值無法解決這個問題,只好還原系統重新安裝.
2.一樣是在安裝編譯好的deb時出現錯誤!
正在設定 fglrx-amdcccle (8.443.1-1) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
/sbin/ldconfig.real: /usr/lib/libGL.so.1.2 is not a symbolic link
/sbin/ldconfig.real: /usr/lib/libGL.so.1 is not a symbolic link
#參考ATI wiki上的步驟,在編譯前先將原來的函式庫刪除就OK了!
Reference link: