Wayland란 무엇이며 Linux 사용자에게 어떤 의미가 있습니까?
Fedora 25가 2016년 기본적으로 Wayland 그래픽 스택을 대담하게 도입한 이후로 여러 Linux 배포판에서 기본 옵션으로 설치되었습니다. Linux 시스템에서 이 글을 읽고 있다면 지금 사용 중일 수도 있습니다. Wayland는 한동안 존재했지만 Xorg를 통해 오래되고 유비쿼터스인 X11 프로토콜을 사용하는 데 익숙한 사람들 사이에서는 여전히 흥미로운 주제입니다.
이 가이드는 Wayland가 무엇인지, 무엇을 하는지, 왜 개발자들이 몰려드는지 간략하게 설명합니다!
웨일랜드란?
화면에 창을 표시하고 각 요소를 올바르게 그리려면 Linux는 그래픽 하드웨어 및 디스플레이와 통신할 수 있는 방법이 필요합니다. 1984년부터 2016년까지 대부분의 배포판은 “X 윈도우 시스템 코어 프로토콜”(또는 그냥 X)이라는 디스플레이 프로토콜을 사용했습니다. Wayland는 이 기간 말에 등장하여 더 가볍고 보안이 강화되었으며 최신 디스플레이 기술 작업에 더 최적화된 대안을 제시했습니다.
그러나 디스플레이 프로토콜은 자체적으로 작동하여 화면에 무언가를 그릴 수 없습니다. 디스플레이 서버로 알려진 소프트웨어로 구현해야 합니다. X의 경우 오랫동안 군림하는 챔피언은 Xorg였습니다.
Wayland에서 디스플레이 서버는 종종 데스크탑 환경에서 사용하는 창 관리자일 뿐입니다. 그놈의 경우 Mutter입니다. KDE Plasma에서는 KWin입니다. 서버를 실행하는 별도의 독립 실행형 프로세스를 갖는 대신 창 관리자는 그래픽 하드웨어와 통신하기 위해 시스템 내의 라이브러리를 호출합니다. 대부분의 경우 wlroots
.
이를 통해 예를 들어 GNOME의 Mutter는 중개자를 사용하는 대신(Xorg가 사용되는 방식과 매우 유사) 데이터를 프레임 버퍼에 직접 쓸 수 있으므로 성능이 눈에 띄게 향상됩니다.
Wayland는 어떻게 작동합니까?
디스플레이 서버는 커널과 그래픽 하드웨어에 정보를 제공하여 신속하게 디스플레이에 전달할 수 있도록 합니다. 그들은 각각의 프로토콜을 사용하여 그들과 통신하는 애플리케이션을 통해 이 정보를 받습니다. 예를 들어 X와 함께 작동하도록 설계된 애플리케이션은 Wayland 서버와 통신할 수 없습니다.
Wayland는 X 클라이언트-서버 상호 작용을 Wayland가 “이해”할 수 있는 것으로 변환할 수 있는 호환성 레이어 역할을 하는 XWayland라는 것을 통해 이 문제를 해결합니다.
Wayland에서 서버와 컴포지터는 하나이며 동일합니다. Wayland를 사용하는 모든 데스크탑 환경은 Wayland 프로토콜을 구현하는 라이브러리를 호출하여 투명도, 창 흐림, 전환 애니메이션 및 그림자와 같이 창에 입체감을 주는 효과를 그립니다.
Wayland는 이러한 모든 기능을 커널에 더 가깝게 가져오며 그래픽 환경에서 경험하는 “매끄러움”으로 종종 느낄 것입니다.
타사 소프트웨어를 사용하여 그림을 그리는 대신 Wayland는 커널에서 DRM(직접 렌더링 관리자) 버퍼로 알려진 것을 호출하여 그림을 그립니다.
Wayland에서는 단계가 훨씬 간단하고 프로세스가 간단하다는 것을 알 수 있습니다. 이는 그래픽이 많은 상황에서 더 나은 성능을 제공하고 개발자가 이 프로토콜에서 실행되는 응용 프로그램을 더 쉽게 만들 수 있도록 합니다.
Wayland를 시도하는 방법
대부분의 Linux 배포판은 Wayland를 기본 옵션으로 사용하기로 결정했으므로 지금 사용 중일 수도 있습니다! 터미널을 열고 다음을 입력하여 쉽게 확인할 수 있습니다 echo $XDG_SESSION_TYPE
.
데스크톱 환경의 느린 개발 주기와 Wayland가 배포판에서 실행할 수 있을 만큼 충분히 성숙했는지에 대한 논쟁으로 인해 Linux Mint와 같은 일부 보류가 있습니다.
현재 Ubuntu 22.04 이상 또는 현재 지원되는 Fedora 버전을 설치하면 Wayland를 가장 쉽게 경험할 수 있습니다.
다른 배포판에서 현재 버전의 GNOME 또는 KDE Plasma를 사용하는 경우 Wayland를 사용할 수 있는 옵션이 있습니다.
Arch Linux를 사용 하는 경우 다음 단계를 따라야 할 수 있습니다.
- GNOME을 실행 중인 경우 디스플레이 관리자(GDM)가 기본적으로 지원하므로 수행할 작업이 없습니다. 기본 디스플레이 관리자로 KDE Plasma를 실행하는 경우 AUR에서 “git” 버전을 가져와야 합니다 .
yay -S sddm-git
또는
paru -S sddm-git
- 1단계에서 수행한 작업이 있으면 systemd 서비스가 비활성화되지 않았는지 확인합니다.
sudo systemctl enable sddm
- XWayland 설치:
sudo pacman -S xorg-xwayland
그게 다야! 다음에 시스템을 부팅할 때 로그인 화면에서 데스크탑 환경의 디스플레이 프로토콜로 Wayland를 선택할 수 있는 옵션이 있습니다.
무언가가 제대로 작동하지 않는 이유를 확인하기 위해 이벤트를 디버깅하려면 다음을 실행하십시오.
qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsole
자주 묻는 질문
현재 Wayland를 지원하는 드라이버는 무엇입니까?
Nvidia가 2021년 10월 26일에 버전 495.44를 출시한 이후 모든 주요 그래픽 카드 제조업체(AMD, Nvidia 및 Intel)는 현재 GBM(Generic Buffer Management)을 사용하여 드라이버에서 Wayland에 대한 완전한 지원을 구현했습니다. 디스플레이 프로토콜.
Wayland는 키로거를 중지합니까?
X11은 “무단 액세스 공격”( CVE-1999-0526 )으로 알려진 것에 취약한 것으로 오랫동안 알려져 왔습니다. 이 공격을 통해 애플리케이션은 인증되지 않은 스크린샷을 찍고 키보드 및 마우스 이벤트 등을 탭하여 사용자 이름에 대한 액세스 권한을 얻고 암호. Wayland는 이러한 종류의 공격을 방지하기 위한 보안 조치를 갖추고 있지만 이러한 보호는 디스플레이에 그래픽을 제공하는 영역 내에서만 가능합니다. 실제로 응용 프로그램은 여전히 키보드를 통해 커널로 전송되는 다른 유형의 메시지를 들을 수 있습니다.
요컨대, Wayland는 틈새 방식으로 보안을 강화하므로 시스템에 대한 과신을 피하십시오!
Wayland는 게임을 어떻게 수행합니까?
일부 틈새 사례에서는 Wayland로 게임을 할 때 일부 개선 사항을 알 수 있지만 Xorg를 통해 렌더링되는 게임에는 약간의 그래픽 문제가 있을 수 있습니다. 일부 오버레이 응용 프로그램(예: War Thunder용 오버레이를 제공하는 WTRTI)은 XWayland 창이 다른 XWayland 창과 통신을 시도하기 때문에 전혀 작동하지 않을 수 있습니다. 이는 매우 어려울 수 있습니다. 귀하의 마일리지는 다를 수 있으며 일부 결과에 만족할 수도 있고 다른 결과에 실망할 수도 있습니다.
답글 남기기