sudo로 실행하려면 LIBGL_ALWAYS_INDIRECT가 필요한 이유는 무엇입니까?

sudo로 실행하려면 LIBGL_ALWAYS_INDIRECT가 필요한 이유는 무엇입니까?

나는 이 설명을 바탕으로 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
sudo./myapp 아니요
sudo LIBGL_ALWAYS_INDIRECT=1 ./myapp

sudo -E/-H는 아무런 차이가 없는 것 같습니다. WSL 배포판은 Ubuntu 22.04이며 wayland를 사용하는 것으로 보입니다.

관련 정보