Wayland가 더 나은 이유는 무엇입니까? 방향으로 나아가고 있습니다. X11과 Wayland의 가장 큰

마크 셔틀 워스 (Mark Shuttleworth)가 최근 발표 한대로 우분투는 Wayland를 디스플레이 관리자로 사용하는 방향으로 나아가고 있습니다.

X11과 Wayland의 가장 큰 차이점은 무엇입니까? Wayland가 왜 우분투를 더 좋게 만들까요?



답변

Wayland 아키텍처 페이지 에서 디자인의 차이점을 확인할 수 있습니다 . 표준 GEM / DRM 스택을 통해 모든 것을 커널로 직접 강제 실행하고 합성 자체를 관리함으로써 전체 그래픽 스택을 단순화해야합니다.

비트와 밥이있는 X 스택과 비교해보십시오. X 혼란의 일부는 유연한 디자인을 통해 이루어졌으며, 일부는 점점 더 많은 고통을 겪고 있습니다. 모든 합성기 (Compiz / Metacity / Mutter / KWin / etc)는 이후에 추가되었습니다. 그들은 X가 스스로해야 할 일을하기 위해 핵심 역할을합니다. 상황이 외부로 확장된다면 프로젝트를 유지할 수없는 시점에 도달하게됩니다.

대체로 하드웨어 지원이있을 경우 전체 스택을보다 효율적이고 표준 설정에서 사용하기가 덜 어려워집니다.

그러나 지금까지 치료법을 보지 못한 몇 가지 문제가 있습니다.

  • X는 꽤 네트워크를 인식합니다. 다른 컴퓨터로 창을 보낼 수 있고, 원격 로그인과 그와 같은 모든 종류의 펑키 한 것들이있는 여러 화면을 가질 수 있습니다. 이것은 상당히 전문적인 것처럼 보이지만 널리 사용되는 기술입니다. Wayland는 비교적 국부적으로 정적으로 보입니다.

  • 드라이버 지원도 있습니다. 비공개 소스 드라이버는 Wayland가 번창하는 KMS / 공유 -GEM / 공유 -DRM 기술을 아직 지원하지 않습니다. Nouveau에게는 순수 주의자가 괜찮을지 모르지만 고성능 3D 그래픽 카드로 £ 100-400를 지불하는 사람은 현재 오픈 드라이버로 얻을 수있는 색다른 가난한 3d 성능에 ​​만족하지 않을 것입니다.

    업데이트 : Nvidia는 Wayland와 Mir를 모두 지원하기 위해 노력하고 있습니다.


2018 업데이트 . 17.10은 Wayland를 기본 디스플레이 서버로 사용했습니다 (폐쇄 된 드라이버 나 지원하지 않는 드라이버 또는 X가 필요한 경우 제외). 18.04 및 18.10은 모두 X를 전역 기본값으로 사용합니다 (Wayland를 설치할 수는 있음).

나는 아무것도 책임지지 않고이 위치에서 우리가 여전히 진정한 견인력 을 얻는 데있어 미터법 인 Nvidia 인 것처럼 보입니다 . 그 시점까지, 나는 우리가 Wayland의 배후에 충분한 생각을 공유하고 발전하는 힘을 볼 것이라고 생각하지 않습니다. 게임 / 성능 시장은 X를 사용하고 있습니다. MCE 시장은 X (및 직접 프레임 버퍼)를 사용하고 있습니다. Wayland가 실제로 기회를 가질 지 확신하지 못합니다.


답변

X와 Wayland 에는 많은 차이점 이 있습니다 . 아마도 그래픽 측면에서 가장 큰 것은 Wayland 가 어떤 그림도하지 않는다는 것 입니다.

X에는 ​​두 개의 그리기 API가 있습니다. 이 중 하나는 X11 프로토콜의 일부로, 고대, 쓸모없고 아무도 사용하지 않습니다. 다른 하나는 그라디언트와 같은 현대적인 복합 작업을 제공하는 XRender 확장입니다. 예를 들어 이것이 카이로가 사용하는 것입니다. X에는 ​​글꼴 그리기 API도 있습니다.

Wayland에는 드로잉 API가 없습니다. Wayland 클라이언트는 기본적으로 일부 그래픽 메모리에 대한 포인터 인 DRM 버퍼 핸들을 얻습니다. Wayland는 클라이언트가 해당 버퍼를 그리는 방법을 알거나 신경 쓰지 않습니다. X 용어로 이것은 모든 응용 프로그램이 직접 렌더링을 수행 한다는 것을 의미합니다. 드로잉 요청은 서버를 거치지 않아도됩니다.

Wayland가하는 유일한 렌더링은 클라이언트 버퍼를 화면에 복사하는 것입니다.

이점 측면에서 Wayland는 X보다 훨씬 덜 복잡하므로 유지 관리가 더 쉬워집니다. 이러한 단순성 중 일부는 복잡성 (예 : 실제로 버퍼에 그리는 방법 , 네트워크 투명도)을 스택. 모든 렌더링에 대한 책임을 클라이언트에게 부여함으로써 클라이언트는 더블 버퍼링과 같은 것들에 대해 더 똑똑해질 수 있습니다.

그래픽 이외의 다른 이점도 있습니다. 예를 들어 응용 프로그램을 샌드 박스하는 것이 훨씬 쉽습니다.


답변

내 눈에 가장 큰 차이점은 Wayland가 X-Server보다 커널에 더 가깝다는 것입니다. X에서 커널 (커널 모드 설정, KMS)로 그래픽 드라이버를 이동함에 따라 Wayland는이 새로운 기능을 사용하여 X를 대체 할 계획입니다. 다음을 볼 수 있습니다.

디스플레이는 커널에 의해 처리되기 때문에 X보다 풋 프린트가 적습니다. Wayland는 사용하기 위해 많은 것을 구현할 필요가 없습니다. X 전달 (다른 PC의 한 화면을 보아라)이 X와 함께 사라질 것으로 예상되므로 두 가지 방법으로 진행됩니다.

KMS 기능 : X 서버를 다시 시작하지 않고도 화면 해상도를 변경할 수 있음 (최소한 nvidia의 경우 X에서 수정 된 것으로 생각되지만) 인텔 칩셋에 대한 커널 패닉 콘솔 디버그 그런 종류의.

내가 틀렸다면 누구든지 이것에 대해 나를 교정 할 수 있습니까?


답변

다른 모든 게시물은 Wayland의 장점을 강조하지만 모두 좋은 것은 아닙니다. Wayland보다 X의 가장 큰 장점은 X가 네트워크를 통해 작동한다는 것입니다. X는 네트워크에 투명합니다. 실제 프로그램이 다른 컴퓨터 (일반적으로 더 강력한 컴퓨터)에서 실행되는 동안 터미널에서 창을 표시하거나 XDMCP를 사용하여 전체 세션을 표시 할 수 있습니다. Wayland와 같은 네트워크 투명성에 대한 아이디어는 사라졌습니다. 어쩌면 요즘 빠른 네트워크와 VNC 및 RDP와 같은 다른 프로토콜에서는 그렇게 많이 필요하지 않을 수도 있습니다. 완전성을 위해 언급 할 것이라고 생각했습니다.


답변

간단히 말해, 더 나은 그래픽을 원합니다 (버그가 적고 빠르며 사용하기 쉬움). 언젠가는 불가능했던 일들도있을 수 있습니다. 나는 개인적으로 이것이 경쟁이 항상 그렇듯이 적어도 일을 강화시킬 것이라고 생각합니다.


답변

일상 업무에서 누구나 매우 빠르게 알아 차릴 수있는 두 가지 작은 것들 :

  • Wayland는 X11에서 고치기가 너무 어려운 것으로 간주되는 종이 절단을 제거합니다. 유명한 예 : 메뉴가 열려 있거나 잠금 화면이 켜져있는 동안 기능 키 (스피커 볼륨, 디스플레이 밝기 등) 사용.
  • Wayland는 입력 장치에 더 좋습니다. 하나의 경우, 지속적인 탭 투 클릭 설정을 포함하여 터치 패드 구성을위한 더 많은 옵션이 있습니다.