엑스글

Xgl
엑스글
Xgl transparency.png
진정한 투명성을 갖춘 Xgl 컴피즈 온 엑스글
원본 작성자데이비드 리비먼
초기 릴리즈2006년 1월 2일; 16년(2006-01-02)
유형디스플레이 서버
웹사이트web.archive.org/web/20070605230047/http:///www.freedesktop.org/wiki/Software/Xgl

XGLOpenGL 위에 레이어드된 OpenGL 드라이버를 통해 현대 그래픽 카드를 활용하도록 설계된 X Window 시스템 프로토콜을 지원하는 구식 디스플레이 서버 구현이다.[1]모든 X, OpenGL, XVideo 애플리케이션의 하드웨어 가속화Compize, Beryl 등의 복합 윈도우 매니저에 의한 그래픽 효과를 지원한다.이 프로젝트는 NovellDavid Reviewman에 의해 시작되었고 2006년 1월 2일에 처음 출시되었다.2008년 6월 12일 AIGLX의 손을 들어 X.org 서버에서 삭제되었다[2].

역사

Xgl은 원래 공공 우편물 목록에서 개발되었지만, 오랜 기간 동안, 2006년 1월 2일까지[3] 대부분의 Xgl 개발은 비공개로 이루어졌다.그 날 Xgl의 소스는 대중에게 다시 공개되었고,[4][5] freedesktop.org에 포함되었고, 더 광범위한 지원 디스플레이 드라이버가 가능하도록 대대적인 구조 조정도 이루어졌다.Xgl이 사용하는 X 서버 백엔드에는 XglxXegl이 있다.2006년 2월, Novell 데스크톱 팀이 Xgl을 사용하여 반투명 윈도우와 회전하는 3D 데스크톱과 같은 몇 가지 시각 효과를 가진 데스크톱을 시연하는 공개 디스플레이를 통해 이 서버는 널리 알려지게 되었다.[6][7][8]그 효과는 glxcompmgr(xcompmgr과 혼동되지 않음)이라는 복합 관리자에서 처음 구현되었었는데, 지금은 윈도우 관리자와 복합 관리자 사이의 보다 긴밀한 상호 작용 없이는 여러 효과를 적절하게 구현할 수 없기 때문에 더 이상 사용되지 않는다.솔루션으로서 David Reviewman은 X Window 시스템을 위한 최초의 적절한 OpenGL 컴포지팅 윈도우 매니저Compize를 개발했다.이후 2006년 9월 오리지널 컴피즈의 포크로 베릴 컴포지팅 윈도우 매니저가 출시되었다.컴피즈와 베릴은 2007년 4월에 합병했고, 그 결과 컴피즈 퓨전이 개발되었다.

백엔드

OpenGL은 디스플레이 초기화 및 도면 컨텍스트 조작 방법을 지정하지 않는다.대신 이러한 작업은 네이티브 윈도우 시스템에 특정한 API로 처리된다.지금까지 이 초기화 문제를 해결하기 위한 두 가지 다른 백엔드 접근법이 있다.대부분의 경우, 각 백엔드의 대부분은 동일한 코드를 포함하고 차이는 주로 서버의 초기화 부분에 있을 것이다.

엑스글렉스

Xglx는 이 아키텍처를 위해 구현된 첫 번째 백엔드였습니다.이미 존재하는 X 서버를 위에서 실행해야 하며, XGL을 사용하여 XGL이 Xnest와 유사한 OpenGL 창을 만든다.이 모드는 X 서버가 Xgl을 위에서 실행하도록 요구하는 것이 중복되기 때문에 향후 개발을 위해서만 사용하기 위한 것이다.

NVIDIA는 XDevConf 2006(2006년 X 개발 컨퍼런스)에서 레이어드 서버가 카드의 특징을 추상화하기 때문에 이것이 잘못된 방향이라고 주장하며 프레젠테이션을 했다.이것은 3D 안경 지원이나 듀얼 모니터 지원 같은 운전자 특정 기능을 훨씬 더 어렵게 만든다.[9]

그러나, 기존 X 서버에 초기화를 위임하면 개발자는 수많은 비디오 하드웨어와의 인터페이스에 상당한 시간을 할애하기 보다는 서버 기능에 즉시 집중할 수 있다.현재 Xglx는 Ubuntu Dapper/ATI/NVIDIA(twinview)에서 달성되었지만 다중 모니터를 공식적으로 지원하지 않는다.

세글

Xegl은 X 서버 개발의 장기적인 목표였다.[10]그리기 코드의 상당 부분을 XGL 서버와 공유하지만, OpenGL 그리기 가능 및 컨텍스트 관리의 초기화는 Khronos가 개발한 EGL API에 의해 처리된다(EGL은 각각 GLX와 WGL APIs에 준하는 윈도 시스템에 독립되어 X와 Microsoft Windows에서 OpenGL 지원을 가능하게 한다).현재 구현에서는 Mesa-solo를 사용하여 OpenGL 렌더링을 Linux 프레임 버퍼 또는 DRI를 그래픽 하드웨어에 직접 제공한다.2007년 7월 현재 Xegl은 Radeon R200 그래픽 하드웨어를 통해서만 실행할 수 있으며 현재 개발이 정체되어 있다.[11]Xglx 서버가 자체적으로 입증되고 폐쇄된 소스 드라이버가 EGL API에 대한 지원을 추가할 때까지, 중첩된 Xglx 서버를 투명하게 대체해야 하는 시점까지 그대로 유지될 가능성이 높다.

이론적 근거

OpenGL 위에 모든 렌더링을 구조화하면 비디오 드라이버 개발이 잠재적으로 단순화될 수 있다.2D3D 가속도의 인위적인 분리를 제거한다.이는 2D 운영이 가속되지 않는 경우가 많기 때문에(2D는 3D의 하위 집합이므로 직관에 반하는 것)[citation needed] 유리하다.

또한 X 서버 자체에서 드라이버 종속 코드를 모두 제거하고 그래픽 드라이버와 무관하게 CompositeRender 작업을 가속화할 수 있다.

경쟁업체

2D 도면 작업의 하드웨어 가속화는 여러 해 동안 많은 윈도우 시스템(X11 포함)의 공통적인 특징이었다.Xgl 및 이와 유사한 시스템의 새로운 점은 2D 데스크톱 작업을 가속화하기 위해 3D 렌더링용으로 특별히 개발된 API를 사용하는 것이다.X11에 의한 안티앨리어싱 도면을 채택하기 전에는, 2D 데스크톱 렌더링에 3D 렌더링 API를 사용하는 것은 바람직하지 않았다. 이러한 API가 원래 X11 프로토콜 정의의 일부인 픽셀의 정확한 렌더링 보증을 만들지 못했기 때문이다.

하드웨어 가속 OpenGL 창과 데스크톱 렌더링은 텍스처 조성을 위해 OpenGL을 사용하는 것으로 제한되며, Mac OS X v10.2 이후 Quartz Extreme이라는 기술에서 Mac OS X에서 사용되고 있다.Quartz 2D Extreme은 이 기능의 향상으로 Xgl에 더 직접적으로 필적할 수 있다.Xgl과 마찬가지로 Quartz 2D Extreme은 OpenGL 가속화를 모든 2D 도면 작업(데스크톱 컴포지팅뿐만 아니라)에 적용하고 Mac OS X v10.4와 함께 제공되지만, 생산 판독성을 공식 선언할 때까지 기본적으로 비활성화되어 있다.핵심 애니메이션은 레오파드(Mac OS X v10.5)에 대한 이러한 노력의 확장이다.

3D API를 기반으로 한 여러 데스크톱 인터페이스가 개발되었으며, 최근에는 OpenCroquet 및 Sun Microsystems의 Project Looking Glass[2]; 자체 프레임워크 내에 구축된 소프트웨어에 대해 3D 가속화를 활용하지만, 환경 내에서 렌더링되는 기존 2D 데스크톱 애플리케이션을 가속화하는 것 같지는 않다(흔히 메커니즘을 통해).ke VNC).

마이크로소프트윈도 비스타 운영체제의 일부로 DWM이라는 이름의 DirectX를 기반으로 유사한 기술을 개발했다.이 기술은 마이크로소프트의 2003년 10월 PDC에서 처음으로 공개되었다.

유용성

5월 2006[업데이트], 그 Xgl X서버 배들은 한가지 주요한 리눅스 배포판, 수세 10.1에 기본으로, 프루 갈 웨어나 수세 리눅스 엔터프라이즈 데스크 톱 10에 포함되어 있다. Xgl 상당히 쉽게 우분투 6.06 시내 중계 교환기( 작고 민첩한 드레이크를 설정할 수 있(와 관련 부품을 포함한 컴피즈 채널 매니저와 관련된 그래픽 config 도구).)과 6.비공식 저장소의 바이너리 패키지가 포함된 10(Edgy Eft) 및 Freespire용.Xgl은 또한 Gentoo Linux에서 중첩된 패키지로, PKGB로도 사용할 수 있다.UILD for Arch Linux.

맨드리바 리눅스 2007에는 Xgl과 AIGLX를 이용해 컴피즈를 실행할 수 있는 공식 패키지가 포함되어 있다. 맨드리바는 두 번의 클릭으로 3D 데스크톱을 구성할 수 있는 도구인 drak3d를 제공한다.

Ubuntu 6.10 "Edgy Eft" 이후 기본적으로 Xgl이 아닌 AIGLX를 사용한다.

Xgl은 유지되지 않은 서버 변종이라는 이유로 2009년에 X11R7.5에서 제거되었다.[12]

참고 항목

참조

  1. ^ HOPF, MATTHIAS (2006). "BEYOND EYE CANDY: An OpenGL-accelerated desktop with Xgl and Compiz". Linux Magazine. 68: 24–26. Retrieved 6 February 2017.
  2. ^ "xorg/xserver - X server". Cgit.freedesktop.org. Retrieved 24 January 2022.
  3. ^ "ALGIX, Nvidia, XGL and metacity". Archived from the original on 8 March 2006. Retrieved 24 January 2022.
  4. ^ Carsten Haitzler (8 January 2006). "Q: Xserver / Composite behavior". Lists.freedesktop.org. Retrieved 24 January 2022.
  5. ^ "Novell's XGL code posted [LWN.net]". Lwn.net. Retrieved 24 January 2022.
  6. ^ "Novell Makes Public Release of Xgl Code - Slashdot". Linux.slashdot.org. Retrieved 24 January 2022.
  7. ^ [1][영구적 데드링크]
  8. ^ "OpenSUSE XGL resources". Opensuse.org. Retrieved 24 January 2022.
  9. ^ "Using the Existing XFree86/X.Org Loadable Driver Framework to Achieve a Composited X Desktop" (PDF). Download.nvidia.com. Retrieved 24 January 2022.
  10. ^ Smirl, Jon (30 August 2005). "The State of Linux Graphics". Retrieved 18 February 2016.
  11. ^ "cgit.freedesktop.org http git virtual host". Gitweb.freedesktop.org.
  12. ^ "7.5". X.org. Retrieved 24 January 2022.

외부 링크