Wayland이란 무엇이며 Linux 사용자에게는 어떤 의미가 있습니까?

What Is Wayland Linux Feature Image

Linux 데스크탑을 사용하면 디스플레이 서버와 상호 작용하고 있습니다. 이 중요한 소프트웨어는 창과 메뉴에서 마우스 포인터에 이르기까지 화면에 표시되는 모든 것을 그리는 책임이 있습니다. 수십 년 동안 Xorg(X11) 디스플레이 서버가 표준이었습니다. 그러나 컴퓨팅 요구 사항이 발전함에 따라 Wayland라는 현대적인 대안이 등장했으며 점점 더 새로운 기본값이 되고 있습니다.

이 포스트에서는 Wayland가 무엇인지, 어떻게 작동하는지, Xorg와 어떻게 비교되는지를 설명합니다.

Wayland란 무엇인가

Wayland는 애플리케이션이 그래픽을 렌더링하고 클릭이나 텍스트와 같은 사용자 입력을 처리하기 위해 디스플레이 서버와 상호 작용하는 방법을 규정하는 현대적인 디스플레이 프로토콜입니다. Wayland는 1984년부터 2010년대 중반까지 Linux를 지배했던 X Window System(X)에 대한 더 가볍고 안전하며 효율적인 대안으로 2008년경에 처음 소개되었습니다. Wayland는 현대 그래픽 하드웨어와 디스플레이에 최적화되어 있습니다. X는 일부 레거시 응용 프로그램에서 여전히 사용되지만(종종 XWayland를 통해), 2025년까지 많은 Linux 배포판에서 기본값으로 자리 잡았습니다.

Xorg와 달리 Wayland는 Xorg와 같은 별도의 디스플레이 서버에 의존하지 않고 디스플레이 서버와 윈도우 관리자를 컴포지터라는 단일 엔터티로 통합합니다. 예를 들어, GNOME은 자신의 컴포지터인 Mutter를 사용하고, KDE Plasma는 KWin을 사용합니다. 이 컴포지터들은 libwayland(또는 Sway와 같은 작은 컴포지터를 위한 wlroots)와 같은 라이브러리를 사용하여 그래픽 하드웨어와 직접 통신하여 프레임버퍼에 데이터를 작성합니다. 이는 Xorg에서의 중개자 필요성을 없애므로 성능 향상과 부드러운 렌더링을 가져옵니다.

Wayland의 특징

  • 개발, 유지 관리 및 디버깅을 쉽게 만드는 더 간단하고 현대적인 디자인
  • 애플리케이션을 분리하여 서로의 입력 또는 디스플레이 데이터에 접근하지 못하게 하여 보안 강화
  • 시스템 오버헤드 감소로 지연 시간 단축, 더 부드러운 그래픽 및 화면 찢어짐 감소
  • 고 DPI 디스플레이, 모니터별 스케일링 및 분수 스케일링을 위한 기본 지원
  • 일관된 시각 효과와 향상된 렌더링 성능을 제공하는 통합된 컴포지터
  • 터치스크린, 제스처, 스타일러스 및 기타 현대 입력 장치에 대한 기본 지원
  • 깜박임 및 시각적 왜곡을 줄이는 디스플레이와의 더 나은 동기화(VSync)
  • 레거시 복잡성을 피하여 현대 하드웨어 및 소프트웨어 요구 사항 지원을 쉽게 함

Wayland의 작동 원리

디스플레이 서버는 커널과 그래픽 하드웨어에 정보를 제공하여 신속하게 디스플레이로 전달할 수 있게 합니다. 이들은 각 애플리케이션이 해당 프로토콜을 사용하여 그들과 통신함으로써 이 정보를 수신합니다. 예를 들어, X와 함께 작동하도록 설계된 애플리케이션은 Wayland 서버와 통신할 수 없습니다.

Wayland Displayserver

Wayland는 XWaylandというものを通してこれを解決します。これはXクライアントとサーバー間の相互作用をWaylandが理解できるものに変換する互換性レイヤーとして機能します。

Waylandでは、サーバーとコンポジタは一つです。Waylandを使用するすべてのデスクトップ環境は、透明性やウィンドウのぼかし、遷移アニメーション、ドロップシャドウなどの効果を描画するためにWaylandプロトコルを実装したライブラリに呼び出しを行います。これにより、ウィンドウに立体感を与えます.

Waylandはこれらすべての機能をカーネルに近づけ、グラフィカル環境で経験する滑らかさを感じることが多いでしょう.

サードパーティのソフトウェアを経由して描画する代わりに、Waylandコンポジタはカーネル内の直接描画マネージャ(DRM)バッファに呼び出して物を描画します。

Waylandでは、手順がはるかにシンプルでプロセスが明確であることがわかるかもしれません。これにより、グラフィックが集中的な状況でのパフォーマンスが向上し、このプロトコルの下で動作するアプリケーションを作成する開発者がより簡単になります。

Wayland를 시도하는 방법

많은 현대 Linux 배포판 - 특히 최신 버전의 GNOME 또는 KDE Plasma를 사용하는 배포판 - 는 이제 Wayland를 기본 디스플레이 서버로 사용하고 있습니다.

Ubuntu 24.04 LTS(Noble Numbat) 기준으로 Wayland는 대부분의 시스템, 특히 Intel 또는 AMD 그래픽을 사용하는 시스템에서 기본 디스플레이 서버입니다. NVIDIA GPU를 사용하는 경우에도 시스템은 여전히 Wayland로 기본 설정됩니다. 그러나 여전히 작동하지 않는 경우 이 상세 가이드를 따라 Nvidia 그래픽 카드에서 Wayland를 작동시켜 보세요.

Wayland 또는 Xorg를 사용하고 있는지 확인하려면 터미널을 열고 다음을 실행하십시오:

echo $XDG_SESSION_TYPE

결과가 Wayland라면 이미 Wayland를 사용 중입니다. x11 이라고 나오면 Xorg를 실행 중입니다.

Xorg를 사용 중이라면 로그인 화면에서 Wayland로 전환할 수 있습니다. 기어 아이콘 또는 세션 메뉴(일반적으로 로그인 버튼 근처)를 찾아 클릭한 후 Ubuntu 또는 Wayland의 Ubuntu 또는 GNOME Classic을 선택하십시오. 그런 다음 평소처럼 로그인 하십시오.

로그인 화면에서 Wayland로 전환

참고: 라이브 세션(예: USB 드라이브의 Ubuntu 24.04.1)을 실행 중이라면 Xorg와 Wayland 간 전환 옵션이 없을 수 있습니다.

다른 배포판에서도 현재 버전의 GNOME 또는 KDE Plasma를 사용하는 경우 Wayland 사용 옵션이 제공됩니다.

Fedora 및 Arch Linux에서 Wayland 사용해 보기

Fedora는 GNOME 및 KDE Plasma 데스크탑 환경 모두에 대해 Wayland를 기본 디스플레이 서버로 전적으로 채택했습니다. 최신 버전의 Fedora를 사용 중이라면 이미 Wayland를 사용하고 있을 것입니다. Wayland와 X11 간 전환을 확인하거나 전환하는 프로세스는 Ubuntu와 유사합니다. 간단히 로그 아웃하고 로그인 화면에서 기어 아이콘을 클릭한 다음 적절한 세션을 선택합니다.

Arch Linux와 GNOME 사용자에게는 gnomegnome-session 패키지를 설치하는 것 외에 추가 설정이 필요하지 않으며, 기본 디스플레이 관리자(GDM)는 기본적으로 Wayland를 지원합니다.

sudo pacman -S gnome gnome-session

KDE Plasma 사용자는 Wayland 지원을 활성화하기 위해 plasmaplasma-workspace-wayland 패키지를 설치해야 합니다.

sudo pacman -S plasma plasma-workspace-wayland

두 경우 모두 여전히 X11에 의존하는 애플리케이션과의 호환성을 보장하기 위해 xorg-xwayland 패키지도 설치해야 합니다.

sudo pacman -S xorg-xwayland

필요한 패키지를 설치한 후에는 로그인 화면의 디스플레이 관리자 세션 메뉴에서 Wayland 세션을 선택하십시오.

Qt 및 GLFW 애플리케이션의 향상된 지원을 위해 qt5-wayland, qt6-wayland, 및 glfw-wayland를 설치하는 것을 고려해 보세요. 또한 Wayland에서 KDE를 실행하는 데 문제가 있는 경우 KWin 디버그 콘솔을 열어 문제를 진단할 수 있습니다:

qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsole

모든 설정이 완료되면 시스템이 Wayland에서 실행될 수 있도록 준비되어야 하며 레거시 X11 애플리케이션도 실행할 수 있습니다.

Wayland vs. Xorg: 주요 차이점

Wayland와 Xorg(또는 X11이라고도 함)는 아키텍처와 설계 철학에서 근본적으로 다릅니다. 오래된 시스템인 Xorg는 클라이언트-서버 모델을 사용하며 X 서버가 입출력을 처리합니다. 애플리케이션과 하드웨어 간 중개자로 작용합니다. 시간이 지남에 따라 이 모델은 수많은 확장 및 레거시 지원으로 인해 비대해져 성능 비효율성과 보안 문제로 이어졌습니다 - 예를 들어 애플리케이션이 서로의 입력을 엿볼 수 있는 등의 문제가 발생했습니다.

반면 Wayland는 더 간단하고 현대적으로 설계되었습니다. 클라이언트(애플리케이션)가 직접 컴포지터와 통신할 수 있도록 하여 별도의 디스플레이 서버 필요성을 없앱니다. 컴포지터는 렌더링과 디스플레이 모두를 처리하므로 보안 및 성능이 향상됩니다.

또 다른 주요 차이점은 각 시스템이 그래픽 출력을 관리하는 방식입니다. Xorg는 Compiz 또는 Mutter와 같은 외부 윈도우 관리자 및 컴포지터에 크게 의존합니다. 반면 Wayland는 컴포지터를 직접 통합하여 지연 시간과 화면 찢어짐을 줄입니다.

Wayland를 사용할 것인가

Wayland에 대한 지원은 steadily 증가하고 있습니다. Cinnamon, XFCE 및 MATE와 같은 데스크탑 환경도 Wayland 지원을 추가하기 시작했으며 많은 경량 윈도우 관리자도 이제 Wayland 호환 버전을 제공합니다. i3 사용자를 위한 Sway, dwm을 기반으로 한 dwl, 그리고 Hyprland와 같은 최신 도구는 Wayland를 위해 특별히 설계되었으며 더 부드러운 애니메이션과 같은 현대적 기능을 제공합니다.

그럼에도 불구하고 Wayland는 완벽하지 않습니다. xkill과 같은 일부 익숙한 도구는 Wayland가 윈도우를 처리하는 방식이 다르기 때문에 작동하지 않습니다. 하드웨어 및 소프트웨어 설정에 따라 가끔 버그나 한계가 발생할 수 있습니다. 수년 동안 유지 관리되지 않은 구식 애플리케이션은 Xorg 없이는 잘 작동하지 않을 수 있습니다.

마무리

현재 설정이 원활하게 작동하고 있다면 변경할 시급한 이유는 없습니다 - 작동하는 것을 계속 사용하면 됩니다. 그러나 동결되거나 화면 이동이 끊기는 등의 문제가 발생한다면 다른 디스플레이 서버를 시도해볼 가치가 있을 수 있습니다. 종종, 하드웨어와 드라이버에 따라 하나가 다른 하나보다 더 잘 작동합니다. 예상대로 작동하지 않는 경우 디스플레이 시스템을 전환하면 문제가 해결될 수 있습니다.