Hacker News new | past | comments | ask | show | jobs | submit login
Wine 5.0 (winehq.org)
384 points by coldpie 27 days ago | hide | past | web | favorite | 115 comments

I've recently used the wine 5.0RC from Debian testing, and my experience is mitigated. Once the software runs in Wine, it's impressive how smooth it can be. Be getting there was a lot work, in my experience.

Playing videos is a mess. winegstreamer relies on the system's gstreamer1.0, but, even after installing plugin-(good,ugly,bad), I couldn't make it work. wmv crashed, mpeg1 failed, mpeg4 was garbage. Various tricks are necessary: enabling devenum and quartz through winecfg, disabling winegstreamer, converting video formats, installing ffdshow through winetricks or externals codecs...

The console log was hardly useful when wine crashed. For example, a fatal error in msvcrt90 was caused by a missing font, but the default log made no mention of fonts, and even the `warn+all` level of logs was not clear. Fixing this and other problems took hours, and my final result was far from perfect. `winetricks` for fonts declares font substitution in Wine's registry, though Wine's changelog mentions using fontconfig, so I did not understand how fonts are handled (it's already hard to grasp in Linux, adding a layer won't make it simpler).

Overall, Wine is impressive, but, for some applications that are not documented for Wine and not packaged with PlayOnLinux, it may be hard to run them under Wine.

> I've recently used the wine 5.0RC from Debian testing, and my experience is mitigated.

Not sure you really meant "mitigated" here, perhaps "mixed" is what you meant?

If the parent commenter is francophone it's possible he used the word "mitigated" because it looked similar to mitigé, which basically translate to "mixed" in English.

Now that you are mentioning it I clearly see that as a francophone, I had not realized he/she had written something inconsistent. Thanks. In the meantime I will be upgrading wine to run Photoshop. Thanks wine team.

“Mitigated” normally only works in the positive, i.e. that something has reduced or compensated for problems. Here it appears to have been used as a negative, that something has reduced or compensated for benefits. It’s a subtle yet important distinction that will jar any native English speaker.

“Diminished” would be a more suitable synonym, but “mixed” appears to match the intent of the whole post.

At least the Valve Proton work is helping to run a lot of games on Steam too.

(Of course there is Proton tricks too... and some games do require special settings)

I feel that the momentum around wine is building. Hopefully the issues you are mentioning will improve.

Looks like a great release. Wine works like magic, and it's a huge boon towards making Linux a daily driver OS. Big thanks to the developers.

It's good to remember lots of this is because of Codeweavers hard work on the paid/supported version of Wine. Sometimes I think I'd go sweep floors just to get a foot in the door there because I align with their business objectives so much.

If you like what wine has become, don't forget to thank Codweavers!

We don't need any floor sweepers right now, but if you are a skilled C programmer, we are hiring!

Unfortunately I am not(Ops,SRE type here), but keep up the good work anyway!

> If you like what wine has become, don't forget to thank Codweavers!

Yes! I'm sure they appreciate kind words, but I thanked them by buying Crossover.

Valve also contributes with Proton, I'm not sure how much is upstreamed though.

They try to upstream whatever is acceptable. Only what can't be upstreamed for some reason (hacks or something Wine project doesn't want to accept) remains outside.

Absolutely Valve also! Proton made my GNU/linux only life so much nicer the last few years!

And lately also because Valve backed a lot of gaming related Wine development.

Yup! Just had a LAN party with some of my friends, and we usually play very old games; think: red alert 2, Warcraft 3, etc. The irony with these old games is that wine is actually better equipped at emulating these very old environments, and as such has much better compatibility. I had to go all kinds of hoops of installing old winsock32 drivers etc on windows 10, but all that works out of the box with wine!

What's the relationship between Wine development and Valve's Proton?

Is Proton just a fork of Wine? And if so, do patches flow in both directions?

Proton is mostly a fork of wine with some not-yet-merged patches, combined with preinstalled dxvk (dx11 implemented in vulkan). AFAIK patches flow both ways.

> dx11 implemented in Vulkan

Also 9 and 10, FYI. DXVK targeted 10/11 initially, and merged in D9VK (a separate but similar project covering DX9) about a month ago.

Proton also has a branch that bundles in VKD3D (Vulkan layer for DX12), but that's still experimental at this point.

IIRC Proton is subcontracted out to Codeweavers, who are also known for making a commercial fork of Wine called Crossover (I should mention they're really good about upstreaming improvements back into Wine— I haven't looked at the numbers but I wouldn't be surprised if most of the commits in Wine were coming from Codeweavers employees)

If I recall correctly, Codeweavers does most development of Wine, Crossover is just the commercially licensed + support version of the product.

Proton is a 'distro' of Wine that includes DXVK and is tuned to support games first and foremost. DXVK is a 'regular' Windows program translating DirectX to Vulkan, which makes enables a sort of pass through of that API.

Do you know what is the deal with DXVK being separate from upstream WINE?

DXVK is a windows program that thus runs on Wine also. It would make sense to include/merge it into Wine at some point, since that is its target, but AFAIK DXVK doesn't even link to anything Wine specific and it thus a completely separate codebase.

DXVK is not intended to be merged into wine. It's written in c++, and prioritizes usability over accuracy.

It isn't intended to be merged, but it is intended to be used with Wine. As such, one can envision it being provided by default with Wine.

Yes, Proton is based (and rebased) on upstream Wine and Proton changes are normally upstreamed too, unless they can't be accepted for some reason.

Glad to see the graphics support improvements!

A bit off topic, yet does anyone have experience running Adobe CC products (Illustrator, Photoshop mainly) with Wine? The following page has stats for older versions, yet if anyone's tried CC2020 I'd love to hear about it.


Tested Photoshop 2020 in rc6, works fine, but hardware acceleration is slow, better to disable it. No crashes.

v5.0 update : OpenGL works fine in X session, still slow in Wayland.


Edit: never mind, I thought this review was recent enough but it was for Wine 4.21

Photoshop CC2020 compatibility is rated "Garbage". https://appdb.winehq.org/objectManager.php?sClass=version&iI...

[Edited to hopefully be clearer]

clicked the link expecting a rant about Adobe, but it looks "Garbage" is just how someone rated PS's performance under Wine...

That's part of the Wine AppDB rating system

Please someone rename Wine 5.0 to LSW - Linux Services for Windows :)

WSL, Windows Subsystem for Linux

Linux Subsystem for Windows would make a bit more sense...oh wait...

Isn't Wine also for MacOS too though?

Windows Subsystem for Unix...


Not sure of the wording, but the acroynm should be SLUM.

HSASIBSIAP: Hope Someone Already Solved It, Because Setup Is a Pain.

Any word on support for 32 bit Windows applications on MacOS Catalina?

Last I checked it was in a very early stage, so I wouldn't expect anything anytime soon. Here's the relevant discussion: https://forum.winehq.org/viewtopic.php?f=9&t=32590

You can downgrade to MacOS with proper 32-bit support, purchase Crossover 19, or ask Apple to put the libraries back in so tons of software people paid for continues to work.

> ask Apple to put the libraries back in so tons of software people paid for continues to work

Reversing course on this would be very against Apple's longstanding m.o. of breaking backwards compatibility with every new OS version. Looking forward is how they make the rest of the world advance at the expense of a lot of bloodied bodies left on the floor.

I believe the main reason Apple wanted to drop support for 32-bit apps is so they no longer have to support the Objective-C 1.0 runtime, which must’ve been requiring more work to maintain than they wanted to invest.

Fortunately Catalina is still such a disaster for me (I’ve had to downgrade twice since I stupidly tried to upgrade twice) that Mojave might be my Snow Leopard v2. I wish Windows ran better in boot camp, I’d jump off macOS indefinitely if I could.

Runs ok for me, what are the issues?

My laptop reliably kernel panics every night.

Just FYI... this started happening to me when I upgraded to Catalina and it turned out that it was a hardware failure, not the OS. Apparently, Mojave didn't do some kind of check that now happens in Catalina and so Catalina caught the hardware failure that Mojave wasn't catching. You may want to test your RAM and/or drives to make sure they're not failing or about to fail.

Mine started doing that too a few weeks ago and I'm on Mojave, so I don't think it's a Catalina thing.

I don’t know, it never happens on Mojave, reliably happens on Catalina, and stops when I downgrade back to Mojave. I’m not sure what the actual cause is but I also have no desire to actually try and find out.

I believe the changes for that both came after the 5.0 feature freeze and also involved compiler hacks that winehq aren't very comfortable with. For now you can pay for CrossOver to get that functionality.

Yes, CrossOver 19 supports 32-bit Windows applications on macOS Catalina, but upstream Wine does not. There is a free trial of CrossOver available.

High level overview of how it works: https://www.codeweavers.com/about/blogs/jschmid/2019/9/10/so...

This thread has the technical details: https://www.winehq.org/pipermail/wine-devel/2019-December/15...

Another option if you don't mind disabling SIP. Don't know how well it works: https://github.com/Gcenx/WineskinServer

> WS11WineCX19.0.1 & WS11WineCX64Bit19.0.1 include wine32on64 and can function on macOS Catalina but these have not been signed or notarized so to make use of these you need to disable SIP in order for wine32on64 to set the kernal flag to allow 32Bit code execution.

I don't believe this is in the release version of Crossover atm?

> I don't believe this is in the release version of Crossover atm?

32-on-64 support on macOS, you mean? I assure you, it is. https://www.codeweavers.com/about/blogs/jwhite/2019/12/10/ce...

Oh, nvm!

I’m running 32bit windows apps using the Crossover by Codeweavers. I just bought the lifetime license, figured it was time they get some reward for all their hard work.

While reading low level API stuff is interesting, give us the meat. Is there a list of which games did not work in 4.x that do work now, or worked in 4.x but are improved now?

> Some of the fixes in Wine 5.0-RC6 are for Brothers In Arms - Hell's Highway, Tomb Raider, The Witcher Enhanced Edition, Serious Sam Classic, and other games. There are also fixes for applications like 7-Zip, Acrobat Reader, and Pale Moon.

That's a really short list. Hopefully there are no regressions on other games to cancel out the progress.

That said, I've been pretty happy with Proton. More games work than don't, although if the game you like is kind of obscure the chances of it working do drop off. Also some games outright check if they're running under Wine and refuse to run, like Roblox.

That's only the changes from that particular release candidate. If you go look at the other RC changelists you'll see the actual list is much larger

This is not MAME, it emulates API of an OS that has very large amount of software it runs. I think the titles listed are ones that developers concentrated specifically on (also another person below mentioned that it was only relevant to this RC) to make them work, it's very likely that much more software was fixed.

> it emulates API of an OS that has very large amount of software it runs

I thought WINE stood for Wine Is Not an Emulator - has that changed?

It's supposed to be an API translation layer. So there's no VM, no interpreting of machine code, none of the usual "emulation stuff." Running a Windows binary on Linux via WINE is your x86 processor directly executing the real x86 machine code, just with a compatibility layer providing equivalents whenever the binary tries to call Windows or DirectX APIs.

WSL1 did the same thing in reverse, though WSL2 abandoned that course and does in fact use virtualization.

I find the change in direction particularly interesting. Intuitively, virtualization would have been one of the first and easier suggestions for any system. But they decided to take on the monumental task of implementing a translation layer. It’s probably not their first time either since they did support POSIX in some old versions of Windows. Then they switched to virtualization. I’m guessing it was simply not a sustainable effort? Still a bold move and an interesting part of Windows history.

If you're interested, the Build talk where WSL2 was introduced is pretty in-depth and does a great job of talking about the motivation. See starting around this point: https://youtu.be/lwhMThePdIo?t=1070

They had to use the syscall translation path because of the earlier plans.

WSL is what could be saved from the Astoria subsystem to run Android apps on Windows 10 Mobile, with the ARM virtualization story being nonexistent at the time for shipping smartphone SoCs.

It emulates the OS, not the CPU or other hardware. So it's not what you'd expect if you wanted "an emulator", like DOSBox. But there's still some "emulation" going on.

They may be say that but if it isn't emulating Windows API what is it doing?

IMO (this is just a guess, and might be completely wrong) but I have a feeling that originally WINE stood for WINdows Emulator.

Emulation is typically reserved for processor emulation. A NES emulator works by simulating the CPU, PPU (GPU), bus and other parts of the NES system on the computer running the emulator. DOSEmu, QEmu, and Amiga Forever work in similar ways.

When Wine runs an application or game, that program is executing directly on the computer's CPU, so it is not an emulator.

Think of it like when you have a Qt/KDE or Gtk/Gnome application and run that on the other platform, or on Windows or Mac. You have the APIs the application is calling (Qt or Gtk) which are the same regardless of the platform they are running on; for Wine these are the Windows APIs. The libraries then map the library APIs to the platform APIs, like how Wine is mapping the Windows APIs to Linux/Mac/etc.

Word emulation means to pretend something else, just because most of the time emulating hardware is required doesn't mean that the meaning of the word change.

Since you mentioned Amiga, there was an MacOS emulator called ShapeShifter[1], it didn't emulate CPU since at the time MacOS used the same CPU as Amiga, but it still referred itself as an emulator. Actually I remember that MacOS run even faster on Amiga + ShapeShifter than original Mac with similar hardware.

If you are not convinced, what about FreeBSD capability to emulate Linux[2] ABI allowing to run linux binaries as if they were native. This also doesn't emulate the CPU and other hardware. And I suppose it is even closer to what WINE does.

[1] https://shapeshifter.cebix.net/

[2] https://www.freebsd.org/doc/en/articles/linux-emulation/free...

That's a lost etymological battle, just like we can forever repeat that "hacker" does not equal "cybercriminal": even though the thesaurus says otherwise, one narrower definition of the word has taken over.

I don't think this is comparable. World emulation exists outside of technology, and has specific meaning (pretending to be something else).

Also in this case (unlike word "hacker") the word isn't used incorrectly. It's just more broad than most people think. It's only WINE that claims itself to not be emulator, despite in early FAQ calling itself Windows Emulator.

WINE does two things. The first (and easier) thing they do is they implement a loader for the Windows executable file format(s); think of it as transpiling a Windows binary to a Linux binary. The second (and more difficult) thing they do is they provide an independent implementation of the Windows API.

These two things are largely orthogonal. WINE also provides Winelib, which lets you compile a Windows application into a Linux ELF binary--doing the second thing without the first one.

That's called emulating.

There are actually game console emulators that do transpilling[1] as well.

Anyway WINE originally stood for WINdows Emulator, which was reflected by the old FAQ still referring to it by that name.

Whomever came with backronym "WINE Is Not an Emulator" was simply wrong, and current FAQ actually tries to defend it, but then ultimately at the end states that more accurately it should be "WINE Is Not just an Emulator", because it does more than just emulating (for example it comes with Windows components, that you could even run on original windows).

I suppose they wanted to distance themselves from the notion that an emulator has to be slower, but this is not true. The ShapeShifter for Amiga was actually faster than MacOS with comparable hardware. Similarly all modern VMs now utilize hardware support so you're getting a native speed.

[1] not sure if this is the right word, since transpilling typically is used with source code, and I believe we are talking about translating machine code to another machine code.

>That's a really short list. Hopefully there are no regressions on other games to cancel out the progress.

The best solution is to use a GUI manager and you can have each game with it's own wine copy with different versions and configurations.

Maybe the list is short, but even just having Acrobat Reader (for its 3D capsbilities, which unfortunately cannot be substituted by any software in Linux), would be a great.

3d for reading PDFs ? I would keep using Okular, that is blazing faster.

Probably want to goto https://winebottler.kronenberg.org/ or some similar site for that information.

Has anyone tried using AVISynth and various popular plugins like QTGMC with wine under Linux? I’m starting to put together an automatic pipeline to capture old VHS tapes and automatically digitize them, and I’m debating the OS. Windows currently seems to have the best implemented deinterlacing algorithms, and avisynth is pretty nice for repeatable post processing pipelines.

Yes I use AviSynth and AvsPMod all the time under Wine. I use the Avisynth+ 64 bit version and it works great, QTGMC and even SVP with OpenCL acceleration work fine. I can give you my wine prefix if you want.

However like the sibling says, if you're doing something automated I'd recommend just using VapourSynth. QTGMC was ported to it ages ago and it will work better. I only continue to use AviSynth because the AvsPMod interface is still much better than the VSEdit equivalent, IMO.

Thanks all! Didn’t know about vaporsynth.

Is there a reason you cannot use VapourSynth? You should probably check it out if you’re thinking AVs is your best bet, you may be delightfully surprised by the improved quality and speed.

Has someone managed to install and activate a recent version of Office? I managed to install but it never discovered/talked to the KMS server of my uni.

Office 365 with Codeweaver

Unfortunately, my main reason for keeping Windows is music recording. Until I can get my DAW and all my plugins working I am stuck in Windows land.

You may not be interested in learning a new DAW, but if you're feeling up to it Bitwig has native Linux support.

I just checked out Bitwig. Apparently it is a for-money app which is not available in the Mac App Store.

So far, every not-free-open-source app I have seen which is not on the Mac App Store has caused problems:

- Spotify: does weird things to start at login and hide it from your system's start-at-login settings - Dropbox: phishes you to get your root password - Panic Transmit and Coda: exfiltrates your ~/.ssh/id_rsa file while not clearly documenting this

For 399 USD, I had hoped Bitwig could manage to get its app set up with sandboxing and into the store.

What's this about Transmit? Source for that? I use Transmit religiously and haven't heard anything about this.

I could learn a new DAW, but my library of Native Instruments plugins is a problem.

I use BitWig on linux with LinVST and run lots of win vsts just fine. Not all though, but most

FL Studio works great for me under wine. No problems in over ten years!

All my Windows VST/i and ASIO work perfectly fine with Wine and Reaper on linux. Have recorded multiple albums on with Reaper+VST+ASIO on Linux.

Do you use Kontakt and NKI plugins?

What happened to Józef Kucia?

That's very sad. =( But, at least he died doing something he loved.

This is great news! A big Thank You to the Wine maintainers! Wine lets me run some non-mainstream compilers and IDEs that would otherwise require Windows.

Congrats to the Wine team!

And don't forget wonderful dxvk project as well, which made DX9-DX11 games playable with great performance on Linux.

Pls be compatible with 64-bit Catalina

I just run Windows in a VM. Is it worth trying to use Wine instead?

I wanted to use just Wine but then ended up rigging a VM. Just more steps. I'm lazy.

Can I run natively on Linux Windows 10 games? That's the Wine I want to taste! :D

Do a search on Youtube ("gamename + wine + linux" usually works). When a game becomes playable under WINE someone eventually will publish a video showing the gameplay and/or any tricks, when necessary, to play the game.

You might also be interested in Playonlinux (.com) which is a GUI frontend to WINE which helps in installing games and other software.

Most games work nowadays, but there's still some that don't. Check https://www.protondb.com for a compatibility list.

I think he means UWP games.

For many of them you can and the number of unplayable games is gradually shrinking.

You can check here:

* https://appdb.winehq.org

* https://www.protondb.com

Steam/Proton and Lutris cover a lot.

I'd love to see WPF running in Wine, since it is open source now.

There is progress being made there right now, follow this bug https://bugs.winehq.org/show_bug.cgi?id=24501

I wish they'd fix the game Civilization 3 :,(

Still my favorite game

In my experience, the average macOS user is disappointed with apps that run under Wine.

Applications are open for YC Summer 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact