Win11 & Optimus 双显卡笔记本,一启动 WSL2 ( WSLg )就会启动 NVIDIA ,非常影响续航。Google 爬了一圈,搜各种关键词全是教你如何在 WSL 里启用 NVIDIA 的,一点关于如何禁用 NVIDIA 只用核显的线索都没有,好奇没人有这个需求么?
1
codehz 2022-04-23 08:00:21 +08:00
mesa 增加了 MESA_D3D12_ADAPTER_NAME 选项(模糊匹配适配器名字,写 intel 大概就可以了——另外别忘了把 intel 的驱动也装上
|
2
liyafe1997 OP @codehz
这个我试了,跑 glxgears 会没有画面。而且加上这个之后,在 WSL2 启动之后还是会启动 NVIDIA GPU ,只是 Linux 里的默认 MESA RENDER 变成了 Intel ,治标不治本。 |
3
xiangyuecn 2022-04-23 09:31:31 +08:00
直接设备管理器里面 禁用掉显卡硬件 不就成了
|
4
ch2 2022-04-23 10:27:58 +08:00
装旧驱动,旧驱动不支持 wslg
|
5
jKpzPv20NjX56i44 2022-04-23 10:56:11 +08:00 via Android
|
6
qbqbqbqb 2022-04-23 21:24:34 +08:00
https://github.com/microsoft/wslg/wiki/WSLg-Configuration-Options-for-Debugging
根据这个文档的说明,在 C:\ProgramData\Microsoft\WSL\.wslgconfig 配置文件里面增加这个配置: [system-distro-env] ;disable GPU in system-distro LIBGL_ALWAYS_SOFTWARE=1 我试了是有效果的。使用了这个配置 WSLg 本身就不会启动 NVIDIA GPU 了,同时不影响用户在 WSL 里运行的 OpenGL 软件(仍然可以正常调用 NVIDIA GPU ,按需启动)。注意这个配置文件必须 LF 行尾,CRLF 会有问题。 |
7
hgert 2022-04-24 07:54:27 +08:00
建议物理拔除)滑稽(
|
8
liyafe1997 OP @qbqbqbqb 我试了下还是会自动,如果打开了 NVIDIA 那个 GPU 活动指示器,开启 WSL 以后能看到右下角的图标亮起来,点开里面有个叫 System 的进程在占用 GPU
|
9
liyafe1997 OP @qbqbqbqb Sorry....原来是我的配置文件名打错了,是.wslgconfig 我打成了.wslconfig 。。。My bad
这个真管用,真的不会自动启动 NVIDIA 了,不过要是能完全使用 Intel 核显,即使里面运行 OpenGL 也用核显,就好了。 |