XGL

XGL

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

基本介紹

  • 外文名:XGL
  • 類別:X server
  • 特點:立體畫面
  • 時間:2006年1月2日
簡介,歷史,後端,Xglx,Xegl,競爭者,爭議,可得性,延伸閱讀,

簡介

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

歷史

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

後端

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)儘管如此,卻不能否認這樣的一個設計方法,是將整個後端 "原型機" "全部實做出來" 的方法中,最快速而簡單的一招。這樣的作法可以讓開發者省略掉開發一些已經存在於前置X server上的項目,把精力集中在實做Xgl獨特架構的本體上面。

Xegl

Xegl被認為是Xgl的未來,X Server開發過程的長期日標。它和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顯示卡的系統上,當前開發已經暫停了。它將會被保留直到Xglx Server證明自己可行,並且閉源的驅動支持EGL API,這時它才是一個顯而易見的Xglx Server的替代品。
Xegl貌似已經失敗。

競爭者

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

爭議

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

可得性

2006年5月,Xgl含其附屬組件(像是聚合視窗管理器 Compiz 和配置設定工具等等)成為了SUSE10 這個Linux發行版中的非默認安裝項目,也以包的形式成為Frugalware Linux和SUSE Linux Enterprise Desktop 10的一部分。在Ubuntu6.06 (Dapper)和Freespire上,Xgl更可以以最簡單的二進制代碼來安裝。在Gentoo Linux上面Xgl也可以以 overlayed package的形式獲取。Arch Linux的用戶也可以透過PKGBUILD來獲取Xgl。
Mandriva Linux 2007內含由官方發行的由Xgl和AIGLX搭配Compiz所組成的package 包。另外Mandriva也提供了drak3d工具,讓用戶能愉快的使用兩鍵式滑鼠來搞定3D立體桌面的全部設定。

延伸閱讀

相關詞條

熱門詞條

聯絡我們