We're hiring!

Wine on Wayland year-end update: improved functionality & stability

Alexandros Frantzis avatar

Alexandros Frantzis
December 22, 2021

Share this post:

Reading time:

It has been just over a year since we first announced our effort to implement a Wayland driver for Wine. Since then a lot of work has been done to improve the functionality and stability of the driver, and to provide a cleaner and more upstreamable patchset. This work continues as we expand our testing and receive valuable feedback from the community.

The Wine Wayland driver currently supports (minus any bugs):

  • Window state handling: resizing, maximization, minimization (often no proper minimized window contents, though), fullscreen.
  • OpenGL and Vulkan (including using WineD3D and DXVK).
  • Display mode changes (emulated with Wayland compositor scaling, rather than real display hardware mode changes).
  • Multiple monitors.
  • Mouse capture/clipping/relative motion (but note that Wayland compositors don't tend to deal with non-fullscreen cases very well).
  • Popups, menus and other transient windows (except when cross-process, see below).
  • Keymaps set/updated from the Wayland compositor should work transparently.
  • HiDPI scaling (configurable to use either application/Wine or Wayland compositor scaling).
  • Copy/paste both ways, drag and drop in the direction from native Wayland to Wine.
  • Systray (minus right-click menu positioning)

A currently open issue is related to cross-process rendering, which is particularly relevant for Chromium/CEF based applications, like some game stores applications. For now, such applications require workarounds to function properly, but we have a few ideas about how to resolve these issues, which we plan to explore in the coming months.

For more information about known issues (and their workarounds), the current state of the Wayland driver and the next steps, we encourage you to visit the related discussion in the wine-devel mailing list.

Below is a video of some applications and games running on the latest version of the Wine Wayland driver. Enjoy!

Comments (5)

  1. Luke:
    Dec 23, 2021 at 01:45 PM

    Thank you all and Merry Christmas!

    Reply to this comment

    Reply to this comment

  2. Ahmed Elsayed:
    Jan 22, 2022 at 02:59 PM

    Minimizing and maximizing windows on wine under X11 have some issues. It will be great if you give them some love as well.

    My main issue with using Wayland instead of X11 is RetroArch which does not behave well under Wayland.

    Reply to this comment

    Reply to this comment

  3. Behzad A:
    Feb 23, 2022 at 05:17 PM

    Hi Alexandros

    I built Wine from "https://gitlab.collabora.com/alf/wine/-/commits/wayland" and tested that and noticed some issues, Is "https://bugs.winehq.org/show_bug.cgi?id=42284" a suitable place to send reports? Or should I send it another way?

    Reply to this comment

    Reply to this comment

    1. Alexandros Frantzis:
      Feb 24, 2022 at 08:39 AM

      Hi! For now, and until the Wayland driver code has been merged upstream, please send issues and comments to me directly (FIRST.LAST at collabora dot com). Thanks!

      Reply to this comment

      Reply to this comment

  4. Sergey:
    Mar 18, 2022 at 10:52 PM

    cant wait for it!
    i have a 4k monitor 200% scale and i cant play games more than FullHD

    i was using steam proton GE

    Reply to this comment

    Reply to this comment

Add a Comment

Allowed tags: <b><i><br>Add a new comment:

Search the newsroom

Latest Blog Posts

Automatic regression handling and reporting for the Linux Kernel


In continuation with our series about Kernel Integration we'll go into more detail about how regression detection, processing, and tracking…

Almost a fully open-source boot chain for Rockchip's RK3588!


Now included in our Debian images & available via our GitLab, you can build a complete, working BL31 (Boot Loader stage 3.1), and replace…

What's the latest with WirePlumber?


Back in 2022, after a series of issues were found in its design, I made the call to rework some of WirePlumber's fundamentals in order to…

DRM-CI: A GitLab-CI pipeline for Linux kernel testing


Continuing our Kernel Integration series, we're excited to introduce DRM-CI, a groundbreaking solution that enables developers to test their…

Persian Rug, Part 4 - The limitations of proxies


This is the fourth and final part in a series on persian-rug, a Rust crate for interconnected objects. We've touched on the two big limitations:…

How to share code between Vulkan and Gallium


One of the key high-level challenges of building Mesa drivers these days is figuring out how to best share code between a Vulkan driver…

Open Since 2005 logo

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2024. All rights reserved. Privacy Notice. Sitemap.