讓我為 廠商說一句話吧
不是這一些廠商不願意寫 driver 給linux 用
而是太麻煩了...而且涉及機密
只要 linux kernel 不一樣, driver 就不能用
有趣的就是這一邊
你安裝了 linux 之後
你可以任意更換 kernel 版本,只要你會安裝 kernel
舉例 ubuntu 11.4 用 kernel 2.6.37 好好了
但是ubuntu會修改過,所以還是有一點不一樣
你去網路上下載 ,
www.kernel.org 下載 2.6.37
本來在 ubuntu 11.4 , kernel 2.6.37 的 driver
跟你在
www.kernel.org 下載 2.6.37 是不能用的
因為會有一點不一樣, linux kernel 檢查很嚴格
driver 就是不能用
所以廠商要出必須要出就要針對那個 linux distribution 來出,
例如
圓剛三頻電視棒-HX(A827)
1. Open SuSE Linux 10.3
2. Mandriva Linux 2008
3. Fedora Core Release 6
4. Fedora Core Release 7
5. Ubuntu 7.10
6. Ubuntu 8.10
7. Ubuntu 9.04
8. Ubuntu 9.10
9. Mandriva Linux 2009
所以圓剛就列出以下支援的 linux dustribution
但是有時候 ubuntu 也會有更新kernel,
如果廠商沒有跟著推出
一但kernel 更新之後, driver 就不能用了
所以很麻煩, user一更新kernel,
driver 就要跟著重新 compiler
你要在哪一個 linux kernel 寫 driver
就必須準備好那個 kernel 的 source code
因為 compiler driver 會要求kernel 的 source code
有時候甚至 code 可能要改
你呼叫的一些 function 名稱會變
或是 參數會變
最好的方法就是
放出 driver source code ,
讓各位高手可以寫出不同 kernel 的 driver
但廠商會這麼做嗎?
driver source code 可是機密啊
因為 linux 太自由了,
windows 就是商業的 , 有限制性的,不公開 source code
更不用提更封閉的 Mac OS ,連自己想換硬體都不行