10 ms·
Wine Wayland Driver
- subarctic 4y agocan someone explain what is going on here? i know what wine is, it's a thing that lets you play windows games on linux or macos, but what is wayland?
- Topgamer7 4y agoLinux gui applications historically have used X11 for desktop window management (think how your windows layer on top of each other). Wayland is a new ecosystem that aims to take over for X11 (as X11 was developed in mind with a lot of functionality that many do not care about, and just want a desktop environment). But it's a controversial effort, and Wayland still doesn't support a lot of the functionality even from the desktop perspective. Wine is not something that lets you (just) play games, it is effectively a re-implementation of windows low level apis, on top of linux. It lets you call the dlls, and kernel functions, effectively running windows applications in linux. The wine community is opinionated, and effectively weren't going to support Wayland; because it has some shortcomings in terms of api surface or ways that wayland handles things. Someone decided to try to support wayland anyway.
- kaba0 4y ago> X11 for desktop window management (think how your windows layer on top of each other) That’s not really the primary job of these protocols - they are primarily about interfacing with GUI apps and displaying their content — compositing those contents on top of each other in one way or another is the job of a window manager, which can be in-built, or separate from the display server. > Wayland still doesn't support a lot of the functionality even from the desktop perspective This has been less and less true. Plenty, or even most distros ship with wayland by default and people don’t even realize it. Under gnome which is arguably the most complete implementation I really have a hard time listing things that don’t work.
- Gigachad 4y agoIt’s less a shortcoming of the wayland api, and more that they didn’t want to implement bad ideas in the protocol with the only use case being windows api compatibility.
- jrm4 4y agoHonestly, most people shouldn't even much have to know what Wayland is, and the fact that we're even talking about it is a testament to how badly it was done. It's the thing that makes graphics on the screen, i.e. why you're not looking at a terminal. For some reason, the decision was made to drastically revamp it in such a way that trying to switch caused a lot of problems. This is like a TEN YEAR OLD deal.
- Gigachad 4y agoThese days it’s pretty much done and finished. Xwayland works fairly well to the point you almost couldn’t tell. The only issue with wayland usage currently is apps in the xwayland compatibility layer are lacking the new features wayland adds like dpi scaling across screens. I’m very happy that wayland + pipewire + flatpak now gives us basic security practices like apps having to ask permission to record the mic/screen/webcam vs the state of things in X where being able to draw a window also grants full access to everything.
- jrm4 4y agoMostly fail to see the value in the specific thing you're saying; essentially this is the sort of thing that e.g. free/open source ought to take care of regardless. As in, this is "taken care of" when you agree to install the application; is there any serious reason to believe that security against an "installed application" from a repo benefits from this rather fine grained permission as opposed to what is already in place? And of course the real issue is usually just "the web browser" which, hey, all bets are off.
- wheelerof4te 4y agoWe are still fixing stuff in Wayland, stuff that Microsoft and Apple had figured out 20 years ago. So defeating.
- client4 4y agoAnd Microsoft figuring out how to make Windows even worse with every new day!
- wheelerof4te 4y agoIndeed, but Microsoft knows how to make a OS graphics base and stick with it. MS does a lot of things wrong, but backwards compatibility is still their strong point.
- paulryanrogers 4y agoYet Microsoft makes so many of them. I'm not even sure what the current recommended way is anymore.
- saghm 4y agoHaving many graphics frameworks simultaneously supported is basically the ultimate evidence of the claim; they made half a dozen frameworks and stuck with all of them!
- kaba0 4y agoLike what? At least be specific.
- wheelerof4te 4y agoLike screen recording. Popular Wayland native apps not dependant on Xorg. Wine working on Wayland. Tangible benefits of switching to Wayland. And by those, I don't mean "no screen tearing", since it practically did not exist on most desktop environments with half-decent compositors.
- shmerl 4y agoGood to see it's approaching merging! I ran a few tests and it works for games well already, but there are still some issues to iron out. I'll run more tests once it's upstreamed.
- deleted 4y ago[deleted]
- mouse_ 4y agoNeat, good seeing progress on this front. Many Windows applications since Windows 7 support fractional scaling natively (125%, 150%). Is there any way of accessing these modes with WINE? Is this really the same thing as simply setting the font DPI scale (which is what the WINE docs suggest doing)?
- kaba0 4y agoI am not knowledgeable on the low level details of Wine, or windows gui apis, but this might actually become properly working on the Wayland backend, as it has a scaling property.
- rjzzleep 4y agoFunny, I was literally just looking at this issue today. I switched to wayland a few weeks ago, just because it seems to save a lot of battery power. But so much basic functionality is still broken it's infuriating. And then so many things seem to follow the "unix functionality" and as a result they're half baked tools that aren't really working properly IMHO. A lot of these issues have fixes or workarounds directly in KDE. For reference I'm using sway. swayidle is an idle daemon, where the maintainer doesn't think that it matters whether its connected to power or not. You're supposed to create your own scripts around it that handles ac connect and disconnects. There's a tool to do flux like color warmth setting. One of them doesn't allow you to toggle, so you have create your own toggle script that kills or restarts it. The other one is controllable, but doesn't actually account for time or timezone. XWayland has had 2 or 3 patches to handle hidpi when the main wayland screen has fractional scaling, none of them are merged and they seem hardly active. KDE works around that by allowing you to turn it off for xwayland clients. Sway just passes it down and blurs everything. When I exit a wayland session and then restart it the screen locks up. This doesn't happen with normal X. And then there is electron. Slack is not the only app that ignores electron settings and doesn't run with wayland support. In chrome and electron it's supposedly supported but you have to toggle it yourself? What is this madness? These things seem like basic functionality for me. I don't really get it. Sure, maybe I shouldn't expect a proper experience for random sway tools, so that makes the first two points irrelevant. But the fact that years in they still haven't found a proper solution on passing down hidpi for xwayland? That's incomprehensible for me.
- yjftsjthsd-h 4y ago> And then so many things seem to follow the "unix functionality" and as a result they're half baked tools that aren't really working properly IMHO. I'm going to disagree pretty strongly with that. In fact, I think most of its problems are that it threw the Unix philosophy out the window. While it's true that it suffers from having made everything a implementation detail that can theoretically be plugged in with a different component, the problem is that they forced everything important to go through the compositor, which bottlenecks composiblilty and doesn't allow you to actually replace individual components without support from the (usually incomplete) monolith in the middle.
- jchw 4y agoI've been running these patches to play around with them and it seems pretty good; layered windows (WS_EX_LAYERED) work great, and the issue you would have with non-reparenting X11/XWayland WMs (mostly the mouse cursor being offset) is gone. There's still some minor quirks remaining, so it's not perfect, but a complex program like FL Studio seems to work just fine, as does some games using Wined3d. The only thing I really hit that would be nice to fix is that it appears tablet support isn't in yet, or at least it didn't work for me. Of course, tablet support is a thing I generally wish could be improved in Wine, especially because Windows apps are slowly moving towards more modern APIs than the old wintab32 defacto standard.
- justin_ 4y agoWeirdly, I was just thinking about this earlier today. Years ago, Wine developers basically refused to add Wayland support. They told the Wayland devs that they'd stick with X11 and XWayland. Why? Because X11 and Win32 specify position windows in absolute screen coordinates, whereas Wayland positions windows relative to their parents. This broke some assumptions across the Wine project about positioning windows, and it didn't seem worth it to fix[0][1]. (And there may have been other issues. I'm not an expert). Even when the driver was being developed around 2021, it seems like the Wine developers only begrudgingly accepted it[2]. Exciting to see this finally hitting upstream. Progress in desktop Linux often seems slow, but things are moving forward. [0] https://bugs.winehq.org/show_bug.cgi?id=42284#c1 https://bugs.winehq.org/show_bug.cgi?id=42284#c1 [1] https://news.ycombinator.com/item?id=19127952 https://news.ycombinator.com/item?id=19127952 [2] https://www.phoronix.com/news/Wine-Julliard-Wayland-2021 https://www.phoronix.com/news/Wine-Julliard-Wayland-2021
- j16sdiz 4y agoMany of those restriction in wayland were by design. Lots of simple task is seen as privileged and restricted to the window manager. These restriction may (or may not) make sense for native wayland application. However, for wine, as a compatible layer with windows, every deviation from windows behavior is seen as a missing feature. I am not sure if constantly creating artificial restriction and working around them is "moving forward".
- vlovich123 4y agoIf the restriction is about improving real security issues and people are doing that work for free, then isn’t it worth it? In fact, if I were an open-source project myself and someone is willing to go through the legwork of supporting doing the migration of my codebase to a newer piece of tech, I should be encouraging it and the only thing I get to enforce is quality for it being a default and no substantial regressions when not using that new tech (or I can accept some regressions if I think the value provided is better). So if XWayland is better then fine. But someone has to keep putting maintenance resources into it. The Wayland folks shouldn’t be putting any resources into it when they think they’ve reasonably addressed any real technical blockers and then they should ask for the distro maintainers to remove it because they don’t want to maintain it anymore. The distro owners can donate maintenance cycles or $$ if XWayland is a sufficient experience in terms of providing the perf, DX and security that projects they care about need. Cooler projects with more attention will naturally obtain more dev cycles from talented engineers anyway.
- csdvrx 4y agoThis falls right on time for my 2023 "Linux on the desktop" attempt! (now I wish https://github.com/phil294/AHK_X11 https://github.com/phil294/AHK_X11 had a Wayland option...) I can't live without Office! My personal favorite is 2010 x64, as Word then starts faster than the current Wordpad. Office 2010 works great in Windows 11, but there've been some suspicious move making me believe old office version will be given a poison pill or something under the plausible deniability of "security risks of 13 year old software", like how Outlook 2010 can't connect to outlook.com anymore (though it works great with gmail using google's GWSO plugin) On MY computer, I run what I want. So I'll try Office 2010 in wine within Wayland.
- estebank 4y ago> On MY computer, I run what I want. You can always do so, as long as you're not connected to the internet. In the same way that on your property you can drive what you want, but on the road there are minimum standards of safety that are supposed to be met, and some authority might enforce them. I completely relate to the "who moved my cheese?" effect, but unpatched internet connected software affects more than just yourself. This is not giving companies that completely disable software that could otherwise be hardened with some minimal loss of functionality (like disabling the old Office equation editor) a pass.
- LoganDark 4y agoBeing connected to the internet is nothing like being a car on a road... it's more like joining a "crowd" of "people", with each "person" being another internet-connected computer, and the "crowd" being the network. The recent "pandemic" has taught everyone a lot about virus-spread stuff, so it's an appropriate analogy in my opinion. Vulnerable pieces of software can be exploited to receive or transmit viruses. The viruses spread through the crowd to anyone who is vulnerable. But just because someone spread the virus doesn't mean an authority is going to crack down on them for being intentionally reckless. If you crash into somebody on the road however...
- sprash 4y agoSince this isn't a community effort at all but purely done by a consultant agency called Collabora my question would be, who is funding them?
- CameronNemo 4y agoAlways the question when it comes to Collabora work... they don't often tell.
- jacooper 4y agoIt should be companies interested in this
- ahartmetz 4y agoValve seems like an obvious candidate. They fund a lot of Wine work and AFAIU, because they use KDE/Plasma on the Steam Deck, they also fund certain developments in KDE including (that part is a guess) Wayland support.
- j16sdiz 4y agoCollabora ports windows game to linux. They created SteamOS for Valve.
- sprash 4y ago> Collabora ports windows game to linux. Not according to their references. > They created SteamOS for Valve. Obviously not. They created some parts of the update system for SteamOS 3.0.