Wine on Wayland

Running wine on wayland using Bottles

All posts

Skip to the steps

Wine

Wine (Wine Is Not an Emulator), is a compatibility layer that allows Windows applications to run on Unix-based operating systems like Linux, macOS, and BSD. It translates Windows system calls into POSIX calls, enabling many Windows applications to execute on Linux.

Until v9, Wine did not naively support Wayland, and with the growing popularity of desktop environments shifting to Wayland as it’s default (or in some cases the only) option, most users had to fallback to using Xwayland. While this was sufficient for most cases, native Wayland support has been worked on in the later versions.

Bottles

Bottles is a great and my personal favorite for managing wine application. The UI is sleek, modern and uses libadwaita. So, its a natural fit’s for GNOME (the preference for libadwaita does wane outside GNOME although).

NOTE: Although Wine can run natively under Wayland, Bottles cannot.

So you can’t ditch Xwayland just yet.

A quick workaround would be to use bottles-cli rather than the GUI.

Steps

1. Install Bottles if you havn’t

Either using flatpak or using your distribution’s package manager.

flatpak install com.usebottles.bottles

2. Get the vanilla wine version

I had issues while using the Soda runner provided by bottles, which lead to the assumption that the required patches have not been incorporated into soda and hence to steam’s proton.

For this reason i recommend using the vanilla upstream version of wine, which can be installed using your package manager.

…or if you are a masochist, build it yourself 🙈

Fedora

sudo dnf install wine

Mint, Ubuntu et al.

sudo apt install wine

3. Modify your bottle

Under “Settings”, select sys-wine-[VERSION] as the “Runner” option.

In my case, that was sys-wine-10.0, since i had v10 installed.

4. Modify your Wine Registry

Back under the details page, you should have the option “Registry Editor” under the “Tools” category.

This opens up your wine registry editor, in the left pane traverse to,

HKEY_CURRENT_USER > Software > Wine > Drivers

Right-Click Drivers and select New > String Value. Now, on the right pane, modify the newly created value to match the following,

NameTypeData
GraphicsREG_SZwayland

Done

That’s it! From now on, Wine should now launch using its native Wayland backend.

Help! I can’t open anything now!

If you find yourself unable to open any applications using wine after this, try re-enabling x11 using the following command,

wine reg add 'HKEY_CURRENT_USER\Software\Wine\Drivers' /v Graphics /t REG_SZ /d 'x11,wayland'