Xgl
Xgl 是一個X server,他藉由OpenGL技術充分發揮了新一代顯示卡優異的3D立體畫面表現能力;從「架構」的角度來看,XGL透過了glitz位在OpenGL的上層。XGL利用了聚合視窗管理器的幫助(像是Compiz 或 Beryl)對所有使用X、OpenGL和XVideo所製作的應用和圖形效果提供了硬件加速的支援,所以能表現出包含調整視窗透明度、可旋轉的3D桌面、果凍效果等等令人嘆為觀止的立體特效。這個計劃最初由David Reveman發起,並在2006年1月2日的時候第一次釋出(release)。
原作者 | David Reveman |
---|---|
首次發佈 | 2006年1月2日 |
類型 | Display server |
許可協定 | |
網站 | web |
歷史
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
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
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 Linux和SUSE 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立體桌面的全部設置。
延伸閱讀
參考資料
- ^ 存档副本. [2006-03-08]. (原始內容存檔於2006-03-08).
- ^ 存档副本. [2006-03-14]. (原始內容存檔於2006-04-21).
- ^ 存档副本. [2006-03-14]. (原始內容存檔於2006-03-05).
- ^ 存档副本. [2006-03-14]. (原始內容存檔於2008-08-30).
- ^ 存档副本. [2006-02-14]. (原始內容存檔於2012-06-29).
- ^ 存档副本. [2006-03-14]. (原始內容存檔於2006-04-04).
- ^ 存档副本. [2006-03-14]. (原始內容存檔於2012-02-16).
- ^ 存档副本 (PDF). [2006-03-14]. (原始內容 (PDF)存檔於2021-03-08).
- ^ 存档副本. [2010-09-06]. (原始內容存檔於2011-08-23).
- ^ 存档副本. [2022-05-19]. (原始內容存檔於2021-02-27).
- ^ 存档副本. [2006-10-18]. (原始內容存檔於2012-12-25).
外部連結
- Xgl
- Xegl
- Announcement of Xgl on the xorg mailing list (頁面存檔備份,存於互聯網檔案館)
- Accelerated X flame wars!—Maybe not 一篇說明 AIGLX 和 Xgl 有什麼差別的文章。
安裝和使用說明、討論區、尋求支援
- openSUSE wiki for Xgl Archive.is的存檔,存檔日期2006-04-04
- openSUSE wiki for compiz[永久失效連結]
- German XGL/Compiz-Support
- 查詢支援XGL的顯示晶片,以及推薦的顯示晶片
- Xgl on Ubuntu 6.06 How-To.
- Xgl on Gentoo How-To
- 如何安裝和使用 Xgl: Novell (頁面存檔備份,存於互聯網檔案館),Ubuntu (頁面存檔備份,存於互聯網檔案館),Debian Etch (頁面存檔備份,存於互聯網檔案館),Gentoo Linux,Fedora Core,Arch Linux,Mandriva Linux[永久失效連結],Frugalware Linux。
免安裝直接開機使用光碟
- 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及範例影片
- Novell 的 Xgl 展示(包含了影片和快照)
- Novell Open Audio podcast Xgl with David Reveman - 7 April 2006,discusses the basics and future of Xgl and Compiz
- Videos of Xgl on SUSE Linux Enterprise Desktop 10
- Slides, screenshots and a video with more effects
- EGL specifications
- Article: The State of Linux Graphics (頁面存檔備份,存於互聯網檔案館) - overview of various approaches to replace the current X server.
- Binary packages for Ubuntu
- Unofficial community forums (頁面存檔備份,存於互聯網檔案館)
- Communication between Xgl and Xorg - For dummies
- RR4/RR64 - 32/64bit Xgl LiveDVD
- Ultra high resolution XGL-KDE demo and screencaps[永久失效連結]
- 影片分流站台:saguratus.com[永久失效連結] Filefront
- Mandriva 3D Video (頁面存檔備份,存於互聯網檔案館)