3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windows 11 + WSL2(WSLg) で X11 アプリを動かすメモ(2023/02 時点ではおすすめしない!)

Last updated at Posted at 2021-12-27

2021/12/27 時点では, Windows11 通常版(Build 22000.376. Insider preview 不要)で動きます!しかし利用はおすすめしません!

X11 ネイティブ(?)表示は Preview 段階のようですが, gnome-terminal など動かすのができて便利です.

なんか 22H2 にしたりとかだと NVIDIA では seg fault したりで,

また, sleep/suspend から復帰するとだめだったりと,

2023/02 時点では不都合多くてまともに使えなくなっているので, おすすめしないことにしました.

以下はログ用です. また, 最後のほうに work around 考えられるのを記載しました.

WSLg という名称らしい.

セットアップ

特に X11 用に設定は不要です.
WSL2 インストールは他にたくさん記事ありますのでそちらを参照ください.

ドライバは WSLg 用を求められますが, 少なくとも 2022/09 時点では NVIDIA では標準のドライバで対応しているようです.

$ sudo apt install x11-apps

あとは普通に x11 アプリをうごかすだけです!
(Windows 側で VcXsrv などの X11 server のインストール不要)

Screenshot from 2021-12-27 18-03-51.png

voila!
(なんか透過している?)

VcXsrv などの設定(e.g. DISPLAY 変数など)が残っているとうまくうごかないでしょう.
DISPLAY 設定は DISPLAY=:0 にしておく必要がありました(マルチモニタだと :1 とかも使えるんじゃろか?)

NVIDIA だと OpenGL, Vulkan 動かない可能性高い

なんだかんだで NVIDIA driver だと不安定で OpenGL, Vulkan 動かないケースがあるようです.
著者も一時期動いていましたが, いろいろアップデートしたら動かなくなりました
(segmentation fault する)

WSL で OpenGL/Vulkan 開発はあきらめたほうがいいかも.

OpenGL

とりあえず glxgears は動きました. 一応 OpenGL 3.x 動くっぽい(Mesa の D3D12 backend 使っている?)ようです.

OpenGL 4.x はだめでした.

また, X11 は使わずに直で描画しているっぽいようなので, LIBGL_ALWAYS_INDIRECT=1 を指定するとうごきませんでした.

CUDA

CUDA も動きます(WSL 用 CUDA インストールすれば)ので, GPGPU して X11 で GUI 表示もできるでしょう!

OptiX

OptiX は WSL CUDA driver が対応していないためか, 動きませんでした(optixInit() failed になる)

Vulkan

最近(as of Dec 2022) Mesa(CPU) で vulkan が動くようにはなってきているようです.

また, GPU 対応もされつつあります.

ただまだ十分ではありません.

Window manager

デフォルトの window manager の見た目よくない... 変えたい...(Enlightenment とか, Awesome(Tiled window manager)とか...)

残念ながら現状ではできませんでした. :cry:

アプリ

firefox(Ubuntu snap で入るやつ)はなぜか動きませんでした.

mkdir: cannot create directory '/run/user/1000': Permission denied
Error: cannot open display: :0  

snap + systemd 関連っぽい?

google chrome(.deb でいれるやつ) は動きました.

不都合

systemd 入れると不都合ある

少なくとも Ubuntu 20.04 だと systemd 入れると X11 アプリ動かなくなるようです...

mono とかいれると不都合あり

binfmt(Widows 側は msrdc.exe ?) + systemd がらみのようです.

https://github.com/microsoft/wslg/issues/917
https://github.com/microsoft/WSL/issues/9257#issuecomment-1345550170

その他

wslg の git repo を見ましょう. ただ, あんまりまともな解決策は得られないですね...

2023/02 時点での回避策

  • sleep/suspend しない
  • systemd は入れない(WSL で Docker とかしない. Docker 使いたいときは non systemd なやりかたを使う)
  • snap(snapd)入れない
  • mono 関連(dotnet Linux も?)を入れない
  • Wine 関連入れない
    • binfmt とかが入ってややこしくなるっぽい
  • NVIDA GPU 使わない(CUDA 使いたい場合は GUI 出すのを諦めるか, Mesa Software renderer を使う)
    • LIBGL_ALWAYS_SOFTWARE=1 環境変数をセットする.
  • GL は Software rendering + VcxSrv を使う
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?