WSL2 Docker中Headless Chrome硬件加速无法启用问题求助
问题:WSL2 Docker容器中Headless Chrome无法启用GPU硬件加速
背景
目标是高性能渲染WebGL2应用的单帧,环境为Windows 10 22H2的WSL2上运行的Ubuntu 20.04.4 Docker容器,使用Puppeteer搭配Headless Chrome。目前硬件加速始终无法激活,Chrome无法识别NVIDIA GTX1080显卡,但在宿主系统中设置headless: false时,显卡可正常使用并大幅提升渲染性能。
已完成的配置验证
- 已在WSL2上安装CUDA工具包,通过命令
sudo docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark启动的容器可正常调用GTX1080 - 容器内执行
nvidia-smi输出信息:
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 525.65 Driver Version: 527.37 CUDA Version: 12.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA GeForce ... On | 00000000:01:00.0 On | N/A | | N/A 49C P8 10W / N/A | 871MiB / 8192MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================|
- Docker Compose服务配置:
deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu]
尝试过的无效Chrome启动参数
--ignore-gpu-blocklist--enable-gpu-rasterization--enable-zero-copy--use-gl=desktop/--use-gl=egl- 搭配libosmesa6使用
--use-gl=osmesa
当前状态
- Chrome版本:
HeadlessChrome/108.0.5351.0 - WebGL上下文
WEBGL_debug_renderer_info信息:- vendor:
Google Inc. (Google) - renderer:
ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver)
- vendor:
- chrome://gpu页面显示GPU未被启用
提问
还需要做哪些设置才能让Chrome使用GPU进行硬件加速?
内容的提问来源于stack exchange,提问作者Tobias
相关产品推荐
相关产品推荐

