Xgl 是一個X server,他藉由OpenGL技術充分發揮了新一代顯示卡優異的3D立體畫面表現能力;從「架構」的角度來看,XGL透過了glitz位在OpenGL的上層。XGL利用了聚合視窗管理器的幫助(像是CompizBeryl)對所有使用X、OpenGL和XVideo所製作的應用和圖形效果提供了硬件加速的支援,所以能表現出包含調整視窗透明度、可旋轉的3D桌面、果凍效果等等令人嘆為觀止的立體特效。這個計劃最初由David Reveman發起,並在2006年1月2日的時候第一次釋出(release)。

Xgl
Compiz執行於 Xgl 的透明窗口效果
Compiz執行於 Xgl 的透明窗口效果
原作者David Reveman
首次發佈2006年1月2日,​18年前​(2006-01-02
類型Display server
許可協定 編輯維基數據連結
網站web.archive.org/web/20070605230047/http://www.freedesktop.org/wiki/Software/Xgl

歷史

編輯

2005年,XGL的很多工作基於實作的理由[1],先以閉門造車的方式完成。然後在2006年1月2日,開放原始碼[2][3],而後針對許多顯示卡驅動加以改造,歸入了freedesktop.org。X伺服器的後端可採用Xglx以及Xegl。2006年2月起,Novell桌面小組作了一次eye-candy特效展示,包括透明的窗口、可旋轉的3D桌面[4][5][6],從而使該專案聲名遠揚。eye-candy特效最初在一個稱為glxcompmgr的複合管理器中實現,但幾個特效由於缺乏視窗管理員與複合管理器的整合,而無法有效實現。取而代之的是由David Revenman開發的Compiz,這是第一個使用OpenGL來表現的複合視窗管理員(compositing window manager)。[7]

後端

編輯

OpenGL並未規範如何去啟始顯示和處理繪圖的細節。取而代之的是規範了一個特殊的中介API去驅動底層作業系統的繪圖系統呼叫。到目前為止,有兩種不同的後端(backend)途徑去解決這些初始化的問題。最有可能的是大多數各個後端將會包含相同的程式碼以及不同的差異將會首先在servers初始化部份上。

Xglx是第一個針對這架構的後端實作。它也是目前發展上的焦點核心。其運作的原理就是在已經存在的X server上用GLX開一個OpenGL視窗,xgl再來使用這個OpenGL視窗,這樣的概念類似於Xnest。在未來,這種運作模式將只會提供專業的開發者使用,畢竟它存在着一個看似多餘的X server機制。在2006年XDev會議(XDevConf)上面,NVidia這家公司明白的表示這樣的發展的方向是一個錯誤的方向,因為這讓XGL的後端竟然只是一個次級的OpenGL視窗(layared server)而不是一個獨立的個體(like X server),這將使得許多顯示卡的特效受限於最前端的X server而無法呈現。!(像是3D立體的glasses)[8] 儘管如此,卻不能否認這樣的一個設計方法,是將整個後端 "原型機" "全部實做出來" 的方法中,最快速而簡單的一招。這樣的作法可以讓開發者省略掉開發一些已經存在於前置X server上的項目,把精力集中在實做Xgl獨特架構的本體上面。

Xegl被認為[誰?]是Xgl的未來,X Server開發過程的長期日標。[9] 它和Xglx Server分享部分繪畫代碼,但是OpenGL可繪畫的初始化和上下文管理則是由EGL API管理,EGL由Khronos開發(EGL是窗口系統無關的,相當於GLX和WGL,GLX用於在X Window系統上支援OpenGL,WGL用於微軟Windows)。當前的實現是使用Mesa 3D提供直接的OpenGL彩現到幀快取或通過DRI到圖形硬件。2007年7月時Xegl只能執行在使用ATi Radeon R200顯示卡的系統上,當前開發已經暫停了。[10] 它將會被保留直到Xglx Server證明自己可行,並且閉源的驅動支援EGL API,這時它才是一個顯而易見的Xglx Server的替代品。

Xegl貌似已經失敗。

競爭者

編輯

對於另一競爭者微軟公司而言,他們也在自家的Windows作業系統上提供了相似功能的解決方案:視窗桌面管理器DWM。有別於Xgl所採用的OpenGL技術,這套採用微軟自家DirectX技術的DWM已經在新一代的視窗作業系統Windows Vista中問世。

爭議

編輯

Xgl在技術上為了要較好的實現OpenGL效能,需要用到目前一些3D顯示卡的特性。但目前對於ATI和NVIDIA顯示卡最新型號,只能以二進之代碼包的形式得到這些內核模組(無法得到原始碼)。目前這種情況變成了一個僵局,因為顯示卡製造商已經聲明不會支援完全開放原始碼,他們認為這會暴露他們硬件上的商業秘密。不過Intel公司從Intel965晶片組開始,公佈其驅動程式的原始碼[11]。這將是Linux硬件影片驅動發展上的一個里程碑。之後ATI也不斷發布了新老版本顯示卡的技術文件,把較老版本顯示卡驅動的維護間接轉移給開源社區。

可得性

編輯

2006年5月,Xgl含其附屬元件(像是聚合視窗管理員 Compiz 和組態設置工具等等)成為了SUSE 10 這個Linux發行版中的非預設安裝項目,也以套件的形式成為Frugalware LinuxSUSE Linux Enterprise Desktop 10的一部份。在Ubuntu 6.06 (Dapper)和 Freespire上,Xgl更可以以最簡單的二進位程式碼來安裝。在Gentoo Linux上面Xgl也可以以 overlayed package的形式取得。Arch Linux的用戶也可以透過PKGBUILD來取得Xgl。

Mandriva Linux 2007內含由官方發行的由Xgl和AIGLX搭配Compiz所組成的package 套件。另外Mandriva也提供了drak3d工具,讓用戶能愉快的使用兩鍵式滑鼠來搞定3D立體桌面的全部設置。

延伸閱讀

編輯

參考資料

編輯
  1. ^ 存档副本. [2006-03-08]. (原始內容存檔於2006-03-08). 
  2. ^ 存档副本. [2006-03-14]. (原始內容存檔於2006-04-21). 
  3. ^ 存档副本. [2006-03-14]. (原始內容存檔於2006-03-05). 
  4. ^ 存档副本. [2006-03-14]. (原始內容存檔於2008-08-30). 
  5. ^ 存档副本. [2006-02-14]. (原始內容存檔於2012-06-29). 
  6. ^ 存档副本. [2006-03-14]. (原始內容存檔於2006-04-04). 
  7. ^ 存档副本. [2006-03-14]. (原始內容存檔於2012-02-16). 
  8. ^ 存档副本 (PDF). [2006-03-14]. (原始內容 (PDF)存檔於2021-03-08). 
  9. ^ 存档副本. [2010-09-06]. (原始內容存檔於2011-08-23). 
  10. ^ 存档副本. [2022-05-19]. (原始內容存檔於2021-02-27). 
  11. ^ 存档副本. [2006-10-18]. (原始內容存檔於2012-12-25). 

外部連結

編輯

安裝和使用說明、討論區、尋求支援

編輯

免安裝直接開機使用光碟

編輯
  • Kororaa Linux頁面存檔備份,存於互聯網檔案館) 這套含有 XGL 功能的 LINUX作業系統可以被直接安置在光碟裏面,您可以使用光碟片開機體驗華麗的 XGL 功能而不會更動到任何的硬碟資訊。然而值得住意的是:由於 ATI 和 NVidia 的驅動程式和 GPL 版權規範有所不相容,所以新版的 Kororaa Linux Live CD 將不支援這兩家公司的顯示卡,直到有符合GPL版權宣告的新版驅動程式出現為止。
  • Mandriva 在其最新版的 Live CD中支援XGL功能。
  • Sabayon Linux頁面存檔備份,存於互聯網檔案館) 是一個支援 XGL 和 AIGLX 的 Live CD。 然而和 Kororaa Linux頁面存檔備份,存於互聯網檔案館) 不同的是它支援了 ATI 和 NVidia 的顯示卡。另外它也可以被安裝在硬碟上面。

桌面貼圖、快照、screencast及範例影片

編輯