Denial WM: Flutter가 직접 내장된 새로운 Wayland Compositor
요약
Denial은 Flutter Engine을 직접 내장하여 GPU 텍스처를 효율적으로 처리하는 새로운 Wayland 컴포지터입니다. Rust와 Smithay를 기반으로 설계되었으며, 중간 단계 없는 직접 렌더링을 통해 최적화된 데스크톱 환경을 제공합니다.
핵심 포인트
- Flutter Engine을 직접 내장하여 GPU 텍스처를 직접 임포트
- Rust와 Smithay를 사용하여 Wayland 프로토콜 및 리소스 관리
- 중간 렌더 타겟 없는 직접 렌더링으로 성능 최적화
- Flutter Inspector 및 핫 리로드 등 개발 워크플로우 지원
- 커스텀 Flutter Engine 및 Skia 빌드를 통한 프레임 최적화
Denial WM: Flutter가 직접 내장된 새로운 Wayland Compositor

Denial은 현재 Flutter-native Wayland compositor로서 알파 소프트웨어로 간주됩니다. Denial의 리드 개발자는 Phoronix에 다음과 같이 설계 방식을 설명했습니다:
"Denial은 다른 compositor 위에서 애플리케이션으로서 Flutter를 실행하는 것이 아닙니다. Flutter Engine을 직접 내장하는 대신, Rust와 Smithay compositor가 Wayland 프로토콜 상태, 입력, DMA-BUFs, DRM/KMS 프레젠테이션 및 네이티브 리소스 수명을 처리합니다.
Wayland DMA-BUF 기반 애플리케이션 버퍼는 CPU readback, 픽셀 복사 또는 텍스처 업로드가 필요하지 않은 GPU 텍스처(EGL_EXT_image_dma_buf_import 사용)로 Flutter 씬(scene)에 임포트됩니다.
Flutter는 KMS 프레젠테이션에 사용되는 GBM 버퍼로 직접 렌더링합니다. 중간 렌더 타겟(render target), 최종 블릿(blit) 또는 두 번째 compositor 패스는 존재하지 않습니다.
Denial은 이미 저의 데일리 데스크톱입니다:
-
네이티브 Wayland 애플리케이션 (Chromium, Firefox, Blender, Discord 등)
-
XWayland
-
Steam 및 고사양 Proton 게임 (Arknights: Endfield, Wuthering Waves, Neverness to Everness, Final Fantasy XIV를 테스트했습니다) 모두 제 테스트에서 완벽하게 작동합니다.
-
nwg-displays를 위해 구현되어 업스트림 제출 준비가 된 전용 Denial 백엔드를 포함한 멀티 모니터 구성
-
알림 (notifications)
-
오디오, 창별 볼륨 제어 포함
-
화면 잠금 및 DPMS
-
화면 공유 (OBS로 테스트 완료)
-
CI/CD가 적용된 서명된 Arch 패키지
...
이 프로젝트는 일반적인 Flutter 개발 워크플로우도 유지합니다. 선택적인 개발 패키지는 compositor를 재시작하거나 실행 중인 애플리케이션을 닫지 않고도 라이브 데스크톱 셸에 대해 Flutter Inspector, DevTools 및 핫 리로드(hot reload)를 제공합니다. 프로파일링(Profiling) 및 디버그 모드는 Denial이 실행되는 동안 활성화/비활성화할 수 있습니다.
Denial은 외부 텍스처 손상 추적(external-texture damage tracking), 특화된 프레임 스케줄링(frame scheduling), 그리고 핫 드로우 의존성 경로(hot draw-dependency paths)에서의 힙 할당(heap allocations) 제거를 포함하여, 컴포지터(compositor) 특화 최적화가 적용된 커스텀 Flutter Engine 및 Skia 빌드를 사용합니다. 데스크톱 컴포지터에서는 최적화가 필수적이므로, 작업의 상당 부분이 낮고 일관된 프레임 시간(frame times)을 위해 최적화하는 데 할애됩니다.
흥미로운 프로젝트로 보이며, 적어도 시중에 나와 있는 다른 Wayland 컴포지터들보다 몇 가지 독창적인 목표를 가지고 있는 것 같습니다.
Denial에 대해 더 자세히 알고 싶은 분들은 DenialWM.org를 통해 확인할 수 있으며, GPLv3+ 라이선스의 코드는 GitHub에 호스팅되어 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기