私はこの説明に基づいて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を使用しているようです。