Known issues
Launcher and Common
Please see the wsldl document.
glibc
The default glibc is optimized for the new kernel and uses syscall, which is not implemented in WSL1.
If you don’t use glibc with a patch that isn’t the mainline, your instance won’t start.
You can use glibc-linux4
ᴬᵁᴿ package instead.
You can install from archlinuxcn community repository (can auto-update, recommend)
echo '[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch' >> /etc/pacman.conf
sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring && sudo pacman -S glibc-linux4
or you can install from AUR helper
yay -S glibc-linux4
fakeroot
fakeroot is using SYSV IPC by default. but WSL1 does not support it now.
You can use fakeroot-tcp
ᴬᵁᴿ package instead. (WSL2 doesn’t require that)
Download fakeroot-tcp-1.23-1-x86_64.pkg.tar.xz and run pacman -U fakeroot-tcp-1.23-1-x86_64.pkg.tar.xz
to install.
Qt5
qt >=5.10 library doesn’t work in WSL1. This is an issue with WSL.(Please see Microsoft/WSL#3023)
Please execute this line on root: strip --remove-section=.note.ABI-tag /usr/lib/libQt5Core.so.5
MySQL 8/MariaDB
MySQL >=8 uses the native AIO interface by default. WSL1 does not support it, so you need to configure it. Edit /etc/my.cnf.d/server.cnf for add innodb_use_native_aio=0
to [mysqld]
section.
[mysqld]
innodb_use_native_aio=0
D-Bus
Systemd D-Bus daemon doesn’t work in WSL1. We recommend using dbus-x11
ᴬᵁᴿ. Download dbus-x11-1.12.16-1-x86_64.pkg.tar.xz and run pacman -U dbus-x11-1.12.16-1-x86_64.pkg.tar.xz
to install.
For start D-Bus daemon, run:
sudo mkdir /run/dbus -p
sudo dbus-daemon --system
systemd/systemctl
If you’re using WSL 0.67.6 and above (see wsl --version
), systemd is natively supported. To enable it, edit /etc/wsl.conf
and then restart the distro.
[boot]
systemd=true
If you’re using an older version of WSL, we recommend using a systemctl alternative script or bottle for apps that require it.
WSL1 / WSL2
You can use a systemctl alternative script. However, this is only partially compatible.
Download systemd-altctl-1.4.4181-2-any.pkg.tar.xz and run pacman -U systemd-altctl-1.4.4181-2-any.pkg.tar.xz
to install. Remember to check the releases page for a newer version.
WSL2
You can use systemd bottle “subsystemctl”, “genie”, “wsl-distrod” or “bottled-shell”.
Using any of the aformentioned solutions, will allow you to run systemd completely.
subsystemctl
You can download PKGBUILD and build it.
genie
You can use PKGBUILDs from here.
Intel Graphics
ArchWSL may not properly load the Intel WSL driver by default, which will make it impossible to use the D3D12 driver on Intel graphics cards.
The cause of this problem is that the Intel WSL driver files link against libraries that do not exist on ArchLinux, you can manually fix them to make it work.
You need to use ldd
to see which libraries they are linked with, eg: ldd /usr/lib/wsl/drivers/iigd_dch_d.inf_amd64_49b17bc90a910771/*.so
, and then look for libraries marked not found
. Then check whether there are corresponding packages in the ArchLinux package repository. If so, install them, and the problem may be solved. If you cannot find the corresponding library file in the software package warehouse, it may be that the version suffix of the library file is different, such as libedit.so.0.0.68
and libedit.so.2
, then you can try to It creates a soft link to the existing version.
Issue: #308