Wayland가 더 나은 이유는 무엇입니까?


177

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

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


5
2013 년 12 월 그것은 우분투 14.10에서 시작하는 대신 WAYLAND 기반 컴포 지터의 미르 디스플레이 서버를 사용 유니티 기반의 우분투처럼 보이는 : 링크 링크 다른 우분투 변종은 아마도 WAYLAND로 이동합니다 : 링크
디에고

4
다음은 X와 사람들이 X를 대체하려는 이유를 설명하는 훌륭한 비디오입니다. youtube.com/watch?v=cQoQE_HDG8g
Jason

우분투 18 (바이오닉)은 기본적으로 xorg를 사용하지만, 로그인 화면에서 wayland는 여전히 옵션입니다 : blog.ubuntu.com/2018/01/26/…
Kris

나는 X가 더 좋다고 말할 것입니다. 나는 기술적 인 것들에 들어 가지 않을 것입니다. 그러나 창 크기를 조정하거나 전체 화면으로 이동 / 종료하면 Wayland로 YouTube에 프레임을 놓았다고 말할 것입니다. X에서는 아무런 문제가 없습니다. 속도는 동일하지만. 또한 Wayland에서 마우스 커서는 X보다
Luka

답변:


136

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가 실제로 기회를 가질 지 확신하지 못합니다.


21
네트워크 투명성은 몇 가지 이유로 과장되었습니다. 1. 순수 X 포워딩은 LAN을 통해 충분히 빠릅니다. 인터넷을 통해 지연 시간으로 인해 원시 X를 사용할 수 없습니다. 적절한 성능을 얻으려면 NX 또는 VNC와 같은 타사 프로토콜을 사용해야합니다. 2. NX와 VNC는 모두 X의 아키텍처로 인해 큰 어려움을 겪고 있습니다. Wayland에서는 더 쉬워야합니다. 3. 현대의 툴킷에서 X의 드로잉 코드를 사용하는 사람은 거의 없습니다. 그들은 비트 맵으로 자신을 그려 X로 보냅니다. 이것은 Wayland와 정확히 동일하며 동일한 네트워크 특성을 갖습니다.
Timmmm

4
나는 포인트 1에 동의하지만 좋은 LAN을 통해 X 전달은 품질이나 성능에 영향을 미치지 않습니다. 내 경험에 대한 대안보다 훨씬 낫습니다.
Oli


2
@ poolie : 그들은 그들의 마음을 바꿨다. ;-)
Peque

2
에서 BionicBeaver / ReleaseNotes : "X 기본 디스플레이 서버입니다 WAYLAND이 기술 미리보기로 제공된다. 20.04 LTS에서 기본 디스플레이 서버 될 것으로 예상 단지 로그에 톱니에서 WAYLAND에 우분투를 선택, 그것을 밖으로 시도하십시오. X.org 로그는 ~ / .local / share / xorg에서 찾을 수 있습니다 "[강조 광산]
Dennis Williamson

56

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

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

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

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

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

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


2
Microsoft의 DirectX와 같은 것 같습니까?
Anwar

3
XRender보다 빠르기 때문에 핵심 X11 프로토콜 드로잉 API를 사용합니다.
étale-cohomology

3
또한 Wayland에 의해 Microsoft 부인을 얻었고 체계화되었습니다. 그리고 아니, 그건 좋은 일이 아닙니다. 기본 소프트웨어 개발 규칙을 위반합니다. systemd 개발자는 systemd 개발자가 더 쉬워서 웨이 랜드에서는 더 빠른 게임 (?)과 렌더링을 원하기 때문에 좋은 것들을 많이 버립니다.
Anders

18

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

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

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

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


4
KMS 및 GEM은 그래픽 드라이버를 커널로 이동하지 않으며 일부 작은 부분 만 커널로 이동합니다 (하드웨어에 직접 말하고 다른 드라이버가 공존 할 수 있도록 커널에 있어야하는 비트). I / O 포트에 쓰기 및 메모리 관리). KMS 및 GEM은 오늘날 X에서 이미 최신 오픈 소스 드라이버 (인텔, 라데온, 누보)에 사용되고 있습니다. BTW :) 내가 심각하게 의심 커널에 전체 그래픽 드라이버를 이동은 리누스 ...에 의해 허용 될 것이다
JanC

4
아, 그리고 KMS는 화면 해상도를 변경할 필요가 없었습니다 (10 년 전에 X를 사용한 이후로 가능했습니다). 그러나 다른 드라이버 (예 : 콘솔 프레임 버퍼 드라이버, X 드라이버 및 현재 Wayland 드라이버)를 허용합니다 더 쉽게 협력합니다. 과거에는 그래픽 하드웨어가 특정 시점에 어떤 "상태"인지에 대해 각각 명확하지 않았으며, 많은 추측 또는 드라이버 의존적 독점 해결 방법이 사용되었습니다.
JanC

1
X가 여전히 Wayland에서 클라이언트로 사용될 수 있기 때문에 X 전달이 사라지는 것은 전적으로 사실이 아닙니다. wayland.freedesktop.org 에 그 예가 있습니다. 그러나 X는 어쨌든 그런 종류의 일을하는 끔찍한 방법입니다. 이제 교체 될시기입니다. 대부분의 경우 Broadway를 사용하는 GTK와 같은 것이 더 나은 접근 방식 인 것 같습니다.
Jo-Erlend Schinstad

3
RandR 확장 기능을 사용하면 X 서버를 다시 시작하지 않고도 화면 해상도를 변경할 수 있습니다.
Anonymous

14

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


이것이 내가 제안한 Wayland에 비해 X의 가장 큰 장점이라고 생각하는 것입니다.
Kris Jace

7

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


3

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

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

1
프로그램이 어떤 이유로 잠겨 있으면 Wayland가 더 나빠집니다. 다른 wm을 갖는 것이 좋습니다. 나는 매일 네트워크 X11을 사용합니다. 일부 프로그램이 Wayland에서 작동을 멈췄습니다 (우분투 18.04 사용)
Anders
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.