logoalt Hacker News

Loss32: Let's Build a Win32/Linux

335 pointsby akka47last Monday at 7:09 PM426 commentsview on HN

Comments

senfiajyesterday at 2:52 PM

This might offend some people but even Linus Torvalds thinks that the ABI compatibility is not good enough in Linux distros, and this is one of the main reasons Linux is not popular on the desktop. https://www.youtube.com/watch?v=5PmHRSeA2c8&t=283s

show 9 replies
mikkupikkuyesterday at 2:37 PM

Crazy how, thanks to Wine/Proton, Linux is now more compatible with old Windows games than Windows itself. There are a lot of games from the 90s and even the 00s that require jumping through a lot of hoops to run on Windows, but through Steam they're click-to-play on Linux.

show 4 replies
rickcarlinoyesterday at 1:52 PM

Building GUI utilities based on VB6 instead of status quo web technologies might actually be more stable and productive.

show 9 replies
goku12yesterday at 3:44 PM

Can somebody explain:

1. The exact problem with the Linux ABI

2. What causes it (the issues that makes it such a challenge)

3. How it changed over the years, and its current state

4. Any serious attempts to resolve it

I've been on Linux for may be 2 decades at this point. I haven't noticed any issues with ABI so far, perhaps because I use everything from the distro repo or build and install them using the package manager. If I don't understand it, there are surely others who want to know it too. (Not trying to brag here. I'm referring to the time I've spent on it.)

I know that this is a big ask. The best course for me is of course to research it myself. But those who know the whole history tend to have a well organized perspective of it, as well as some invaluable insights that are not recorded anywhere else. So if this describes you, please consider writing it down for others. Blog is probably the best format for this.

show 5 replies
Imustaskforhelpyesterday at 6:35 PM

Someone please create a windows 7 like user interface or even XP like interface too and you got yourself a serious fan

I might seriously recommend it to newbies and like there is just this love I have for windows 7 even though I really didn't use it for much but its so much more elegant in its own way than windows 10

like it can be a really fun experiment and I would be interested to see how that would pan out.

show 5 replies
mikewarotyesterday at 3:02 PM

I'm back to running Windows because of the shifting sands of Python and WxWindows that broke WikidPad, my personal wiki. The .exe from 2012 still works perfectly though, so I migrated back from Ubuntu to be able to use it without hassle.

It's my strong opinion that Windows 2000 Server, SP4 was the best desktop OS ever.

show 3 replies
nialv7yesterday at 1:34 PM

Unironically, yes. It's time that Microsoft taste their own medicine of embrace, extend, and extinguish.

show 1 reply
0xbadcafebeetoday at 3:36 AM

I like the idea of it, but Linux hardware support is still crap, and will get worse as ARM becomes more entrenched.

What boggles my mind is why Google hasn't gotten more serious about making Android a desktop OS. Pay the money needed to get good hardware support, control the OS, and now you're a Microsoft/Apple competitor for devices. Yes there is the Chromebook, but ChromeOS is not a real desktop OS, it's a toy. Google could control both the browser market and the desktop computing market if they seriously tried. (But then again that would require listening to customers and providing support, so nevermind)

show 4 replies
esbransonyesterday at 4:51 PM

Cool. Having major distributions default to using binfmt_misc to register Wine for PE executables (EXE files) would be nice though. Next steps would obviously be for Windows apps to have their own OS-level identity, confined and permissioned per app using normal Linux security mechanisms, run against a reproducible and pinned Wine runtime with clearly managed state, integrated with the desktop as normal applications (launching, file associations, icons), and produce per-app logs and crash information, so they can be operated and managed like native programs. We have AI now, this should not be rocket science or require major investments. Only viable way Linux is replacing Windows.

show 1 reply
haunteryesterday at 3:14 PM

Reference to the famous “Win32 Is the Only Stable ABI on Linux" post

https://blog.hiler.eu/win32-the-only-stable-abi/

https://news.ycombinator.com/item?id=32471624

nineteen999yesterday at 8:08 PM

> The late-90's-to-early-2010's PC desktop experience was great for power users, especially creative users. Let's keep the dream alive.

It sure was, if you were already bored by Windows 3.11/95 and were getting into Linux, it was fantastic. You were getting skills at the ground floor which could help keep you in good career for most of the rest of your life.

M95Dtoday at 12:58 PM

Wine on top of X / Wayland isn't good enough. It needs to be Wine (or loss32) directly on top of the Linux kernel, started as an init.

stuaxotoday at 11:28 AM

Nice. It would be good if winetricks could install the ReactOS userland, explorer.exe and friends barely exist in upstream wine.

There were some great efforts to build these out in ReactOS a few years ago.

the__alchemistyesterday at 2:37 PM

Yea! I love the spirit. Compatibility in computing is consternating. If my code is compiled for CPU Arch X, the OS should just provide it with (using Rust terminology) standard library tools (networking, file system, and allocator etc) , de-conflict it with other programs, and get out of the way. The barriers between OSes, including between various linux dependencies feels like a problem we (idealistically thinking) shouldn't have.

typtoday at 1:19 AM

Rather than API/ABI stability, I think the problem is the lack of coherence and too many fragile dependencies. Like, why should a component as essential as Systemd have to depend on a non-essential service called d-bus? Which in turn depends on an XML parser lib named libexpat. Just d-bus and libexpat combined takes a few megabytes. Last time I checked, the entire NT kernel, and probably the Linux kernel image as well, has no more than single-digit MBs in size. And by the way, Systemd itself doesn’t use XML for configurations. It has an INI style configuration format.

show 1 reply
apatheticoniontoday at 6:20 AM

+1

A 1:1 recreation of the Windows XP or Windows 7 user experience with the classic theme would be killer.

I say this with love, I have used KDE extensively and I still find it more janky than Windows XP. Gnome is "better" (especially since v40) in that it's consistent and has a few nicer utilities, but it also has worse UX (at least for power users) than Windows XP.

fsiefkenyesterday at 11:27 PM

Alternatively one could also use OneCore patched XP with MSYS2/MinGW/Cygwin with Bash, gnu tooling and the pacman package manager. One could compile most necessary software by hand. It runs a modern firefox, libreoffice and Windows7 games. Perhaps most of python, rust and node ecosystems would run. Or if one really needs a linux/wsl light alternative one could run virtualbox, qemu or colinux (up to the ancient kernel 2.6.33). Who needs 64 bit if the lean and mean 32-bit suffices and the Windows classic theme is included? Small llm's would probably not work, while they would with Loss32

andrewfyesterday at 2:10 PM

Starting with FreeBSD might be easier than starting with Debian then removing all the GNUisms. But perhaps not as much Type II fun.

show 2 replies
bobajeffyesterday at 2:57 PM

I like this idea and know at least a few who would love to use this if you can solve for the:

'unfortunate rough edges that people only tolerate because they use WINE as a last resort'

Whether those rough edges will ever be ironed out is a matter I'll leave to other people. But I love that someone is attempting this just because of the tenacity it shows. This reminds me of projects like asahi and cosmopolitan c.

Now if we're to do something to actually solve for Gnu/Linux Desktops not having a stable ABI I think one solution would be to make a compatibility layer like Wine's but using Ubuntu's ABIs. Then as long as the app runs on supported Ubuntu releases it will run on a system with this layer. I just hope it wouldn't be a buggy mess like flatpak is.

pseudonyyesterday at 9:48 PM

I think this project actually has merit and highlights the core issue.

We have gone through one perceived reason after the other to try and explain why the year of the Linux desktop wasn’t this one.

Uncharitably, Linux is too busy breaking and deprecating itself to ever become more than a server OS, and that only works due to companies sponsoring most the testing and code that makes those parts work. Desktop in all its forms is an unmitigated shit show.

With linux, you’re always one kernel/systemd/$sound system/desktop upgrade away from a broken system.

Personal pains: nvidia drivers, oss->alsa, alsa->pulse audio, pulse audio->pipe wire, init.d to upstart to systemd, anything dkms ever, bash to dash, gtk2 to gtk3, kde3 to kde4 (basically a decade?), gnome 2 to gnome 3, some 10 gnome 3 releases breaking plugins I relied on.

It should be blindingly obvious; windows can shove ads everywhere from the tray bar to start menu and even the damned lock screen, on enterprise editions no less, and STILL have users. This should tell you that linux is missing something.

It’s not the install barrier (it’s never been lower, corporate IT could issue linux laptops, linux on laptops exist from several vendors).

It’s also not software, the world has never placed so many core apps in the browser (even office, these days).

It’s not gaming. Though its telling that, in the end, the solution from valve (proton) incidentally solves two issues - porting (stable) windows APIs to linux and packaging a complete mini-linux because we can’t interoperate between distros or even releases of the same distro.

I think the complete and utter disdain in linux for stability from libraries through subsystems to desktop servers, ui toolkits and the very desktops themselves is the core problem. And solving through package management and the ensuing fragmentation from distros a close second.

show 1 reply
frumplestlatzyesterday at 1:58 PM

Technically it's the only stable macOS ABI, too. The only way to run a legacy 32-bit binary on macOS today is a win32 exe running under Wine.

show 1 reply
guerrillayesterday at 7:27 PM

I absolutely love this. I need a live CD/USB ASAP please!

apexalphayesterday at 3:40 PM

I build a gaming VM and decided to go with Windows because the latest AMD drivers (upscaling etc..) only works there for now.

I wanted to be nice and entered a genuine Windows key still in my laptop's firmware somewhere.

As a thank you Microsoft pulled dozens of the features out of my OS, including remote desktop.

As soon as these latest FSR drivers are ported over I will swap to Linux. What a racket, lol.

oybngyesterday at 2:17 PM

It still puzzles me decades later how MS built the most functional, intuitive and optimised desktop environment possible then simply threw it away

show 7 replies
TimTheTinkeryesterday at 3:56 PM

This is a really cool idea. My only gripe is that Win32 is necessarily built on x86. AArch64/ARM is up and coming, and other architectures may arise in the future.

Perhaps that could be mitigated if someone could come up with an awesome OSS machine code translation layer like Apple's Rosetta.

show 2 replies
theLiminatoryesterday at 7:24 PM

Lol I didn't realize that my joke is actually real https://news.ycombinator.com/item?id=46366998#46368990

show 1 reply
giancarlostorotoday at 1:53 AM

This is weird I only use Wine for games, but the name's clever. All my other software is natively Linux, even Steam itself.

ajbtoday at 1:50 AM

As of the time of writing the first hundred or so comments are on tangents, so TLDR: this is about making a "Linux distribution" of which all the userland software is win32 software running on Wine. The idea, among others, is to recreate the experience of '90s..'10s versions of Windows. It's at an early stage.

znpyyesterday at 2:09 PM

> What is this? A dream of a Linux distribution where the entire desktop environment is Win32 software running under WINE.

I might unironically use this. The Windows 2000 era desktop was light and practical.

I wonder how well it performs with modern high-resolution, high-dpi displays.

show 3 replies
ezoeyesterday at 1:43 PM

But would you want to run these Win32 software on Linux for daily use? I don't.

show 6 replies
voidfuncyesterday at 9:13 PM

You son of a bitch, im in!

Love this idea. Love where it is coming from.

KerrAvontoday at 3:54 AM

I love the idea of ending the Wayland vs X argument by supplanting them with GDI+ (kind of implied, though not explicitly stated, by this proposal).

jimbobthrowawyyesterday at 2:49 PM

I think there's a quote from Linus himself saying this.

phendrenad2yesterday at 4:07 PM

This is going to be a bold claim but here goes.

This will never work, because it isn't a radical enough departure from Linux.

Linux occupies the bottom of a well in the cartesian space. Any deviation is an uphill battle. You'll die trying to reach escape velocity.

The forcing factors that pull you back down:

1. Battles-testedness. The mainstream Linux distros just have more eyeballs on them. That means your WINE-first distro (which I'll call "Lindows" in honor of the dead OS from 2003) will have bugs that make people consider abandoning the dream and going back to Gnome Fedora.

2. Cool factor. Nobody wants to open up their riced-out Linux laptop in class and have their classmate look over and go "yo this n** running windows 85!" (So, you're going to have to port XMonad to WINE. I don't make the rules!)

3. Kernel churn. People will want to run this thing on their brand-new gaming laptop. That likely means they'll need a recent kernel. And while they "never break userspace" in theory, in practice you'll need a new set of drivers and MESA and other add-ons that WILL breaks things. Especially things like 3D apps running through WINE (not to mention audio). Google can throw engineers at the problem of keeping Chromium working across graphics stacks. But can you?

If you could plant your flag in the dirt and say "we fork here" and make a radical left turn from mainline Linux, and get a cohort of kernel devs and app developers to follow you, you'd have a chance.

show 1 reply
Ygg2yesterday at 2:29 PM

Damn, they didn't miss a spot to add a Loss comic reference.

https://en.wikipedia.org/wiki/Loss_(Ctrl%2BAlt%2BDel)

show 1 reply
lprovenyesterday at 10:43 AM

I've heard worse ideas. Not much, but some. An AI-driven Linux, for instance.

fithisuxyesterday at 10:57 PM

Are the people behind this project the same as the Free95 team?

show 1 reply
fithisuxyesterday at 10:55 PM

Interesting concept. If it works why not?

There is a ton of useful FOSS for Windows and maybe it is a good push to modernize abandoned projects or make Win32 projects cross-compilable.

aussieguy1234yesterday at 10:23 PM

While this might appeal to retro enthusiasts, I could see a Linux based drop in replacement for Windows 10/11 getting traction amongst mainstream users, especially if it had a good UI/UX.

Your average user might not even know its Linux.

pjmlpyesterday at 2:22 PM

Thus reinforcing development tools that target Windows desktop even further, the OS/2 lesson repeats itself.

And failing everything else, Microsoft is in the position to put WSL center and front, and yet again, that is the laptops that normies will buy.

show 1 reply
dmitrygryesterday at 7:53 PM

Thing is, I want the opposite. I want the NT/2k/w7 kernel and XFCE on top. NT kernel is infinitely better designed and has much better support on latest intel/amd hardware than Linux. And XFCE is much better than modern windows ui.

show 1 reply
gaigalastoday at 12:45 AM

https://github.com/jart/cosmopolitan/issues/35#issuecomment-...

The idea of "fuck it, let's do Windows everywhere" was introduced by Justine Tunney as an April Fools Joke in the Cosmopolitan repository.

That's it. An april fools joke.

foxrideryesterday at 2:14 PM

I mean... isn't that just X11 light compositor (like IceWM) with binfmt enabled?

levibevyesterday at 8:06 PM

[dead]

jccx70today at 10:33 AM

It's like having the dream of running Visual Studio 2026 on linux: COMPLETELY RETARDED.

tostiyesterday at 2:36 PM

This is only ever relevant for proprietary software. Free software does not require a stable ABI. Great that wine exists but it should be useless.

(That and Linux doesn't implement win32 and wine doesn't exclusively run on Linux.)

show 3 replies
antirezyesterday at 2:42 PM

The difference between Win32 and Linux is that the latter didn't realize an operating system is more than a kernel and a number of libraries and systems glued together, but is, indeed, a stable ABI (even for kernel modules -- so old drivers will be usable forever), a default, unique and stable API for user interface, audio, ..., and so forth. Linux failed completely not technologically, but to understand what an OS is from the POV of a product.

show 1 reply

🔗 View 3 more comments