피드로 돌아가기
WSL graphics driver update brings better GPU support for Linux apps
The RegisterThe Register
Infrastructure

WSL graphics driver update brings better GPU support for Linux apps

Microsoft와 WINE/Valve가 각각 dxgkrnl 드라이버 v4와 MESA_map_buffer_client_pointer API를 도입해 비원시 OS 환경의 GPU 성능 향상 및 32-bit 앱 호환성 개선

Liam Proven2026년 3월 20일8intermediate

Context

Linux를 WSL2로 Windows 위에서 실행하거나 Windows 앱을 Linux/macOS 위에서 실행할 때 GPU 그래픽 성능이 제한적이었다. WINE이 32-bit Windows 앱을 64-bit 호스트 OS에서 실행할 때, glMapBuffer API로 할당된 GPU 메모리의 64-bit 주소를 32-bit 애플리케이션에 전달할 수 없는 문제가 발생했다.

Technical Solution

  • dxgkrnl 드라이버를 v4로 업데이트: 2020년 초기 도입 이후 2022년 v2로 재구축, v3로 리팩토링, 2024년 v4 출시로 계산 전용 GPU 지원, VM당 여러 가상 GPU, dma-fence를 통한 드라이버 버퍼 공유 기능 추가
  • WINE 11에서 32-bit에서 64-bit thunking 완전 통합: wine32/wine64 명령어 제거
  • Mesa 라이브러리에 MESA_map_buffer_client_pointer API 신규 구현: 버퍼 할당 시 특정 주소 범위 내에서 할당 가능하도록 해 32-bit 코드가 느린 복사 작업 없이 접근 가능
  • Valve의 Proton을 Steam 플랫폼 Linux 클라이언트에 통합: Windows 게임을 Linux에서 직접 실행
  • OpenGL 표준 개선: Vulkan 1.0 이후에도 OpenGL 개발 계속 진행 중

비원시 OS 환경에서 GPU를 활용하는 애플리케이션 개발 시, dxgkrnl(WSL2 환경)이나 MESA_map_buffer_client_pointer(WINE/Linux 환경)과 같은 주소 공간 호환성 레이어를 활용하면 고성능 버퍼 공유를 복사 오버헤드 없이 구현할 수 있다.

원문 읽기