我想我明白 LIBGL_ALWAYS_INDIRECT 的作用,根据这个解释:LIBGL_ALWAYS_INDIRECT=1 实际上做了什么?
但是我无法理解何时/为何需要它?
就我而言,我有一个自制的 dotnet 核心应用程序(使用阿瓦洛尼亚框架),当不作为 sudo 运行时,它在 WSL2 Linux (Ubuntu Distro) 上工作正常,但当作为 sudo 运行时,它显示窗口框架而不显示任何内容。但是指定 LIBGL_ALWAYS_INDIRECT=1 可以解决问题。那么为什么只有在作为 sudo 运行时才需要指定 LIBGL_ALWAYS_INDIRECT 呢?
总结一下:
命令行 | 作品? |
---|---|
./myapp | 是的 |
LIBGL_ALWAYS_INDIRECT=1 ./myapp | 是的 |
须藤 ./myapp | 不 |
须藤 LIBGL_ALWAYS_INDIRECT=1 ./myapp | 是的 |
sudo -E/-H 似乎没有什么区别。 WSL发行版是Ubuntu 22.04,它似乎使用wayland。