본문 바로가기
리눅스

Switching to Wayland from X11

by 다움위키 2024. 8. 2.

원문: https://dawoum.duckdns.org/wiki/Switching_to_Wayland_from_X11

 

요즘 배포판의 새로운 소식들 중에서 더 이상 X11을 지원하지 않겠다는 기사가 보입니다. 대표적으로 2024년 10경 출시 예정인 페도라 버전 41에서 Wayland만 지원하고 X11은 설치 시에 지원하지 않을 전망입니다. 아마도, 배포판 설치 후에 X11 세션을 다시 설치할 방법은 제공될 것으로 보입니다.

게다가, 그놈 개발자 중에서도 X11에 대한 지원을 중단하고 Wayland만 지원하자는 의견도 제시되고 있습니다.

어쨌든, 2024년 8월 Hyprland에 대한 소식을 접하면서, Wayland를 사용해 보고자 합니다. 하지만, 타일링 윈도우 관리기는 높은 해상도에서 잘 설정하기 쉽지 않습니다.

이전 기록으로 보자면, Wayland (display server protocol)/Troubleshootings의 내용은 아직 Wayland를 사용하기에 적합하지 않은 것처럼 보입니다. 그러나, 대부분의 문제점은 이미 해결되었거나, 해결할 수 있는 방법이 있어서, Wayland를 기본으로 이용해 볼 수 있습니다.

어쨌든, 그놈 46에서 Wayland를 사용하기 위해, 다음 환경 변수가 필요할 수 있습니다. 특히, Qt-기반 응용 프로그램에서 같은 창 모양새를 만들기 위해 필요할 수 있습니다. 그렇지 않으면, desktop 파일에서 환경 변수를 지정해서 실행할 수 있습니다.

if [[ "$XDG_SESSION_TYPE" == "wayland" ]]; then
    export MOZ_ENABLE_WAYLAND=1
    export XCURSOR_SIZE=8
    export MOZ_ACCELERATED=1

    # Force GTK to use wayland
    export GDK_BACKEND=wayland
    export CLUTTER_BACKEND=wayland
    export BEMENU_BACKEND=wayland

    # Force Qt to use X11
    export QT_QPA_PLATFORM=xcb
    export QT_WAYLAND_DISABLE_WINDOWDECORATION="0"
    export QT_QPA_PLATFORMTHEME=qt5ct
    export QT_SCALE_FACTOR=1.0
    export SDL_VIDEODRIVER=wayland
    export QT_STYLE_OVERRIDE=kvantum-dark

    # Java apps
    export _JAVA_AWT_WM_NONREPARENTING=1
fi

QT_SCALE_FACTOR=1.0으로 사용하기 위해서, KDE 설정에서 미리 적당한 크기의 글꼴을 설정해 주어야 합니다.

설정 팁

  • smplayer : wayland support를 체크하고, video output driver를 vaapi로 설정할 수 있습니다. 아마도 비디오 카드에 따라 다를 수 있기 때문에, 다른 드라이버도 테스트해 보시고, top 등을 사용해서 cpu 사용량을 보십시오.

기타 정보

  • vivaldi, chromium : window decoration 다른 모양, 한글 입력기 붙지 않음. GDK_BACKEND=x11을 사용할 수 있음.
  • vivaldi, chromium : --ozone-platform=wayland, --gtk-version=4를 사용해서 wayland에서 한글 입력기 동작함. 창 모양새는 아직 둘 다 문제가 있음.
  • inkscape : window decoration 다른 모양이 나타나면, Edit->Preferences를 눌러서 Interface->Theming에서 Change GTK theme에서 모양을 바꿀 수 있음.
  • hypnotix : 화면에 표시되지 않을 수 있음. GDK_BACKEND=x11을 사용할 수 있음
  • alacritty : window decoration 다른 모양, env -u WAYLAND_DISPLAY alacritty로 실행.