We're hiring!
*

Wine on Wayland: An exciting first update

Alexandros Frantzis avatar

Alexandros Frantzis
February 19, 2021

Share this post:

Two months ago we announced a first proposal for a Wayland driver for Wine, the compatibility layer for Windows applications.

The goal of this driver is to allow Windows applications to run directly on Wayland compositors, eventually removing the need for XWayland for many use cases. XWayland, like X11 in general, is receiving less and less developer attention and is unlikely to support modern features like improved fence synchronization or HDR. In addition, since it's yet another layer to go through it's a source of complexity and potentially of inefficiency. Some more details and thoughts about XWayland vs direct Wayland in the context of Wine can be found here.

We are now excited to announce a first update for this effort, proposed on the upstream mailing list as a new RFC (Request for Comment), which contains more details and instructions for building and running the Wayland driver.

The focus of this update is to support a number of new features that are useful for applications and games, and which have also been considered potential integration pain points for the Wayland driver. These are copy/paste, drag-and-drop and support for changing the display mode.

Copy/paste support works well in both directions (native Wayland apps <=> Wine apps) with many common formats already supported. Drag and drop works in the direction of native Wayland apps to Wine apps for many common formats.

Implementing the display mode change is particularly interesting since Wayland doesn't allow applications to directly change the mode in the display hardware. However a similar effect can be achieved for particular surfaces by scaling in the compositor (typically using the GPU). In case of a Wine mode that doesn't match the current compositor mode, the driver instructs the compositor to scale the window contents so that they appear as if the hardware display mode had been changed while respecting the aspect ratio.

Below is a video showcasing the new features. Enjoy!

 

Comments (6)

  1. Hi-Angel:
    Feb 19, 2021 at 07:44 PM

    Oh, this is amazing.

    > Wayland doesn't allow applications to directly change the mode in the display hardware. However a similar effect can be achieved for particular surfaces by scaling in the compositor

    Wow, if I read it correctly, this is a great new feature that was *not* supported by plain X11 wine! There're various old games that try to change resolution into something low, so on X11 people usually run them in a "virtual desktop". However, the latter lacks ability to upscale content. Which means, if you play a game with 1024×768 on a 4k monitor, the game window will be so small it is barely playable.

    This Wayland feature gives it, like, a new life, thanks folks!

    Reply to this comment

    Reply to this comment

    1. Anonymous:
      Feb 22, 2021 at 11:33 AM

      There are old games that run on 640x480, those are a real pain.

      Anyway, this is really nice indeed. Now, a wayland compositor that allows to use the scaling/CRT shader from retroarch for upscaling would be cool :)

      Reply to this comment

      Reply to this comment

    2. Anony Moose:
      Feb 25, 2021 at 03:51 PM

      > Wow, if I read it correctly, this is a great new feature that was *not* supported by plain X11 wine!

      It's not supported in vanilla Wine, but Valve's Proton does upscale games instead of changing the display resolution.

      Reply to this comment

      Reply to this comment

  2. Anon:
    Feb 19, 2021 at 10:27 PM

    Hi. Would this proposed driver be able to integrate with the closed-source Nvidia driver?

    Reply to this comment

    Reply to this comment

  3. Peter:
    Mar 13, 2021 at 04:26 PM

    Please keep up the good work this is very important update because the Xwayland wine driver is really rough and one of the reasons i couldn't fully switch to wayland, having a native wayland driver would be amazing!

    Reply to this comment

    Reply to this comment

  4. Parag Agarwal:
    Apr 02, 2021 at 05:55 PM

    Eagerly awaiting development updates on this driver. Hope it gets accepted in wine staging soon so that users can give feedback and help report bugs. It will accelerate its development further.

    Reply to this comment

    Reply to this comment


Add a Comment






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


 

Search the newsroom

Latest News & Events

Generate a minimal GStreamer build, tailored to your needs

16/09/2021

GStreamer can be tricky to ship in a constrained device. Thanks to a partnership with Huawei, you can now use gst-build to generate a minimal…

Kernel 5.14: 30 years in the making and still improving

07/09/2021

With an ever-increasing interest in more modern hardware support, and a more reliable kernel that is thoroughly tested, contributions by…

Linaro Virtual Connect - Fall 2021

01/09/2021

September's busy conference schedule kicks off next week with the Fall edition of Linaro Virtual Connect. Join us as we look at how to master…

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-2021. All rights reserved. Privacy Notice. Sitemap.

Collabora Limited is registered in England and Wales. Company Registration number: 5513718. Registered office: The Platinum Building, St John's Innovation Park, Cambridge, CB4 0DS, United Kingdom. VAT number: 874 1630 19.