Xgl
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
Xgl은 OpenGL을 사용하여 렌더링을 수행하는 X 서버의 한 종류로, 2004년에 개발이 시작되었다. 2D 데스크톱 연산을 가속화하기 위해 3D 렌더링 API를 사용하며, Xglx와 Xegl 두 가지 백엔드를 가지고 있다. Xgl은 컴포지팅 윈도우 매니저 개발에 영향을 미쳤으며, Compiz와 같은 윈도우 매니저의 기반이 되었다. 2009년 X11R7.5에서 유지보수 문제로 인해 제거되었다.
더 읽어볼만한 페이지
- X 서버 - X 윈도 시스템
X 윈도 시스템은 네트워크 기반 분산형 윈도 시스템으로, 다양한 운영체제에서 GUI 환경을 제공하며 클라이언트-서버 모델 기반의 네트워크 투명성을 특징으로 한다. - X 서버 - XFree86
XFree86은 유닉스 계열 운영 체제에서 PC 호환 그래픽 하드웨어를 지원하는 X 윈도 시스템의 자유 소프트웨어 구현체였으나, 개발 방식 및 라이선스 문제로 X.Org 서버로 대체되었고 2011년에 프로젝트가 중단되었다. - X 윈도 시스템 - 데스크톱 환경
데스크톱 환경은 아이콘, 창, 메뉴 등으로 컴퓨터 화면을 책상처럼 보이게 하는 시각적 인터페이스로, 창 관리자, 파일 관리자 등으로 구성되어 파일 관리 및 프로그램 실행을 지원하며, 다양한 종류가 존재하여 사용자가 선택할 수 있다. - X 윈도 시스템 - 오픈 그룹
오픈 그룹은 다양한 기술 공급업체, 구매자, 정부 기관을 포함하는 국제 컨소시엄으로, 표준 개발, 인증 프로그램 운영, TOGAF와 같은 IT 아키텍처 프레임워크 제공 및 UNIX 상표 권리 보유를 통해 개방형 IT 표준 개발 및 보급에 기여한다.
| Xgl - [IT 관련 정보]에 관한 문서 | |
|---|---|
| Xgl 정보 | |
| 종류 | 디스플레이 서버 |
| 개발자 | 데이비드 레베만 |
| 배포일 | 2006년 1월 2일 |
| 지원 중단일 | 2008년 6월 12일 |
| 개발 | 컴피즈 |
| 상태 | 중단됨 |
| 웹사이트 | Xgl 웹사이트 |
2. 역사
Xgl은 2004년에 개발이 시작되었다.[3] 2006년 1월 2일까지 대부분 비공개로 개발되었으나, 공개 메일링 리스트를 통해 개발 내용이 공유되기도 했다.[3] 소스 코드는 freedesktop.org에 공개되었고,[4][5] 다양한 디스플레이 드라이버를 지원할 수 있도록 주요 구조가 변경되었다. Xgl이 사용하는 X 서버 백엔드에는 '''Xglx''', '''Xegl'''이 있다.
Xgl은 OpenGL을 사용하여 렌더링을 수행하며, 디스플레이 초기화 및 컨텍스트 조작을 위해 별도의 백엔드가 필요하다. OpenGL은 자체적으로 이러한 기능을 제공하지 않기 때문이다. 현재 두 가지 백엔드 접근 방식이 존재하는데, 이들은 대부분 동일한 코드를 공유하며 주로 서버 초기화 부분에서 차이를 보인다.
2006년 2월, 노벨(Novell) 데스크톱 팀은 Xgl을 사용하여 반투명 창, 회전하는 3D 데스크톱 등 여러 시각 효과를 시연하여 널리 알려지게 되었다.[6][7][8] 초기에는 이러한 효과가 glxcompmgr (xcompmgr와 혼동하지 말 것)이라는 컴포지팅 창 관리자에서 구현되었으나, 창 관리자와 컴포지팅 관리자가 밀접하게 상호 작용하지 않으면 일부 효과를 구현하기 어려워 현재는 사용되지 않는다.
이에 대한 해결책으로 데이비드 레브먼(David Reveman)은 X 윈도우 시스템을 위한 최초의 OpenGL 컴포지팅 윈도우 매니저인 컴피즈를 개발하였다. 2006년 9월에는 컴피즈에서 Beryl이 분리되었다. 2007년에는 컴피즈와 베릴이 다시 Compiz Fusion으로 통합되었다.
3. 백엔드
기존 X 서버에 초기화를 위임하는 방식은 개발자들이 다양한 비디오 하드웨어와의 인터페이스 세부 사항에 시간을 쏟는 대신 서버 기능 개발에 집중할 수 있게 해준다. 대표적인 백엔드로는 Xglx와 Xegl이 있다.3. 1. Xglx
''Xglx''는 최초로 구현된 백엔드였다. 이는 이미 존재하는 X 서버 위에서 실행되며, Xnest와 유사하게 Xgl이 사용하는 OpenGL 창을 생성하기 위해 GLX를 사용한다.[9] 이 방식은 Xgl을 실행하기 위해 X 서버가 필요하므로, 미래에는 개발용으로만 사용될 예정이다.
2006년 X 개발 컨퍼런스(XDevConf 2006)에서 엔비디아(NVIDIA)는 이 방식이 잘못된 방향이라고 주장했다. 레이어드 서버가 카드의 기능을 추상화하므로 3D 안경 지원 및 듀얼 모니터 지원과 같은 드라이버별 기능 구현이 훨씬 더 어려워진다는 것이다.[9]
그러나 기존 X 서버에 초기화를 위임하면 개발자들이 다양한 비디오 하드웨어와의 인터페이스 세부 사항에 상당한 시간을 할애하는 대신 서버 기능에 즉시 집중할 수 있다. 현재 Xglx는 공식적으로 다중 모니터를 지원하지 않지만, Ubuntu Dapper / ATI / NVIDIA (twinview)에서 구현되었다.
3. 2. Xegl
''Xegl''은 장기적인 목표로 개발된 Xgl 백엔드이다. 드로잉 담당 코드는 Xglx와 거의 차이가 없지만, OpenGL 드로잉을 위한 초기화 및 드로잉 컨텍스트 관리를 EGL API로 수행한다. 현재 구현에서는 Mesa를 통해 리눅스 프레임 버퍼 또는 DRI를 이용한 그래픽 카드에 드로잉을 수행하고 있다. 2005년 시점에서는 RADEON R200에서만 작동했으며, 2024년 5월 현재 개발이 중단된 상태이다.
4. 기술적 특징
Xgl은 OpenGL을 기반으로 모든 렌더링을 구조화하여 비디오 드라이버 개발을 단순화한다. 이는 2D와 3D 가속의 인위적인 구분을 제거하기 때문이다. 2D 작업은 자주 가속되지 않는데, 2D가 3D의 하위 집합이라는 점을 고려하면 이는 직관적이지 않지만 Xgl은 2D 작업도 가속화하여 성능 향상을 꾀한다.
또한 Xgl은 X 서버 자체에서 모든 드라이버 종속 코드를 제거하고, 그래픽 드라이버와 독립적으로 가속화된 합성 및 렌더링 작업을 지원한다.
5. 유사 기술
Xgl 및 유사한 시스템의 특징은 2D 데스크톱 연산을 가속화하기 위해 3D 렌더링용으로 개발된 API를 사용한다는 점이다. 이전에는 X11에서 안티 앨리어싱 드로잉을 채택하기 전까지 3D 렌더링 API가 2D 데스크톱 렌더링에 적합하지 않았지만, 이 문제가 해결되었다.
OpenCroquet과 썬 마이크로시스템즈의 Project Looking Glass 등 3D API를 기반으로 하는 여러 데스크톱 인터페이스가 개발되었다. 이들은 자체 프레임워크 내에서 3D 가속을 활용하지만, 기존 2D 데스크톱 애플리케이션을 가속하는 데는 사용되지 않는다.
5. 1. macOS의 쿼츠 익스트림 (Quartz Extreme)
macOS에서는 OpenGL을 사용하여 하드웨어 가속 윈도우 및 데스크톱 렌더링을 제공하는 쿼츠 익스트림 기술이 사용되고 있다. Xgl과 마찬가지로 모든 2D 드로잉 연산에 OpenGL 가속을 제공한다. 이 기술은 Mac OS X v10.4와 함께 제공되지만, 정식 생산 준비 선언이 있을 때까지 기본적으로 비활성화되어 있다. Core Animation은 이 기술의 확장판이다.5. 2. 윈도우 비스타의 데스크톱 윈도우 매니저 (DWM)
마이크로소프트는 DirectX를 기반으로 한 DWM을 윈도우 비스타 운영 체제의 일부로 개발했다. 이 기술은 2003년 10월 마이크로소프트의 PDC에서 처음 공개되었다. 윈도우 비스타에는 DWM이라는 이름으로 비슷한 기술이 탑재되어 있는데, 이는 OpenGL이 아닌 DirectX를 사용한다.5. 3. 기타
- 카이로는 X에서 벡터 드로잉을 수행하기 위한 라이브러리이다. Xgl과 마찬가지로 글리츠를 통해 작동하지만, 카이로를 Xgl 위에서 작동시키는 것도 가능하다.
- GNUstep에서는 DisplayGhostscript에 의해 데스크톱의 벡터 드로잉이 가능하다.
- AIGLX는 X 위에서 OpenGL 효과를 가능하게 하기 위한 프로젝트이다. 페도라 프로젝트에 의해 개발되었다. Xgl이 X 서버를 완전히 대체하는 것과 달리, AIGLX는 X의 일부를 확장하고 프로토콜을 추가한다. 그러나 AIGLX는 Xgl의 백엔드 중 하나가 될 가능성이 높다고 여겨진다.
- macOS에서는, OpenGL에 의한 데스크톱 드로잉은 쿼츠 익스트림이라는 기술에 의해 사용되고 있다.
- Windows Vista에서도 비슷한 기술이 데스크톱 윈도우 매니저(DWM)라는 이름으로 탑재되어 있다. 이것은 OpenGL이 아닌 DirectX를 사용하고 있다.
- 프로젝트 루킹 글래스는 Java에 의한 3D 데스크톱 환경이다. Xgl과 마찬가지로, OpenGL에 의한 하드웨어 가속을 이용하고 있다.
6. Compiz
Compiz는 Xgl을 활용한 최초의 컴포지팅 윈도우 매니저 중 하나이다. 데스크톱을 큐브처럼 회전시키거나, 윈도우 동작을 젤리처럼 흔들리게 하는 기능 등 다양한 시각 효과를 제공한다.[6][7][8] 개발자는 Xgl과 같다. 초기에는 Xgl 위에서만 작동했으나, 현재는 AIGLX 위에서도 동작한다.
7. 현재 상황 및 영향
Xgl은 2009년에 유지 관리가 중단되어 X11R7.5에서 제거되었다.[3] 하지만 Xgl은 X 윈도우 시스템의 발전, 특히 컴포지팅 윈도우 매니저 개발에 큰 영향을 미쳤다. 노벨(Novell) 데스크톱 팀이 Xgl을 사용하여 반투명 창과 회전하는 3D 데스크톱과 같은 여러 시각 효과를 시연하면서 주목받았다.[6][7][8]
데이비드 레브먼은 Xgl을 기반으로 최초의 OpenGL 컴포지팅 윈도우 매니저인 컴피즈를 개발했다. 이후 2006년 9월, 컴피즈에서 베릴이 분리되었으나, 2007년 4월에 다시 통합되어 Compiz Fusion의 개발로 이어졌다. 이러한 컴포지팅 윈도우 매니저들은 사용자에게 다양한 데스크톱 환경을 제공했다.
Xgl은 SUSE 리눅스 10.1에는 기본으로 포함되지 않았지만, SUSE 리눅스 엔터프라이즈 데스크톱 10에는 포함되었다. 우분투 6.06 LTS (Dapper Drake) 및 6.10 (Edgy Eft), Freespire에서는 비공식 저장소의 바이너리 패키지를 통해 설치할 수 있었다. 젠투 리눅스에서는 오버레이 패키지로, 아치 리눅스에서는 PKGBUILD로 제공되었다. 만드리바 리눅스 2007은 Xgl 및 AIGLX를 사용하여 Compiz를 실행하기 위한 공식 패키지를 포함했으며, 3D 데스크톱 구성 도구인 '''drak3d'''를 제공했다. 우분투 6.10 "Edgy Eft" 이후 버전은 기본적으로 Xgl 대신 AIGLX를 사용했다.
참조
[1]
간행물
BEYOND EYE CANDY: An OpenGL-accelerated desktop with Xgl and Compiz
http://www.linux-mag[...]
2006
[2]
웹사이트
xorg/xserver - X server
https://cgit.freedes[...]
2022-01-24
[3]
웹사이트
ALGIX, Nvidia, XGL and metacity
http://lists.freedes[...]
2022-01-24
[4]
웹사이트
Q: Xserver / Composite behavior
https://lists.freede[...]
2006-01-08
[5]
웹사이트
Novell's XGL code posted [LWN.net]
https://lwn.net/Arti[...]
2022-01-24
[6]
웹사이트
Novell Makes Public Release of Xgl Code - Slashdot
https://linux.slashd[...]
2006-02-08
[7]
웹사이트
"Usability | SUSE Linux Enterprise Desktop"
http://xgl.opensuse.[...]
2022-06-06
[8]
웹사이트
OpenSUSE XGL resources
http://www.opensuse.[...]
2022-01-24
[9]
웹사이트
Using the Existing XFree86/X.Org Loadable Driver Framework to Achieve a Composited X Desktop
http://download.nvid[...]
2022-01-24
[10]
웹사이트
The State of Linux Graphics
https://sites.google[...]
2005-08-30
[11]
웹사이트
cgit.freedesktop.org http git virtual host
http://gitweb.freede[...]
[12]
웹사이트
'7.5'
https://www.x.org/wi[...]
2022-01-24
[13]
문서
動作するグラフィックカードのリスト
http://gentoo-wiki.c[...]
[14]
문서
Using the Existing XFree86/X.Org Loadable Driver Framework to Achieve a Composited X Desktop
http://download.nvid[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com