Ubuntu 13.10 install AMD Catalyst 13.12
不解
不知道為什麼,只要碰到顯示卡驅動程式的安裝,我就很容易讓我的機器爆炸,這一定有問題,所以還是趕快把這次成功安裝的過程記錄下來,避免之後又爆了。
安裝驅動有這麼難嗎?很難,因為每次都爆炸XD
平常我也不想去更新的我的顯示卡驅動,但是Chrome
告訴我ATI/AMD cards with older or third-party drivers
,我只是想開啟WebGL
而已,為了能夠用WebGL
還是更新吧。
安裝套件
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install cdbs dh-make dkms execstack dh-modaliases linux-headers-generic libqtgui4
# for x86_64 (64bit)
sudo apt-get install lib32gcc1
下載 AMD Catalyst
mkdir amd-catalyst && cd amd-catalyst
wget --referer='http://support.amd.com/en-us/download/desktop?os=Linux+x86' http://www2.ati.com/drivers/linux/amd-catalyst-13.12-linux-x86.x86_64.zip
unzip amd-catalyst-13.12-linux-x86.x86_64.zip
chmod +x amd-catalyst-13.12-linux-x86.x86_64.run
編譯套件
Patch kcl_acpi.c
./amd-catalyst-13.12-linux-x86.x86_64.run --extract catalyst
cd catalyst
vim common/lib/modules/fglrx/build_mod/kcl_acpi.c
把kcl_acpi.c
第990行以後的
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,3)
if (!ACPI_SUCCESS(acpi_get_table_with_size(id, 0, &hdr, &tbl_size)))
#else
tbl_size = 0x7fffffff;
if (!ACPI_SUCCESS(acpi_get_table(id, 0, &hdr)))
#endif
{
return KCL_ACPI_ERROR;
}
((acpi_table_handler)handler)(hdr);
return KCL_ACPI_OK;
}
換成這個
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,3)
if (!ACPI_SUCCESS(acpi_get_table_with_size(id, 0, &hdr, &tbl_size)))
#else
tbl_size = 0x7fffffff;
if (!ACPI_SUCCESS(acpi_get_table(id, 0, &hdr)))
#endif
{
return KCL_ACPI_ERROR;
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1)
((acpi_tbl_table_handler)handler)(hdr);
#else
((acpi_table_handler)handler)(hdr);
#endif
return KCL_ACPI_OK;
}
開始編譯
sudo ./ati-installer.sh 13.251 --buildpkg Ubuntu/saucy
安裝 .deb 檔
cd ..
sudo dpkg -i fglrx*.deb
設定環境
產生新的 xorg.conf
sudo amdconfig --initial -f
選擇系統驅動程式
# choice /usr/lib/fglrx/ld.so.conf
sudo update-alternatives --config x86_64-linux-gnu_gl_conf
sudo ldconfig
接下來就開心重新開機吧!
sudo reboot
確認是否安裝成功可以用下面的指令做檢查
fglrxinfo
fgl_glxgears
更新失敗
人生中難免會有風險,如果你重新開機後,發現螢幕上有國防布的話,那只好用以下方式修復
sudo cp /etx/X11/xorg.conf.original /etc/X11/xorg.conf
# choice /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf
sudo update-alternatives --config x86_64-linux-gnu_gl_conf
sudo ldconfig
sudo reboot
最後
更新驅動就花了我兩個早上,終於更新成功了,但是Chrome
的WebGL
還是不給開...
這一定有誤會。