Hiler
blog.hiler.eu · Personal blog · on HN since 2022
Hiler is a developer who writes about Wine and Linux, including the essay 'Win32 Is the Only Stable ABI on Linux'.
What HN saysHN commenters often cite the Win32 stable ABI essay to argue that Wine or Proton gives the best binary compatibility on Linux.
24HN people shared it
20linked it in comments
4stories submitted
522story points
6 months agolast shared
2022people per year2026
Most-shared posts
- 1Win32 Is the Only Stable ABI on Linux?23 people · 521 points · first shared 2022 · 517 comments on HN
- 2Wine's PE –> Unix Interface1 people · 1 points · first shared 2023 · discussion on HN
What HN people wrote when they linked it
greiskul · 2026-03-24
As someone once said it best, Win32 is the only stable ABI on Linux: https://blog.hiler.eu/win32-the-only-stable-abi/
tuhgdetzhh · 2026-01-26
The best binary compatibily you can get on Linux is via Wine.
Source: https://blog.hiler.eu/win32-the-only-stable-abi/
aleph_minus_one · 2025-10-09
> My recommendation for happiness with Linux is: Always use native apps. Don’t use WINE. Don’t try to be compatible to inherent hostile things.
Rather: don't try to be compatible with inherently unstable APIs:
https://sporks.space/2022/02/27/win32-is-the-stable-linux-userland-abi…
https://blog.hiler.eu/win32-the-only-stable-abi/
Just to be clear: I consider it to be a good idea to write native apps for GNU/Linux, but first stabilize the APIs so that they stay basically stable for at least 20 years.
haunter · 2023-08-29
> Proton has got so good that the best way of making games work on Linux is to target Proton and all your cross platform challenges are taken care of
There was the famous "Win32 Is The Only Stable ABI on Linux" article last year which pretty much about this https://blog.hiler.eu/win32-the-only-stable-abi/ https://news.ycombinator.com/item?id=32471624
As you said, easier/better to target Win32 and just use Proton.
It's also funny because it kinda became true on another level as "Win32 Is Only Stable on Linux". It's easier to run old games and softwares (XP era and earlier) with Proton under Linux than on current Windows 10/11
networked · 2023-12-10
Yeah, I've had pipx break once with a generic error.
It was after a Python version upgrade.
I also ended up reinstalling pipx and the applications to fix it.
I should qualify my recommendation.
With pipx, your application will very likely install and work correctly,
but it won't necessarily stay working when the Python installation changes.
A self-contained binary is better in this way.
I don't see Python packaging and dependency management as a bulldoze-everything-and-start-over disaster anymore.
Thanks to improvements like wheels, manylinux, `pyproject.toml`, https://peps.python.org/pep-0517/, and Poetry/PDM/Flit/Hatch/etc. they are increasingly adequate.
I have compiled a Python application to a native binary with https://github.com/Nuitka/Nuitka.
Once I got it to compile,
it fully worked.
The process was a little fiddly,
although I don't remember the exact problem.
In the end I set up a Docker container for the build,
and then it built.
Maybe Mojo will be what you wish Nim was.
For standalone scripts, there are options.
(My list: https://github.com/stars/dbohdan/lists/python-scripts-with-deps.)
Support for scripts should be coming to pipx.
I have used the development version and liked it.
This is an area where things are actually pretty good but not common knowledge.
> I'm always amazed at the Windows ecosystem. I can download something that was built in the 90s and happily run it in wine.
https://blog.hiler.eu/win32-the-only-stable-abi/ :-)
andai · 2026-05-12
...and of course, Portable Apps require a relatively stable ABI...
https://blog.hiler.eu/win32-the-only-stable-abi/
>Win32 is the only stable ABI on Linux
Though macOS I think has a similar issue.
senfiaj · 2026-04-06
For some reason I associate this with this article
https://blog.hiler.eu/win32-the-only-stable-abi/
mxey · 2025-12-11
Actually this is the reason why Win32 is the stable ABI for Linux.
https://blog.hiler.eu/win32-the-only-stable-abi/
pfix · 2025-11-01
Funny. This is the opposite of what https://blog.hiler.eu/win32-the-only-stable-abi/ states :D
And there's a lot going on with Proton and the Steam Deck, so I don't think this is a valid argument.
r0uv3n · 2025-10-09
"Win32 is the only stable ABI on Linux" - https://blog.hiler.eu/win32-the-only-stable-abi/
Barrin92 · 2025-09-27
> it would allow huge communities to emerge keeping very old software/games working indefinitely.
That's a completely backwards take though. Windows is practically the only platform in the world that cares about backwards compatibility. On Windows you can run a 20 year old executable and you've got pretty good chance it runs. With Linux operating systems you have no idea if something compiled on the last LTS release runs on the next one.
This is one of the few issues where having a private company control the entire stack and providing a stable ABI for decades is actually a benefit, to the point where your target if you want to build games on linux is...Win32 (https://blog.hiler.eu/win32-the-only-stable-abi/)
SSLy · 2025-04-02
> Wine is linux only stable abi
https://blog.hiler.eu/win32-the-only-stable-abi/
bombcar · 2025-02-05
https://blog.hiler.eu/win32-the-only-stable-abi/ makes a good point that the really only stable ABI on Linux is WIN32, especially if you step an inch off the "we have the source and build from it every time" train.
Linus keeps the kernel ABI as stable as he can, but that's only a small part of Linux.
bsnnkv · 2025-02-04
Relevant article from a few years ago: https://blog.hiler.eu/win32-the-only-stable-abi/
throwaway2046 · 2024-11-01
For those who don't know the reference: https://blog.hiler.eu/win32-the-only-stable-abi/
yjftsjthsd-h · 2024-11-01
> and allow for overall modernisation / forking / maintenance that is needed.
Or, it allows for pointless churn, extra work, and breakage of apps that were still functional until someone yanked their dependencies. This kind of thing is why software rot is even a thing and people remarking that Win32 Is The Only Stable ABI on Linux ( https://blog.hiler.eu/win32-the-only-stable-abi/ ).
fbdab103 · 2023-01-02
Win32 Is The Only Stable ABI on Linux: https://blog.hiler.eu/win32-the-only-stable-abi/
actionfromafar · 2022-09-27
Now someone port it Wine, combine it with the fact that Win32 is the only stable ABI on Linux [0] and we're all set!
0: https://blog.hiler.eu/win32-the-only-stable-abi/
johnfernow · 2024-10-11
What do you foresee not working in the future?
If future versions of Proton break compatibility with older Windows apps, you can use different old versions of Proton for individual games. Steam makes this very easy on Linux, but rarely is it necessary.
I don't foresee many Linux distros breaking compatibility with Wine, which is good, as some devs argue Win32 is the only stable ABI on Linux. [1]
I don't foresee legal issues either, as Wine has been around for 31 years, and its corporate sponsors have included Google in the past. I've seen no indication that the project is on shaky legal grounds.
Microsoft could always create a new API that Wine doesn't yet support, but good luck getting developers to use it -- they've tried many times, but not much has stuck, and most devs just stick with Win32. [2]
1. https://blog.hiler.eu/win32-the-only-stable-abi/
2. https://news.ycombinator.com/item?id=36060678