WSL Docker的GPU硬體加速:virglrenderer
Linux系統
虛擬機與容器技術
VirGL
Windows Subsystem for Linux
Docker

作者
Ivon Huang
註解:本文僅是一個概念驗證,WSL已經有自己更好的硬體加速做法( WSLg環境變數)
WSL支援硬體加速,登入WSL後啟動Linux圖形程式,可以用Windows的顯示卡渲染。
但是若在WSL裡面跑Docker容器是吃不到顯示卡加速的。OpenGL圖形效能低落。
這個時候可以採用virglrenderer的方法。
virglrenderer在真正的Linux系統上可以做到給QEMU/KVM虛擬機GPU加速的效果。例如Ubuntu跑Fedora虛擬機,在同一個畫面操作的時候,Fedora虛擬機的視窗可以吃到virglrenderer的硬體加速,讓畫面更流暢。
那麼我們只要在有硬體加速的WSL跑virgl server,容器裡的程式就吃得到硬體加速了。
- 登入WSL Ubuntu 22.04
wsl
- 安裝virglrenderer
sudo apt install libvirglrenderer-dev libvirglrenderer1 virgl-server
- 啟動virglrednerer伺服器
virgl_test_server --use-egl-surfaceless &
- 進入Docker容器shell。例如我這裡是用 Distrobox安裝的Fedora
distrobox enter fedora
- 安裝virglrenderer、Firefox
sudo dnf install virglrenderer firefox
使用
GALLIUM_DRIVER=virpie firefox
啟動Firefox並在
about:config
強制啟用WebGL,即可看見硬體加速成效。
不過GALIIUM_DRIVER=virpipe glxinfo
無法讀取顯卡裝置。
參考資料
相關文章
讓WSL Docker的OpenGL程式可以使用Windows GPU硬體加速
Linux系統
虛擬機與容器技術
Nvidia
Windows Subsystem for Linux
Docker
ReDroid,在Windows電腦架設Android雲手機的方法
Linux系統
虛擬機與容器技術
ReDroid
Docker
Android
Windows Subsystem for Linux
Scrcpy
如何在Windows 11安裝WSL2子系統 (Ubuntu)
Linux系統
虛擬機與容器技術
Windows Subsystem for Linux
Docker