Linux에서 입력 지연 측정: X11 vs Wayland, VRR, 그리고 DXVK Low‑Latency

Linux에서 입력 지연 측정: X11 vs Wayland, VRR, 그리고 DXVK Low‑Latency

TL;DR – 숫자가 의미하는 바

  • X11 vs. Wayland: X11이 약간 더 빠릅니다 (0.14–0.22 ms). 이는 Wayland가 느리게 느껴진다는 일반적인 인식을 설명하기엔 부족합니다.
  • Variable Refresh Rate (VRR): VRR을 활성화하면 지연 시간이 일관되게 0.26–0.45 ms 감소하고 지연 분포가 좁아집니다.
  • DXVK low‑latency 포크: 제한된 상황에서는 0.10–0.29 ms 감소; 제한이 없고 GPU에 바인딩된 경우에는 0.84 ms 감소하고 프레임‑타임 스파이크를 완화합니다.
  • XWayland: 무려 3.13 ms의 큰 패널티를 추가해 다른 모든 효과를 압도합니다.
  • 전체적인 이득: 모든 최적화(X11 + VRR + DXVK low‑latency)를 적용하면 기본 순수 Wayland 설정에 비해 중앙값 종단‑대‑종단 지연이 약 0.72 ms 감소합니다.

측정 방법

저자는 Adafruit QT Py RP2040을 이용해 click‑to‑photon 장치를 구축했습니다:

  1. 1000 Hz 폴링 레이트로 USB HID 마우스 클릭을 전송합니다.
  2. 바로 모니터에 장착된 포토다이오드를 샘플링하기 시작합니다 (샘플당 ≈24 µs, 클릭당 12 k 샘플).
  3. 샘플을 호스트로 스트리밍하고, 스크립트가 클릭당 기준선에서 첫 밝기 변화를 찾습니다.
  4. 샘플링 윈도우 길이가 고정돼 있기 때문에, 스크립트는 클릭 발생 시점과 화면 밝기 변화 시점 사이의 정확한 시간을 계산합니다 – 종단‑대‑종단 시스템 지연 (마우스 → CPU → GPU → 컴포지터 → 스캔‑아웃 → 디스플레이).

이 방법은 USB와 디스플레이 지연을 포함한 전체 파이프라인을 포착합니다. GPU‑전용 타이머가 USB와 디스플레이 지연을 제외하는 것과는 다릅니다.


테스트 매트릭스

변수 옵션
디스플레이 서버 X11 (네이티브), Wayland (네이티브), XWayland
VRR Off, On
DXVK low‑latency Off, On
캡 모드 새로 고침률(500 Hz)로 FPS 제한 또는 제한 없음(GPU‑바인드)

모든 테스트는 동일한 하드웨어와 소프트웨어 스택을 사용했습니다:

  • CPU: AMD Ryzen 7 5800X3D
  • GPU: NVIDIA RTX 4070 SUPER, driver 610.43.03
  • 디스플레이: MSI MAG 272QP QD‑OLED, 2560×1440 @ 500 Hz
  • OS: CachyOS kernel 7.1.3‑2, KDE Plasma 6.7.2, Xorg 21.1.24
  • 게임: Diabotical (DirectX 11) via Heroic + Proton‑cachyos 11.0, DXVK 3.0
  • 설정: 네이티브 해상도, 100 % 렌더 스케일, V‑sync off, 기타 그래픽은 모두 low.

각 시나리오는 정적인 인‑게임 장면에서 300번 클릭(≈2 분) 수행해 프레임 레이트를 안정적으로 유지하고 CPU에 바인딩되도록 했습니다.


핵심 결과 (중앙값 지연, ms)

구성 X11 Wayland XWayland
Low‑latency + VRR 4.21 4.38 (+0.17)
Low‑latency 4.64 4.83 (+0.19) 5.95 (+1.12)
VRR only 4.45 4.67 (+0.22)
Plain 4.79 4.93 (+0.14) 8.06 (+3.13)

제한 없음(GPU‑바인드) 비교

  • Low‑latency off: 5.27 ms, 715 FPS
  • Low‑latency on: 4.43 ms, 670 FPS (‑0.84 ms 지연, ‑45 FPS)

관찰 내용

  1. X11이 Wayland보다 약 0.2 ms 빠름 – “Wayland가 느리다”는 일화보다 훨씬 작습니다.
  2. VRR은 일관되게 지연을 개선 (0.26–0.45 ms)하고 분포를 좁힙니다(p95‑p5 범위가 ~3 ms에서 ~2 ms로 감소).
  3. DXVK low‑latency는 제한된 모드에서 약간의 이득(≈0.2 ms) 제공하지만 제한이 없을 때는 0.84 ms를 절감하고 GPU 포화도를 방지합니다.
  4. XWayland가 가장 큰 지연 원인 – 3 ms 이상을 추가해 다른 모든 요인의 합보다 큽니다.

XWayland가 이렇게 비용이 많이 드는 이유

저자는 XWayland가 게임을 추가적인 X 서버 레이어를 거쳐 Wayland 컴포지터에 전달하게 하여 복사‑및‑합성 단계가 추가된다고 지적했습니다. 네이티브 Wayland에서는 컴포지터가 direct scan‑out(플립 모드)를 사용할 수 있어 전체 화면 창에 대해 합성을 완전히 건너뛸 수 있습니다. 이러한 구조적 오버헤드가 3 ms 패널티를 초래하며, 이는 X11‑Wayland 간의 작은 차이를 압도합니다.


커뮤니티 검증

  • David Ramiro의 m2p‑latency 연구는 네이티브 Wayland가 네이티브 X11과 비슷한 지연(~7 ms)을 보이고 XWayland는 거의 두 배의 지연을 보인다고 밝혀 현재 결과와 일치합니다.
  • farnoy의 Open‑Source‑LDAT 작업도 XWayland를 피해야 한다는 결론을 내렸습니다.
  • Themaister의 VK_EXT_present_timing 방법은 PC 지연만 측정(USB/디스플레이 제외)해 여기서 사용한 종단‑대‑종단 접근을 보완합니다.

Linux 게이머를 위한 실용적인 시사점

  1. 가능하면 XWayland를 피하세요 – 3 ms 이상의 지연을 추가합니다.
  2. 네이티브 Wayland를 선호하세요; X11과의 차이는 무시할 수준이며 향후 컴포지터 최적화(KWin 튜닝 등)로 더 줄어들 가능성이 높습니다.
  3. 고주사율 디스플레이에서 VRR을 활성화하세요; 가장 큰 지연 감소와 프레임 타이밍 안정화를 제공합니다.
  4. DXVK low‑latency를 사용하세요, 특히 제한이 없고 GPU에 바인딩된 상황에서 프레임 페이싱을 부드럽게 하고 약 0.8 ms를 절감합니다.
  5. X11과 Wayland 모두에서 플립 모드(직접 스캔‑아웃)를 유지해 컴포지터가 블릿/합성 경로로 되돌아가지 않도록 합니다.

제한 사항 및 범위

  • 결과는 단일 하드웨어 구성(500 Hz OLED, RTX 4070 SUPER, Linux kernel 7.1.3)에서 나온 것입니다. 절대값은 다른 환경에서 달라질 수 있지만 상대적인 이득은 비슷할 것입니다.
  • 테스트는 정적인 장면으로 CPU에 바인딩된 상태에서 수행되었습니다; 동적인 로드가 있는 실제 게임에서는 VRR과 DXVK low‑latency의 효과가 더 크게 나타날 수 있습니다.
  • 단 하나의 게임(DirectX 11 Diabotical)만 사용했으며, Vulkan이나 OpenGL 게임은 다른 동작을 보일 수 있습니다.

마무리 발언

이상적인 CPU‑바인드 상황에서 최적화 조합(X11 + VRR + DXVK low‑latency)은 기본 순수 Wayland 설정에 비해 중앙값 종단‑대‑종단 입력 지연을 ~0.72 ms 줄입니다. 절대적인 개선 폭은 작아 보이지만, 지터 감소(VRR 덕분)와 프레임‑타임 스파이크 완화(DXVK low‑latency 덕분)는 빠른 템포의 경쟁 게임에서 체감될 수 있습니다. 가장 큰 승리는 XWayland를 피하는 것이며, 이는 다른 모든 요인을 합친 것보다 큰 지연 패널티를 초래합니다.


“Linux의 매력 중 하나는 이런 분석이 가능할 뿐만 아니라 의미가 있다는 점입니다. 이 결과는 그래픽 소프트웨어 개발자와 배포판 패키지 담당자에게 전달돼 생태계가 개선될 것입니다.” – NelsonMinar, HN comment

“‘Wayland 입력 지연’이라는 것은 존재하지 않습니다. 이 글은 Xorg와 KWin(그리고 XWayland)을 비교한 것이며, 다른 구현은 다른 특성을 가질 수 있습니다.” – seba_dos1, HN comment

“요즘 나를 미치게 하는 입력 지연은 화면 언블랭크 지연입니다… DPMS 절전 중에도 입력이 활성화된 옛 X 서버 동작이 그리워요.” – saltcured, HN comment

이러한 커뮤니티 의견은 정확한 하드웨어 기반 지연 측정이 향후 Linux 그래픽 스택 개발을 안내하는 데 얼마나 중요한지를 강조합니다.

Sources