내 출력 :
$ inxi -G
Graphics:
Device-1: Microsoft Basic Render Driver driver: dxgkrnl v: 2.0.1
Display: wayland server: Microsoft Corporation X.org driver: gpu: dxgkrnl
resolution: 1: 1920x1080~60Hz 2: 1920x1080~60Hz
OpenGL: renderer: llvmpipe (LLVM 13.0.1 256 bits)
v: 4.5 Mesa 23.0.0-devel (git-4b077ffb98)
$ lspci -v |grep -A8 VGA
lspci: Unable to load libkmod resources: error -2
시스템 :
- 아수스 젠북 UX325EA 윈도우 11
- WSL2 우분투 22.04 Jammy
- Intel i7 11th / Intel Iris Xe 그래픽
답변1
설명에서 언급했듯이 WSL2에서 실행될 때 실제로 하드웨어 드라이버를 Ubuntu에 설치하지 않습니다(대부분 1 ).
WSL2는 흥미로운 기술 조합입니다.
WSL2 자체는 "관리되는 가상 머신"입니다. 최종 사용자로서 우리는 실제로 VM 자체와 상호 작용하지 않습니다. 어쨌든 가상화되었으므로 하드웨어 드라이버를 거의 설치하지 않습니다. 예를 들어 VirtualBox와 상호 작용할 때 VirtualBox 디스플레이 드라이버를 설치하면주인운영 체제는 다음을 제공합니다.하드웨어디스플레이 드라이버.
Ubuntu 배포판은 네임스페이스와 cgroup을 사용하여 해당 VM 내부의 "컨테이너" 내에서 실행됩니다. 이는 Docker 및 기타 컨테이너 기술이 작동하는 방식과 유사합니다. 다시 말하지만, 컨테이너 내부에는 하드웨어 드라이버를 거의 설치하지 않습니다. 컨테이너는 호스트 VM(이 경우 WSL2)의 커널과 드라이버(이 경우 가상 WSL2 드라이버)에 의존합니다.
그래픽 기능은 실제로 RDP 프로토콜을 사용하여 WSL이 Windows에서 자동으로 연결하는 가상 RDP 세션에 Wayland 및 X 응용 프로그램을 표시하는 WSLg를 통해 제공됩니다. 아마도 상상할 수 있듯이윈도우해당 하드웨어용 디스플레이 드라이버가 이 기능에 사용되고 있습니다.
GPU 컴퓨팅 작업은 WSL2에서 처리됩니다.다이렉트ML(및 Nvidia의 경우 CUDA) 시작 시 배포판(컨테이너)에 "주입"되는 라이브러리입니다. WSL2에서 ML 작업을 작성하는 것은 내가 올바르게 이해한 경우 기술에 대한 TensorFlow(1 및 2) 및 PyTorch 구현을 사용하여 DirectML을 통해 수행됩니다. 에 따르면마이크로소프트 문서:
이 패키지는 AMD, Intel 및 NVIDIA GPU의 워크플로우를 가속화합니다.
다시 말하지만, 이는 다음을 통해 수행됩니다.윈도우Linux 구현과 Windows 호스트 드라이버 간에 데이터를 프록시하는 방법을 알고 있는 WSL2에서 실행되는 DirectML 라이브러리가 있는 GPU 드라이버입니다.
각주:
1 USB 드라이버는 이 규칙에서 예외일 수 있습니다. WSL2는 USB 장치를 Windows 호스트에서 Linux 배포판으로 공유할 수 있도록 USB/IP를 지원합니다. 이 경우 장치의 실제 하드웨어 드라이버를 Linux에서 사용할 수 있어야 합니다.