3.6 KiB
MiniPC-8845 Arch WSL GPU Runner
Configuration recorded on 2026-10-05.
Host
| Component | Configuration |
|---|---|
| Hostname | MiniPC-8845 |
| Windows build | 10.0.26200.9445 |
| GPU | AMD Radeon 780M Graphics |
| Windows GPU driver | 32.0.12033.1030 |
| WSL version | 2.7.3.0 |
| Distribution | archlinux, Arch Linux on WSL 2 |
| Linux kernel | 6.6.114.1-microsoft-standard-WSL2 |
| Init system | systemd |
| WSL networking | Mirrored |
| GPU access | /dev/dxg and /usr/lib/wsl/lib |
GitHub Actions Runner
| Setting | Value |
|---|---|
| Repository | MobileGL-Dev/MobileGL |
| Runner name | minipc-8845-arch-wsl-gpu |
| Runner version | 2.337.0, automatic updates enabled |
| Labels | self-hosted, Linux, X64, arch, wsl, gpu, gles, vulkan, d3d12 |
| Concurrent jobs | 1 |
| Linux account | github-runner, UID 1001, no sudo configuration |
| Installation directory | /opt/actions-runner/mobilegl |
| Work directory | /opt/actions-runner/mobilegl/_work |
| Environment file | /etc/mobilegl-runner/gpu.env |
Workflow runner selector:
runs-on: [self-hosted, Linux, X64, arch, wsl, gpu, gles, vulkan]
Graphics
| Component | Configuration |
|---|---|
| Mesa | 26.2.1-arch1.1 |
| OpenGL / GLES driver | Mesa D3D12 |
| Renderer | D3D12 (AMD Radeon 780M Graphics) |
| EGL | 1.5 |
| OpenGL | 4.6 |
| OpenGL ES | 3.1 |
| Vulkan driver | Mesa Dozen, translating Vulkan to D3D12 |
| Vulkan device API | 1.2.354 |
| Vulkan ICD | /usr/share/vulkan/icd.d/dzn_icd.json |
| Default EGL platform | Surfaceless |
Dozen reports a non-conformant Vulkan implementation. The exposed capabilities are GLES 3.1 and Vulkan 1.2; GLES 3.2 and full Vulkan conformance are not available.
The runner service selects the Radeon GPU with these environment variables:
DISPLAY=:0
WAYLAND_DISPLAY=wayland-0
XDG_RUNTIME_DIR=/mnt/wslg/runtime-dir
LD_LIBRARY_PATH=/usr/lib/wsl/lib
MESA_LOADER_DRIVER_OVERRIDE=d3d12
GALLIUM_DRIVER=d3d12
MESA_D3D12_DEFAULT_ADAPTER_NAME="AMD Radeon 780M Graphics"
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/dzn_icd.json
EGL_PLATFORM=surfaceless
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
The installed GPU probe is /usr/local/libexec/mobilegl-runner/gpu-smoke.
Its GLES source is /usr/local/libexec/mobilegl-runner/gles-smoke.c, and the
recorded verification log is /var/log/mobilegl-runner/gpu-smoke.log.
Build Tools
Installed tools include GCC, Clang 22, CMake, Ninja, ccache, LLD, libc++, Git LFS, GitHub CLI, and EGL/GLES/Vulkan development headers.
Service and Startup
| Setting | Value |
|---|---|
| systemd unit | actions.runner.MobileGL-Dev-MobileGL.minipc-8845-arch-wsl-gpu.service |
| Service drop-in | /etc/systemd/system/actions.runner.MobileGL-Dev-MobileGL.minipc-8845-arch-wsl-gpu.service.d/gpu.conf |
| Service startup | Enabled at WSL systemd boot |
| Restart policy | Restart=always, RestartSec=15 |
| Startup checks | GPU device access and WSLg X11/Wayland sockets |
| Windows scheduled task | MobileGL Arch WSL Runner |
| Task trigger | Windows login by Swung0x48 |
| Task behavior | Starts WSL in a hidden window and keeps it running |
| Task execution limit | Unlimited |
| Task retry policy | Every minute, up to 999 retries |
Automatic startup requires the Windows user to log in. The runner cannot execute jobs while the host is asleep.
Network
The runner uses the Windows Clash proxy through WSL mirrored networking:
http_proxy=http://127.0.0.1:7897
https_proxy=http://127.0.0.1:7897
no_proxy=localhost,127.0.0.1,::1
Clash must be running for the runner's configured GitHub connection to work.