I used to keep trying it for running various poker clients on Linux but none ever really worked properly.
I also tried DelftShip (hull designer) on MacOS but couldn't get it to work properly, while an old version of FreeShip (from which DelftShip was forked) did however work IIRC.
In short I've tried various apps throughout the years but have found nothing that's actually worked well enough to keep it running to this day. Last time I tried Wine must've been around version 5 though, maybe things have improved since?
Valve's Proton is a fork+bundle of Wine. Proton is widely used, and works fabulously and often seamlessly to play Windows games on Linux, to the degree that Windows games often work better on Linux than they do on Windows, and Windows games often work better on Linux than the Linux versions of the same game.
I would guess that the number of Proton users is orders of magnitudes higher than the number of vanilla Wine users.
Proton is so good that it probably erased 90% of the vanilla Wine gaming community, and if you ask anything about running a Steam game on Wine, the answer is "use Proton." Which is a problem for Mac users wanting to run games (Proton is Linux-only), but then again there was never much of an expectation for that.
Nah, even Wine is quite good these days. Lutris doesn't bundle Proton but still works quite well. I guess really the secret sauce is more DXVK. It's kinda nuts how like 10 years ago we went from maybe 10% of games working well on Wine to 10% of games don't work well under Wine.
Which by the way, are hiring developers: https://www.codeweavers.com/about/jobs (General Wine Developer + Software Support Engineer), I'm not affiliated, just like to game on my Steam Deck and more people making it even better, would be nice for me personally :)
Valve's interest is in selling the Steam Deck handheld, which is an Arch Linux PC that just defaults to a friendly console UI, playing Windows games transparently through Proton. It's probably the best example of average consumers using full-blown desktop Linux.
For now, you can draw the line for what he means at GNU since SteamOS is that while ChromeOS is not. But if someone made a GNU/Linux that holds your hand everywhere like ChromeOS, it would probably be "not real Linux." So maybe the better designation is "Linux for nerds."
I can't say enough how much of an advancement to Linux gaming Valve and Proton has been. The fact that I can pick up my steam deck and play 99% of PC games flawlessly is amazing compared to the state of Linux gaming a decade ago.
I am willing to agree. I am not exactly a super casual user, but I ran into issues with setting up Wine for some games. Proton, by comparison, allowed me to play Fallout 3, Final Fantasy XI and Adom with no special settings ( although admittedly, Adom technically did not need that treatment ). It is crazy how good it has become.
Just for proton work alone, Steam gained a lot of goodwill from me. And that is not to diminish Wine. There is clearly a need for a tool that has the ability to run custom verbose scripts, but Proton mostly solved the gaming piece.
It can't diminish wine, because the work flows mostly from folks employed by codeweavers who contribute to proton, and then when fixes can be generalized, they get merged back into wine proper.
What exactly is the difference between Wine and Proton?
I just use Wine, mostly with older games from GOG.com, and it seems to work alright in all but a few exceptional cases (and has for long before Valve got involved with Proton).
Proton is both a friendly fork of Wine + a wrapper around Wine + forks of libraries and tools used by both Wine & Proton. Some of the forks are more blessed & tested versions than forks.
I don't know what they did exactly, but it sounds way, way better than regular Wine. Like, it's a coin toss whether a game works in regular Wine at all, and another coin toss for whether it works well. Even the Steam client is ultra glitchy in Wine. Which makes sense, it's really hard to emulate a Windows environment.
Steam does a few things at once to make this system work so well. There's just Wine itself and Valve-sponsored work and improvements to it, the automatic usage of DXVK and similar newer translation-to-Vulkan systems for DirectX support vs. Wine's classic alternatives, there's Steam automatically creating wine prefixes per-game, there's a separate but related container system, the "Steam Linux Runtime" that allows both Proton and native Linux games to have a stable, known set of libraries to target and support vs. the dizzying array of distributions and versions that otherwise typifies supporting Linux.
On the other hand, having that corporate support and isolation from the system sometimes cuts both ways: stock Proton often has worse support for audio and video codecs than a classic Wine install with the proper system libraries, because Valve actually has to worry about patents and licensing for them. They've come up with a system where the layer they otherwise use for sharing cached shaders can also share transcoded media files, but it's not always a seamless experience.
Wine is major part of Proton, so if it works on proton it's usually possible to get it working on wine. (Changes to Proton branch of wine are regularly incorporated back into Wine).
What proton is - its a tested distribution of wine and its libraries AND nice wrapper around wine, that helps setting everything up so it just works.
If you want to get games working on linux, proton is the easiest and best way to go. But if you want to get some of the programs running, that are not supported under proton, wine might work.
Ok. So when I'm having issues with a game, probably I'm missing whatever version of a lib I need, or running Wine on M1 Mac is bringing its own challenges.
What does "fork of wine" mean concretely? As in, what does Proton give me that Wine doesn't? The way you make it sound is that it's a "Wine distribution"; is that correct? Or does it do more?
It's not really a fork, more like a distribution as you might be familiar with it, or built on top of Wine. Without Wine, there probably wouldn't have been any Proton.
I think parent mean "fork" in the strict sense that there are two source codes "versions" of Wine: upstream, which is the official wine you get when doing `apt-get install wine`, `pacman -Ss wine` or whatever. Then there is Valves own clone of that same codebase, but with additional patches on top of it. Many changes are game specific, at least in the beginning, but many are also generalized and eventually "upstreamed" to the official Wine repository.
So in a way, they maintain their own fork with their own set of patches, and some of those patches makes their way to the "original" Wine while some don't.
tbf what makes proton unique is that they mostly not use forks and instead work with upstream and just pin point their dependencies and use cherry-pick after they forked a major.
Proton can be used to run non-Steam games. The standard way to do it is to add the game to Steam via "Games | Add a non-Steam Game to my Library" and then enable Proton after it is added.
You can add any other executable into Steam and run it on proton that way. I used it for non-game applications with great success. Proton can also be installed and used without Steam, although the process was so involved last time I checked it was easier to use Steam as a launcher even if you have no need for it otherwise.
Games! Or more specifically, game - with dxvk I've been happily playing through my GoG DRM-free copy of Cyberpunk2077 and combined with Steam+Proton for other games I have no need of my Windows partition anymore. I'm planning on removing it entirely when I have a free afternoon to redo my partition table (I use NixOS too, so if I save my userdata I can rebuild the whole system easily).
I use it to run:
Notepad++ (I just haven't found anything I like better than it) - runs great and developer knows people use Wine to run it and makes sure it works
Kaseya Live Connect / Remote Control (Kaseya RMM system) - the thing is basically a big QtWeb app, and runs surprisingly well
TagScanner (an MP3 tag editing app, also works very well)
Sometimes I think maybe I can run Office 365 on it, but I generally decide it's not worth screwing around with. I can totally get by fine with Evolution + EWS to connect to my Exchange server, and LibreOffice for editing documents.
I remember using Notepad++ back in the day (way over a decade ago when I still used Windows), mainly for it's speed and effortlessness in opening huge files, but also quite advanced feature set.
> I just haven't found anything I like better than it
I can personally highly recommend Sublime Text. The clear downside is that it costs money and is proprietary (the free version is usable though, with a nag screen) but it's lightning fast (and as Notepad++ also handles huge files gracefully) and highly extensible (although the built-in features are way more than enough for text editor use).
For me, I've developed this workflow where I'll use Sublime or VSCode for active development, then Notepad++ for one-off files, or as a kind of on-going scratchpad. There's no reason I couldn't use the other editors the same way, but it's become so ingrained into how I operate it's difficult for me to change my ways.
Put me down for NPP as well, and also PuTTY. Yes, I know that there are hundreds of SSH clients on Linux, but how many of them are also telnet and serial terminal clients as well? More importantly, it's what I'm used to.
If by "SSH clients" you mean terminal emulators, the answer to
> but how many of them are also telnet and serial terminal clients as well?
is "all of them", and they all support way more such things than PuTTY too. I think what you're used to (e.g. the GUI rather than command line switches) is the only thing that counts here, as PuTTY is inferior in almost every other way.
Terminal emulators, in my experience, are not sufficient to establish connections to serial devices on their own, especially not through the GUI. PuTTY does that without me having to look through a man page or --help dump or, as is more often the case, StackOverflow.
I mean SSH clients. Terminal emulators don't do SSH on their own either.
Sorry if I came off a bit harsh. There is no problem with using PuTTY if it works for you and is what you're used to. If you're interested in learning more terminal stuff, you may be able to do better for your purposes. Infodump follows.
A terminal emulator is the interface through which you access programs like SSH clients and Telnet clients, much like a web browser is an interface through which you access videos, news, etc., so it doesn't make much sense to talk about what it does on its own - it exists to run other programs.
Technically, any program on Linux can access serial devices; even basic commands like cp and cat can talk usefully to serial devices for some simple purposes (e.g. short plotter drawings can just be sent to the serial port with cat, and my plotter will draw them - drawings bigger than the plotter's buffer need something a little more sophisticated).
PuTTY bundles together a terminal emulator, SSH client, and Telnet client. When you connect to something it's running the appropriate client in its terminal emulator. It's not an SSH client that supports Telnet, and its terminal emulator doesn't do SSH on its own (e.g. mintty is based on PuTTY's terminal emulator, without the SSH client).
Edit: Actually I apparently already knew this since the Linux laptop next to me has PuTTY native on it. I don't know why I had included it in my mental list of things I always install WINE for.
Wasn't NotepadQQ a supposed Linux alternative?
(I'm normally fine with whatever default GUI text editor there is, so I'm not sure how it compares to Notepad++).
I'm a bit nuts, but I run Wine headless to host a niche product server for software developed on Windows many years ago. Using Wine, I can have one profile/prefix per customer, and run multiple customers on a single box without needing any Windows licenses. The way the original server was developed only expected a single customer per box (since they would be running it on their private network), but many customers have opted to have me host it for them, and a big rewrite was out of the question.
It's been working out nicely for many years, with only a few bumps and bruises in the early stages getting everything stable.
I spent an hour trying to get Ark Survival Evolves server trying to run on wine a while ago. But gave up after a while. I used to host a service providing ark servers :P
I've got some fixes in for wine. But debugging Wine can be quite a challenge, you need a lot of low level understanding.
Agreed, it can be a challenge to debug. I probably spent a couple weeks getting everything working for my app server the first time around. It helps that I control the source code though, so I can lean on some old fashioned text logs to pinpoint problem areas. Wine updates can sometimes break things too (had some problems with early 6.0 releases breaking the network stack), so it's important to hold Wine updates and test new versions thoroughly before updating.
It's an app I coded myself over the better part of 15 years now - it's nothing too exciting, just a LoB app for contract administration with a small but dedicated user base. The version I worked on before the current one was a local-only app. The current version was developed to be client-server. Toyed around with doing a web app all those years ago, but it didn't feel like the web as an app platform was quite there yet. I also had a fair amount of legacy code that was still useful that I didn't want to throw away completely.
Anyway, after focusing so much time and effort on the client-server apps, it is finally time to focus on a web front end (only 10 years or so late!). So I've written a middle-tier (running under Wine) with Nginx in front it. The middle tier translates JSON over HTTP->COM calls, then translates COM->JSON over HTTP on the way back. It's a bit of a Frankenstein's monster, but it works and the approach has meant I can keep a tonne of existing code and keep adding features and improving existing features, which has been nice.
We use mingw to cross-compile binaries for Windows, and wine to run the CI tests. It's quite nice to deliver Windows binaries and never need to touch Windows.
Yeah that makes me nervous. At the very least just use a VM to test your production artifacts before deployment. Must not be a very important product they're releasing.
It has never actually broken (or at least, no one has reported that if it did). But also it's an open source project, we provide the exe's best effort, if it's important you can compile it yourself. I have zero interest in using Windows even for one second if I can help it.
I've always used it for IrfanView ... I haven't found anything close in all in one place functionality which is Linux Native.
EDIT: There are two applications that I wish could be installed/run on WINE, but so far there's no luck: Tidal Music Windows Client, Google Drive Client.
It is amazing that both two companies refuse to have a decent client for their applications in Linux :(
For Google Drive I can deeply recommend paying once for https://www.insynchq.com/ using it myself for years and have not touched the official client for years (and I'm on macOS).
I use Wine on Linux for Carlson Hulls (Delftship and Freeship being not as useful for stitch-and-glue). I tried to install wine on macos recently, and I want to say it wasn't supported for the most recent versions, but I don't remember the details.
Most of my designs have in fact been with hard chines. I must've tried Carlson Hulls at some point (because the name sounds familiar) but I'm not sure why I never started using it. I'll give it a shot next time I get inspired!
It's got a super weird text format for the input. If you're interested, email me at my user id at gmail and I can give you some jupyter notebooks that parse offset tables in excel to make the .hul file.
I use Wine on Arch Linux, and pretty much use it to play games, and occasionally the HP PC Connectivity Kit for my HP48G+ calculator (this program was built for Windows 95. I wonder if it'd even work on modern Windows with a USB serial device that I have... but with Wine, I just symlink /dev/ttyUSB0 to COM1: and I'm good).
It has a very high success rate for me, being able to run almost every game I throw at it flawlessly, both old and new.
Everyone using a Steam Deck, and almost everyone using Steam on Linux, is using Wine to run their games. It is shipped with the Steam client these days.
I use it on Fedora to run Arturia software synthesizers, which I load into my DAW (Bitwig) via yabridge. It runs pretty much everything in their V Collection series (at least I haven't found anything that didn't).
I use it for Total Commander. When I moved to Linux, I tried mc and Double Commander but I missed TC interface. I installed wine and with the help of winepath I could use all my custom tools shortcuts. There is a wiki section on the official TC site with great tips how to use it this way: https://www.ghisler.ch/wiki/index.php/Total_Commander_under_...
Almost exclusively games, under Linux. This includes games that just came out - more and more they work out of the box thanks to dxvk and the wine-staging patches.
I use wine to run the MSVC compiler in a Linux container, making it easier to manage in comparison to the windows containers, which require a Windows/Hyper-V capable host.
Bonus, the wine+msvc combination is still smaller than using a windows container.
Works fine, also for MSI file generation with Wix:
I tried to use Wine on MacOS for 4 beloved Windows programs I still cant live without 10 years after I moved away from M$:
- Foobar2000 (unfortiunatly very CPU heavy with audio problems, some incompatibilities)
- Subtitle Edit
- Advanced Renamer
- Faststone Viewer
All fairly ordinary tools but I didnt find suitable alternatives in all these years. Especially FB2K. Hope the Macos version will soon reach feature parity!
Oh nice, I used to be a passionate Foobar2000 user as well back in the day! Can't say I have a Mac alternative nowadays though, I'm using Navidrome[0] with all my music stored on a cheap VPS, this way I can play the music from wherever (including mobile[1]).
And FastStone Image Viewer is also familiar. :) Seems like I've turned lazy (and "cloudy") in recent years, Google Photos is just so convenient.
I'm big into archiving. It's almost autistic how perfect I want my media to be named and tagged and bpm'ed and with fitting cover art and so on Foobar with the that wealth of addons helped a lot:
- Buttons to search for images with artist and album name
- complex renaming patterns
- replaygaining
- batch editing tags...
There is so much I love (ed) about it!
Haven't tried navidrome yet but was planning on installing a multiroom soundsystem with navidrom and snapcast. But that just serves a different purpise :-)
Some stuff I've successfully used on WINE (on Linux only...I've never owned a Mac):
SRIM/TRIM (http://srim.org/)
u-blox u-center (https://www.u-blox.com/en/product/u-center)
various other vendor software (e.g. power supply control GUI over serial, etc.)
As others have mentioned, gaming. I have a Steam Deck, which runs Arch under the hood using the Steam client to provide an essentially seamless gaming experience with Proton (which is built on Wine). Provides the efficiency and customizability of Linux with the gaming support of Windows in a handheld.
It does indeed, look up yabridge. I have been able to do it almost entirely issue free for many plugins (and even better, I can still keep a low sample rate).
Like the other post said, it works great (for the most part). It can fall apart when the plugin creator has some draconian activation service but I avoid those plug-ins anyway.
Proton (based on wine) for games. Can't say I really have any other uses these days since most other things either work on the web or have been ported or have much better free software alternatives.
Mainly to run stuff like Photoshop, ResourceHacker, IDA, and other Windows-only utilities/programs. For gaming, I almost exclusively use Proton-GE (through the Steam client admittedly).
For years on macOS, I used (try) to run stuff on Wine 2.7, with not terrible success. Since then, Wine has progressed leaps and bounds, although I haven’t actively paid attention to most of its changes.
If you're not using the latest distro (e.g. LTS) and don't want to compile programs from scratch, there are cases where it is easier to run the latest version of a program using the Windows version instead of the latest pre-compiled Linux binary due to requiring newer dependencies. Except for OpenGL issues that I haven't figured out yet, I found it easier to run the Windows Octave 7.3 on Ubuntu 22.04 with WINE.
I would have used it to run Macromedia Director 7 but had to resort to running Windows 98 through UTM (qemu) because I'm on an M1 Mac.
Back in the day, I used it to run Halo: Combat Evolved for PC on my Ubuntu installation. Now I have no need for this, but Wine improved over the years to a point where the game actually ran pretty well. Apparently the 1.0.10 patch for the game from 2014 now has a Gold rating on WineHQ.
I've been using it to try to run Steam, mainly to launch Portal 2 and play with friends. I'm on an Apple Silicon Mac running Ventura. It's a horrible experience. I have the macOS Steam client, and while it's a steaming pile of garbage UX-wise, it mostly works. But under Wine (or specifically CrossOver), it barely works. Here's what happens when I attempt to run Steam:
- It takes around 1 minute to get auto-logged in. The macOS client takes 11 seconds (I just timed them both).
- About half of the UI doesn't work. Fonts are missing, so there are buttons with no labels. If you scroll with the mouse, sometimes that locks up the page you're looking at and you can no longer use that page until you quit and restart the app. You can do other things and come back, but that page is dead for you now until the next app restart.
- The Library screen works about 5% of the time. The other 95% of the time, it hangs during loading the page with the little Steam icon and the 3 dots under it. In order to play Portal 2 in those cases, I have to go to the store, search for it, click on it to go to its specific page, then click on the play button.
- One or all apps will sometimes (about 10% of the time) just abort with no error message or anything. The app window and the macOS process just go away. You might be in the middle of selecting a game in the Steam client, or you might be in the middle of a game (either alone or with a friend) and it just ends.
- When playing Portal 2 everything renders fine unless you're looking at it through a Portal. When looking through a Portal, random bits of geometry from around the level are displayed among the correct geometry, some textures are incorrect or missing while others are fine, etc. Just weird drawing problems. Once you pass through the portal, everything is fine.
- It mostly plays at 60fps, but very rarely (maybe 1% of the time) starts dropping frames. That part is fairly impressive, honestly.
So yeah, there seems to be some happy path for which it works fairly well, and anything off that is just random glitches, hangs, crashes, etc. I'm having a hard time understanding why the HN crowd thinks it's so great. This seems like the main use case, and others have claimed that Valve pays CodeWeavers (who make CrossOver) to make it work with their games, but it barely even works with the Steam client. I'm at a loss to explain it.
The main target of Wine is x86 Linux not ARM macOS. MacOS doesn't support Vulkan and so that version of Wine is missing DXVK and Vkd3d for better game performance and support. It's a completely different experience.
Plus with Steam on Linux you don't need to run the Windows version of Steam at all. The native client will let you install Windows games using Proton (Valve's modified Wine essentially) by checking a box. Most stuff works very well and it's how the Steam Deck does it's thing. Some titles actually work better than they do on modern Windows like Jedi Knight II which has 3D acceleration support on Linux through Wine but not Windows 10 native.
People who use Wine (Proton really) + Steam don't use Wine to run Steam itself, they run the platform native Steam client which manages the Proton installations (multiple versions) for them. So everything is native, up until game launch, then Steam launches the game via Proton (Wine).
It works really well, considering what it is doing. I'm playing all sorts of games on Linux and my Steam Deck that I didn't even dream of being able to play before (including playing through Portal 2 on my Steam Deck currently :) ).
I'm not alone in this, you can browse a user-sourced DB of experiences over here if you want further proof: https://www.protondb.com/explore?sort=popular Everything rated gold or above runs really well and you don't experience any problems at all. Silver is mostly working ok, besides some edge-cases or aggressive anti-cheats stopping multiplayer from working.
I'm guessing that that has a lot more to do with being on Apple Silicon than anything else. Steam and all the games are compiled for x86, which means it's gotta go through Rosetta and then through Wine. Also, on macOS specifically, no Vulkan support means you have to use MoltenVK to convert the DXVK instructions to Metal, and I don't think MoltenVK has completed the work to convert all the instructions Vulkan uses.
I was impressed I could get Windows games running at all, but the experience was pretty bad as you mentioned. Titanfall 2 was real janky, no audio and the graphics were super bugged.
I use it to run my Windows games. In fact this became a bit of a hobby in itself, trying to make a game running by Wine.
If everything else fails, you can always try a full fledged Windows VM. Performance is... not like bare metal, but the results can be surprisingly good.
PDF-XChange Viewer, the only program that I know that can passably be used to fill very complex pdf forms with many fields.
Too bad crossover on mac keeps on breaking...
I'm yet to find another pdf app that can substitute it on mac...
Libs that use C# but nobody wants to try building on Linux, Windows binaries we get as-is from outside the organization, C++ code relying on MVSC non-standardness, C code relying on a custom toolchain that can't be ported...
What do you all use Wine for (and on which OS)?
I used to keep trying it for running various poker clients on Linux but none ever really worked properly.
I also tried DelftShip (hull designer) on MacOS but couldn't get it to work properly, while an old version of FreeShip (from which DelftShip was forked) did however work IIRC.
In short I've tried various apps throughout the years but have found nothing that's actually worked well enough to keep it running to this day. Last time I tried Wine must've been around version 5 though, maybe things have improved since?