2006年11月24日 星期五

它們到底有什麼不同

雖然說自己也有偷玩一陣子Xgl也裝了compiz,可是後來新出的一堆什麼beryl和AIGLX就搞不清楚這其中有什麼差別了。一開始因為偷懶就不想看英文資料,結果中文資料看到的東西大部份是How-to,怎麼在什麼什麼電腦裝上這個那個之類的。後來跑去wiki看了一下,才確實知道它們的不同。
先講XglAIGLX好了,這裡的X都是在講x-window(請注意,窗戶只有一扇),圖形化的視窗軟體,詳細可以看wiki的解釋。GL就是在講OpenGL(英),這兩個計畫都是使用OpenGL加速叉窗戶(xGL是藉由OpenGL技術發輝效能的x server,AIGLX是Accelerated Indirect GLX )。

兩者主要的不同是在於規格的開放。為了使得顯示卡的效能發揮到最大狀態,和顯示卡製造商配合是不可避免的事。但顯示卡製造商基於商業利益,並不願意公開軟體的原始碼(寫過程式的人就知道原始碼給別人的話,別人就要幹什麼都可以了),因此Xgl使用了一些製造商提供編譯好的二進位檔。而這和OpenSource社群的哲學不同。

而AIGLX就是因應Xgl的不開放所生的計畫,我不是技術人員,不清楚計畫詳細的細節,不了解為什麼AIGLX可以繞掉使用製造商的部份又可以達到加速的效果。從Fedora的wiki(英)看起來是他們和社群合作的結果。

雖然它們有相同的目的,但根據wiki的講法(英),它們之間不是競爭者的關係,而且互相扶持的夥伴關係。不過我有點不了解,如果AIGLX計畫是成功的,那我們有什麼必要使用不開放原始碼的xGL呢?

再來講compizberyl,compiz和beryl都是Compositing window manager的一種(視窗經理的觀念可以看這裡,compositing的話可以看這邊(英),反正compositing大概是在講視窗的繪圖放大縮小和動畫之類的工作)。它們都有很炫的特效。

compiz是beryl的主家,其實講到這裡我有點詞窮,因為除了是有炫麗特效的視窗經理以外我真的不知道怎麼介紹,我覺得看一段影片(這個連結是youtube上搜尋compiz出來的結果,直接就是影片連結的話可以看這個,不過我不知道連結會不會失效)會乾脆的多。

而beryl當然就是compiz的分支了。因為compiz不接受beryl的團隊Quinnstorm所提交的東西,所以後來beryl乾脆自己獨立出來另成立一個計畫。它們之間的差別在於beryl不再有gnome的相依性,window decorator(裝飾window的傢伙)也不一樣。compiz的是cgwd,beryl用的是emerald。然後beryl有許多compiz沒有的特效。詳細的不同可以參閱beryl的FAQ。也可以看看youtube上關於beryl的特效。(一樣,前面那個是搜尋的結果,這邊就是一段影片了,只是不知道連結什麼時候會失效)

大概就是這樣了。順道一提的是除了window manager以外,還有一個類似的詞叫desktop。它們的不同點是在於desktop強調的是整合好的工作環境,而window manager往往就是單純在管理視窗。desktop除了window manager以外還會包一些東西進去。會有這兩種名詞是因為在Open Source社群裡面視窗軟體有很多種選澤,而不是像在微軟OS裡面就只有一種視窗軟體。可以選擇已經包得很完整的desktop諸如gnome或是KDE之類的,也可以像拼積木那樣從window manager拼起來。

那我的選擇呢?因為我上次在ubuntu下用compiz/XGL久了覺得有點噁心(不是不適,是覺得特效太多了),所以後來我換回xubuntu,改用Xfce。暫時不要趕流行,等休息一下做好心理準備再上場,哈。

對這些事沒興趣的,可是都已經看到這裡的人,還是建議去youtube上面看一下影片,炫麗一下,以後vista應該也會變那樣唷。

beryl影片
compiz影片

沒有留言:

張貼留言