最簡易的方式就是安裝XBMC這個Media Center,ubuntu10.04可以直接透過apt-cache search xbmc搜尋到,但是不確定是否是支援Crystalhd的版本。這次目標是Fedora12!
1. 準備會用到的環境
參考 這裡 來安裝XBMC所需的lib以及package。
~$ yum install automake libtool autoconf gstreamer-plugins-base-devel gstreamer-devel kernel-devel (這是CrystalHD會用到的packages)
2. 安裝Broadcom CrystalHD Driver
~$ cd driver/linux
~$ chmod +x bcm_70012_dev.sh
~$ chmod +x bcm_70012_run.sh
~$ autoconf
~$ ./configure
modify crystalhd_lnx.h line 92
inline struct device *chddev(void);
~$ cd ../../linux_lib/libcrystalhd
~$ make ; make install
~$ cd ../../filters/gst/gst-plugin/
~$ ./autogen.sh
~$ make ;
make install
~$ cd ../../../firmware/fwbin/
~$ cp 70012/* 70015/* /lib/firmware/
3. 安裝 XBMC
~$ cd XBMC/
~$ sudo ln -s /usr/lib/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so
~$ ./bootstrap
~$ ./configure
~$ make
~$ make install
4. 假如selinux有開啟的話,執行下面指令來enable xbmc *.so
~$ chcon -t texrel_shlib_t /usr/local/lib/xbmc/system/players/dvdplayer/avutil-50-i486-linux.so
~$ chcon -t texrel_shlib_t /usr/local/lib/xbmc/system/players/dvdplayer/avcodec-52-i486-linux.so
~$ chcon -t texrel_shlib_t /usr/local/lib/xbmc/system/players/dvdplayer/avformat-52-i486-linux.so
~$ chcon -t texrel_shlib_t /usr/local/lib/xbmc/system/players/dvdplayer/swscale-0.6.1-i486-linux.so
這時候就可以開啟xbmc以及看到xbmc -> system -> video -> playback 下有 Allow hardware acceleration (CrystalHD)這個選項了。但是不幸的是,選了CrystalHD也沒作用...
原來是kernel本身有一個driver crystalhd在 drivers/staging/crystalhd下,而新的crystalhd.ko是安裝到drivers/video/broadcom/下。
而load modules的順序,會是staging/crystalhd/crystalhd.ko會先被load進去。所以只要將新的crystalhd.ko 蓋掉drivers/staging/crystalhd/crystalhd.ko即可。
~$ cd ../../../firmware/fwbin/
~$ cp 70012/* 70015/* /lib/firmware/
3. 安裝 XBMC
~$ cd XBMC/
~$ sudo ln -s /usr/lib/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so
~$ ./bootstrap
~$ ./configure
~$ make
~$ make install
4. 假如selinux有開啟的話,執行下面指令來enable xbmc *.so
~$ chcon -t texrel_shlib_t /usr/local/lib/xbmc/system/players/dvdplayer/avutil-50-i486-linux.so
~$ chcon -t texrel_shlib_t /usr/local/lib/xbmc/system/players/dvdplayer/avcodec-52-i486-linux.so
~$ chcon -t texrel_shlib_t /usr/local/lib/xbmc/system/players/dvdplayer/avformat-52-i486-linux.so
~$ chcon -t texrel_shlib_t /usr/local/lib/xbmc/system/players/dvdplayer/swscale-0.6.1-i486-linux.so
這時候就可以開啟xbmc以及看到xbmc -> system -> video -> playback 下有 Allow hardware acceleration (CrystalHD)這個選項了。但是不幸的是,選了CrystalHD也沒作用...
原來是kernel本身有一個driver crystalhd在 drivers/staging/crystalhd下,而新的crystalhd.ko是安裝到drivers/video/broadcom/下。
而load modules的順序,會是staging/crystalhd/crystalhd.ko會先被load進去。所以只要將新的crystalhd.ko 蓋掉drivers/staging/crystalhd/crystalhd.ko即可。
************************** XBMC on ubuntu 9.04 ***************************
也需要source code重新編譯,因為ubuntu與fedora filesystem安裝的東西相差蠻多的,所以在此記錄
1. 取得xbmc repository
~$ sudo vi /etc/apt/sources.list
add two lines
deb http://ppa.launchpad.net/team-xbmc/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/team-xbmc/ppa/ubuntu jaunty main
~$ sudo apt-get update (Get Key 91E7EE5E)
~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 91E7EE5E
~$ sudo apt-get update (Get xbmc repository)
~$ cat README.ubuntu
~$ cat README.linux