[HN Gopher] Loss32: Let's Build a Win32/Linux
       ___________________________________________________________________
        
       Loss32: Let's Build a Win32/Linux
        
       Author : akka47
       Score  : 159 points
       Date   : 2025-12-29 19:09 UTC (1 days ago)
        
 (HTM) web link (loss32.org)
 (TXT) w3m dump (loss32.org)
        
       | lproven wrote:
       | I've heard worse ideas. Not much, but some. An AI-driven Linux,
       | for instance.
        
       | aggling wrote:
       | This is amusing but infeasible in practice because it would need
       | to be behaviorally compatible with Windows, including all bugs
       | along with app compatibility mitigations. Might as well just use
       | Windows at that point.
        
         | nialv7 wrote:
         | you have full control of a Linux system. win32/linux respects
         | your rights that microsoft doesn't. that's the difference.
        
           | aggling wrote:
           | That is irrelevant to the feasibility of reimplementing the
           | Win32 API on Linux.
        
             | tapoxi wrote:
             | It's already been done, though. Wine has been around for 30
             | years and has excellent compatibility at this point.
        
               | aggling wrote:
               | 5341 of the 16491 applications listed in the Wine AppDB
               | have a compatibility rating of "garbage". This is not
               | excellent compatibility.
        
               | winnnd wrote:
               | Relative to (64-bit) windows 11, it might be.
        
               | dleslie wrote:
               | How many of those entries have been tested with recent
               | versions of wine or proton? Seems a poor metric.
               | 
               | Better to consider is the Proton verified count, which
               | has been rocketing upwards.
               | 
               | https://www.protondb.com/
        
               | nulbyte wrote:
               | I would hazard a guess that most of those apps are
               | garbage on Windows, too.
        
             | raddan wrote:
             | WINE has been reimplementing the Win32 ABI (not API) for
             | decades. It already works pretty well; development has been
             | driven by both volunteers and commercial developers
             | (CodeWeavers) for a long time.
        
               | aggling wrote:
               | There are many programs that still do not work properly
               | in WINE, even though it has been developed for decades.
               | This in itself demonstrates the infeasibility of
               | reimplementing Win32 as a stable interface on par with
               | Windows. The result after all this effort is still patchy
               | and incomplete.
        
               | toast0 wrote:
               | There are many programs that do not work properly in
               | Windows 11, so using Windows to run Windows programs
               | doesn't work either.
        
       | nialv7 wrote:
       | Unironically, yes. It's time that Microsoft taste their own
       | medicine of embrace, extend, and extinguish.
        
         | qingcharles wrote:
         | Here me out: Microsoft switches to Linux kernel for Windows 13.
         | 
         | (also Microsoft has been heavily embracing Linux and open
         | source in the last decade)
        
       | ezoe wrote:
       | But would you want to run these Win32 software on Linux for daily
       | use? I don't.
        
         | pjmlp wrote:
         | Gamers have no other option, and thanks Valve, game studios
         | have no reasons left to bother with native Linux clients.
         | 
         | Just target Windows, business as usual, and let Valve do the
         | hard work.
        
           | cromka wrote:
           | > Gamers have no other option, and thanks Valve, game studios
           | have no reasons left to bother with native Linux clients
           | 
           | But they do test their Windows games on Linux now and fix
           | issues as needed. I read that CDProjekt does that, at least.
        
             | mikkupikku wrote:
             | CDProjekt releases native linux builds.
        
               | not_a9 wrote:
               | I don't think Witcher 3 or Cyberpunk 2077 have Linux
               | builds available for the common folk? Cyberpunk has a
               | ARM64 Mac build, though.
        
               | mikkupikku wrote:
               | Huh, I could have sworn Witcher 3 did, but maybe I am
               | misremembering it merely releasing without DRM.
        
               | chungy wrote:
               | Witcher 2 had a Linux native build, but never Witcher 3.
        
             | pjmlp wrote:
             | Not really, most leave that to Valve.
        
           | kaoD wrote:
           | Well, not having Proton definitely didn't work to grow gaming
           | on Linux.
           | 
           | Maybe Valve can play the reverse switcheroo out of
           | Microsoft's playbook and, once enough people are on Linux,
           | force the developers' hand by not supporting Proton anymore.
        
           | Goronmon wrote:
           | _...game studios have no reasons left to bother with native
           | Linux clients._
           | 
           | How many game studios were bothering with native Linux
           | clients before Proton became known?
        
             | mpyne wrote:
             | That's exactly the point. They weren't, so a Linux user
             | didn't have an option to run a native Linux client in
             | preference to a Win32 version.
             | 
             | That goes back to address the original question of "But
             | would you want to run these Win32 software on Linux for
             | daily use?"
        
             | pjmlp wrote:
             | More than now, I own a few from the Loki Entertainment
             | days.
        
         | keyringlight wrote:
         | Depends on what task you're doing, and to a certain extent how
         | you prefer to do it. For example sure there's plenty of ways to
         | tag/rename media files, but I've yet to find something that
         | matches the power of Mp3tag in a GUI under linux.
        
           | m01 wrote:
           | Have you tried kid3 (https://kid3.kde.org)? It has both a GUI
           | and a CLI.
           | 
           | From a quick glance at the feature lists it looks quite
           | comparable.
        
         | jcelerier wrote:
         | For making music as much as I love the free audio ecosystem
         | there's some very unique audio plugins with specific sounds
         | that will never be ported. Thankfully bridging with wine works
         | fairly well nowadays.
        
         | olyjohn wrote:
         | I use some cool ham radio software, a couple SDR applications,
         | and a lithophane generator for my 3d printer. It all works
         | great, if you have a cool utility or piece of software, why
         | wouldn't you want to?
        
       | rickcarlino wrote:
       | Building GUI utilities based on VB6 instead of status quo web
       | technologies might actually be more stable and productive.
        
         | andy_ppp wrote:
         | Honestly, it's probably faster and less resource intensive
         | through emulation than your average Electron app :-/
        
           | jeremyjh wrote:
           | Wine Is Not an Emulator (WINE). It provides win32 APIs; your
           | CPU will handle the instructions natively. There is no
           | "probably" about it.
        
             | ndiddy wrote:
             | Whenever people bring this up I find it somewhat silly.
             | Wine originally stood for "Windows Emulator". See old
             | release notes ( https://lwn.net/1998/1112/wine981108.html )
             | for one example: "This is release 981108 of Wine, the MS
             | Windows emulator." The name change was made for trademark
             | and marketing reasons. The maintainers were concerned that
             | if the project got good enough to frighten Microsoft, they
             | might get sued for having "Windows" in the name. They also
             | had to deal with confusion from people such as yourself who
             | thought "emulation" automatically meant "software-based,
             | interpreted emulation" and therefore that running stuff in
             | Wine must have some significant performance penalty. Other
             | Windows compatibility solutions like SoftWindows and
             | Virtual PC used interpreted emulation and were slow as a
             | result, so the Wine maintainers wanted to emphasize that
             | Wine could run software just as quickly as the same
             | computer running Windows.
             | 
             | Emulation does not mean that the CPU must be interpreted.
             | For example, the DOSEMU emulator for Linux from the early
             | 90s ran DOS programs natively using the 386's virtual 8086
             | mode, and reimplemented the DOS API. This worked similarly
             | to Microsoft's Virtual DOS Machine on Windows NT. For a
             | more recent example, the ShadPS4 PS4 emulator runs the game
             | code natively on your amd64 CPU and reimplements the PS4
             | API in the emulator source code for
             | graphics/audio/input/etc calls.
        
               | jeremyjh wrote:
               | Sure, you can call it an emulator in that sense but how
               | does that imply anything at all about performance? That
               | is what I was responding to.
        
               | chungy wrote:
               | The problem is the word "emulator" itself. It's a very
               | flexible word in English, but when applied to computing,
               | it very often implies emulating foreign hardware in
               | software, which is always going to be slow. Wine doesn't
               | do that and was wise to step away from the connotations.
        
             | andy_ppp wrote:
             | Traditionally WINE uses QEMU on Apple Silicon to execute
             | x86 binaries on an ARM CPU, so while I'm aware WINE Is No
             | an Emulator there's likely emulation happening in a lot of
             | cases.
        
         | pjmlp wrote:
         | I would vote for Delphi/FreePascal, but share the sentiment.
        
           | NooneAtAll3 wrote:
           | Lua
        
             | pjmlp wrote:
             | Performance?
        
               | Etheryte wrote:
               | If there was sufficient interest in it, most performance
               | issues could be solved. Look at Python or Javascript, big
               | companies have financial interest in it so they've poured
               | an insane amount of capital into making them faster.
        
               | vips7L wrote:
               | Isn't python still the slowest mainstream language?
        
               | Etheryte wrote:
               | Being slower than other mainstream languages isn't really
               | a problem in and of itself if it's fast enough to get the
               | job done. Looking at all the ML and LLM work that's done
               | in Python, I would say it is fast enough to get things
               | done.
        
               | NetMageSCW wrote:
               | As pointed out already, most of that uses C code or GPU
               | code to do the work and not slow Python code.
        
               | chungy wrote:
               | No. Ruby exists.
        
               | dragonwriter wrote:
               | Ruby is now faster than Python, last I saw a comparison,
               | though it used to be the other way around.
        
               | Rochus wrote:
               | Do you think that "most performance issues" in Python are
               | solved?
        
               | kh_hk wrote:
               | LuaJIT can be extremely fast
        
           | CWuestefeld wrote:
           | I only had limited exposure to Delphi, but from what I
           | experienced, it's big thumbs-up.
           | 
           | But if you liked that, consider that C# was in many ways a
           | spiritual successor to Delphi, and MS still supports native
           | GUI development with it.
        
             | pjmlp wrote:
             | Except on the AOT experience and low level programming,
             | which only started to be taken seriously during the last
             | five years.
        
         | bobajeff wrote:
         | Only if I don't need to do anything beyond the built-in widgets
         | and effects of Win32. If I need to do anything beyond that then
         | I don't see me being more productive than if I were using a
         | mature, well documented and actively maintained application
         | runtime like the Web.
        
           | jlarocco wrote:
           | That's not really true. Even in the 90s there were large
           | libraries of 3rd party widgets available for Windows that
           | could be drag-and-dropped into VB, Delphi, and even the
           | Visual C++ UI editor. For tasks running the gamut from 3D
           | graphics to interfacing with custom hardware.
           | 
           | The web was a big step backwards for UI design. It was a 30
           | year detour whose results still suck compared to pre-web UIs.
        
             | bobajeff wrote:
             | That sounds nice. I agree, not having a UI editor making
             | apps is a step back. However, you seem to be discussing
             | mostly in past tense.
             | 
             | Maybe one day something like Lazarus or Avalonia would
             | catch up but today I feel that Electron is best at what it
             | does.
        
         | andsoitis wrote:
         | I would pick Delphi (with which you can build Windows, Linux,
         | macOS, Android, and iOS apps -
         | https://www.embarcadero.com/products/delphi)
         | 
         | Alternatively, RemObjects makes Elements, also a RAD
         | programming environment in which you can code in Oxygene (their
         | Object Pascal), C#, Swift, Java, Go, or Mercury (VB) and target
         | all platforms: .Net, iOS and macOS, Android, WebAssemblyl,
         | Java, Linux, Windows.
        
           | Imustaskforhelp wrote:
           | > Alternatively, RemObjects makes Elements, also a RAD
           | programming environment in which you can code in Oxygene
           | (their Object Pascal), C#, Swift, Java, Go, or Mercury (VB)
           | and target all platforms: .Net, iOS and macOS, Android,
           | WebAssemblyl, Java, Linux, Windows.
           | 
           | Wait you can make Android applications with Golang without
           | too much sorcery??
           | 
           | I just wanted to convert some Golang CLI applications to
           | GUI's for Android and I instead ended up giving up on the
           | project and just started recommending people to use termux.
           | 
           | Please tell me if there is a simple method for Golang which
           | can "just work" for basically being the Visualbasic-alike
           | glue code to just glue CLI and GUI mostly.
        
             | andsoitis wrote:
             | > Wait you can make Android applications with Golang
             | without too much sorcery??
             | 
             | Why don't you try it out:
             | https://www.remobjects.com/elements/gold/
        
               | Imustaskforhelp wrote:
               | It's really price-y and I am not sure about if I could
               | create applications for f-droid if they aren't open
               | source and how it might go with something like
               | remobjects.com/gold/
               | 
               | One of the key principles of f-droid is that it must be
               | reproducible (I think) or open source with it being able
               | to be built by f-droid servers but I suppose
               | reproducibility must require having this software which
               | is paid in this case.
        
           | dardeaup wrote:
           | Yes, you can build cross-platform GUI apps with Delphi.
           | However, that requires using Firemonkey (FMX). If you build a
           | GUI app using VCL on Delphi, it's limited to Windows. If you
           | build an app with Lazarus and LCL, you CAN have it work
           | cross-platform.
        
             | NetMageSCW wrote:
             | I thought the point was that Windows apps will run on Linux
             | under Wine (and macOS?) so using VCL is a cross-platform
             | GUI development environment.
        
               | chungy wrote:
               | You might as well use Lazarus and LCL. It'll give the
               | best of all worlds.
        
               | dardeaup wrote:
               | I made the clarification because the comment I replied to
               | mentioned Android, iOS, and macOS. There are many who
               | used Delphi before FMX appeared and I thought it would be
               | helpful to point out that VCL only makes Windows
               | executables.
        
         | danabramov wrote:
         | I started with VB6 so I'm sometimes nostalgic for it too but
         | let's not kid ourselves.
         | 
         | We might take it for granted but React-like declarative top-
         | down component model (as opposed to imperative UI) was a huge
         | step forward. In particular that there's no difference between
         | initial render or a re-render, and that updating state is
         | enough for everything to propagate down. That's why it went
         | beyond web, and why all modern native UI frameworks have a
         | similar model these days.
        
           | josephg wrote:
           | > and why all modern native UI frameworks have a similar
           | model these days.
           | 
           | Personally I much rather the approach taken by solidjs /
           | svelte.
           | 
           | React's approach is very inefficient - the entire view tree
           | is rerendered when any change happens. Then they need to diff
           | the new UI state with the old state and do reconciliation.
           | This works well enough for tiny examples, but it's clunky at
           | scale. And the code to do diffing and reconciliation is
           | insanely complicated. Hello world in react is like 200kb of
           | javascript or something like that. (Smaller gzipped, but the
           | browser still needs to parse it all at startup). And all of
           | that diffing is also pure overhead. It's simply not needed.
           | 
           | The solidjs / react model uses the compiler to figure out how
           | variables changing results in changes to the rendered view
           | tree. Those variables are wrapped up as "observed state". As
           | a result, you can just update those variables and exactly and
           | only the parts of the UI that need to be changed will be
           | redrawn. No overrendering. No diffing. No virtual Dom and no
           | reconciliation. Hello world in solid or svelte is minuscule -
           | 2kb or something.
           | 
           | Unfortunately, swiftui has copied react. And not the superior
           | approach of newer libraries.
           | 
           | The rust "Leptos" library implements this same fine grained
           | reactivity, but it's still married to the web. I'm really
           | hoping someone takes the same idea and ports it to desktop /
           | native UI.
        
         | steve1977 wrote:
         | And more performant. Software written for 2005 Windows runs
         | super fast on todays systems.
        
           | HeckFeck wrote:
           | Sometimes I install Office 97 for kicks and marvel at how
           | much I can do with it, yet it asks so little of my system.
           | <2Mb RAM for Word 97!
        
         | zzo38computer wrote:
         | If it is made to allow C codes to be combined with VB6 codes
         | easily, and a FOSS version of VB6 (and the other components it
         | might use) is made available on ReactOS (and Wine, and it would
         | also run on Windows as well), then it might be better than
         | using web technologies (and is probably better is a lot of
         | ways). (There are still many problems with it, although it
         | would avoid many problems too.)
        
       | frumplestlatz wrote:
       | 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.
        
         | guerrilla wrote:
         | What cool stuff do you run?
        
       | znpy wrote:
       | > 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.
        
         | hxorr wrote:
         | I've also had the same thought...
        
         | QuadmasterXLII wrote:
         | I'm in if this is happening
        
         | mixmastamyk wrote:
         | Xfce already exists and has less impedance mismatch. It's
         | almost as good in some ways, probably better in a few tiny
         | ones.
        
       | andrewf wrote:
       | Starting with FreeBSD might be easier than starting with Debian
       | then removing all the GNUisms. But perhaps not as much Type II
       | fun.
        
         | tssva wrote:
         | Using Linux gets you much more hardware compatibility
         | especially for the consumer desktop and laptop systems this is
         | targeted towards.
        
         | dvdkon wrote:
         | I think Linux is the better choice for replacing the entire
         | userland. From what I've seen, the BSDs don't have such an
         | accessible userspace/kernelspace split. With some effort, on
         | Linux you could probably just run an exe as your init.
        
       | foxrider wrote:
       | I mean... isn't that just X11 light compositor (like IceWM) with
       | binfmt enabled?
        
       | oybng wrote:
       | It still puzzles me decades later how MS built the most
       | functional, intuitive and optimised desktop environment possible
       | then simply threw it away
        
         | hypeatei wrote:
         | It still is if you're an enterprise customer. The retail users
         | aren't Microsoft's cash cows, so they get ads and BS in their
         | editions. The underlying APIs are still stable and MS provides
         | the LTSC & Server editions to businesses which lack all that
         | retail cruft.
        
           | lelele wrote:
           | Do you mean Windows 1x Pro/Enterprise?
        
             | hypeatei wrote:
             | Yes. Enterprise, Pro, and Home are the enshittified, retail
             | editions. Enterprise just adds a few more features IIRC but
             | still has ads. The other versions I mentioned above don't
             | have any of that.
        
               | r_lee wrote:
               | Enterprise is not retail and is usually done via volume
               | licensing, but probably without any additional
               | configuration it might have that stuff intact.
               | 
               | But you can use group policy etc. freely. I don't know
               | how Win 11 is though
        
           | zppln wrote:
           | I'm an enterprise user and I find Windows 11 a complete
           | disaster. They've managed to make something as trivial as
           | right-clicking a slow operation.
           | 
           | I used to be a pretty happy Windows camper (I even got
           | through Me without much complaint), but I'm so glad I moved
           | to Linux and KDE for my private desktops before 11 hit.
        
           | materialpoint wrote:
           | The problem with Windows after Windows 7 isn't really ads,
           | it's the blatant stupid use of web view to do the most
           | mundane things and hog hundreds of MB or even GBs for silly
           | features, that are still present in enterprise versions.
        
             | antonkochubey wrote:
             | Start menu search requires 7 web browser processes that
             | consume ~350 MB of RAM to be constantly running.
        
           | bnastic wrote:
           | Everything after Win 2000 was a bad idea. Enterprise or not.
        
             | GeekyBear wrote:
             | Windows 2000 was the last version where Dave Cutler was
             | fully in charge of Windows.
             | 
             | Things started going downhill after that.
        
             | dontlaugh wrote:
             | XP was arguably better.
        
             | robotnikman wrote:
             | 7 was pretty good. But I may be looking through the glasses
             | of nostalgia and my love for the frutiger aero style
        
           | 63282836292919 wrote:
           | In my day job, Explorer still freezes every second day, GUI
           | interactions take several seconds and the sidebar is full of
           | tabloid headlines and ads.
        
             | layer8 wrote:
             | At least with regard to the last point, your enterprise
             | admins must be doing a bad job.
        
           | shepherdjerred wrote:
           | https://massgrave.dev/windows_ltsc_links
        
         | Ygg2 wrote:
         | It's functional - yes, intuitive - maybe, but optimized is
         | highly debatable.
         | 
         | The answer to maintaining a highly functional and stable OS is
         | piles and piles of backwards compatibility misery on the devs.
         | 
         | You want Windows 9? Sorry, some code checks the string for
         | Windows 9 to determine if the OS is Windows 95 or 98.
        
           | PunchyHamster wrote:
           | He was talking about user interface not app compatibility
        
             | Ygg2 wrote:
             | He's mentioning Desktop environment, I assume he means all
             | the parts, not just UI.
        
           | mikkupikku wrote:
           | Millions of total computer noobs hit the ground running with
           | Windows 95. It was a great achievement in software design.
        
         | qcnguy wrote:
         | The pivot point was Windows 95.
         | 
         | Competition. In the first half of the 90s Windows faced a lot
         | more of it. Then they didn't, and standards slipped. Why invest
         | in Windows when people will buy it anyway?
         | 
         | Upgrades. In the first half of the 90s Windows was mostly
         | software bought by PC users directly, rather than getting it
         | with the hardware. So, if you could make Windows 95 run in 4mb
         | of RAM rather than 8mb of RAM, you'd make way more sales on
         | release day. As the industry matured, this model disappeared in
         | favor of one where users got the OS with their hardware
         | purchase and rarely bought upgrades, then never bought them,
         | then never even upgraded when offered them for free. This
         | inverted the incentive to optimize because now the customer was
         | the OEMs, not the end user. Not optimizing as aggressively
         | naturally came out of that because the only new sales of
         | Windows would be on new machines with the newest specs, and
         | OEMs wanted MS to give users reasons to buy new hardware
         | anyway.
         | 
         | UI testing. In the 1990s the desktop GUI paradigm was new and
         | Apple's competitive advantage was UI quality, so Microsoft ran
         | lots of usability studies to figure out what worked. It wasn't
         | a cultural problem because most UI was designed by programmers
         | who freely admitted they didn't really know what worked. The
         | reason the start button had "Start" written on it was because
         | of these tests. After Windows 95 the culture of usability
         | studies disappeared, as they might imply that the professional
         | designers didn't know what they were doing, and those designers
         | came to compete on looks. Also it just got a lot harder to
         | change the basic desktop UI designs anyway.
         | 
         | The web. When people mostly wrote Windows apps, investing in
         | Windows itself made sense. Once everyone migrated to web apps
         | it made much less sense. Data is no longer stored in files
         | locally so making Explorer more powerful doesn't help, it makes
         | more sense to simplify it. There's no longer any concept of a
         | Windows app so adding new APIs is low ROI outside of gaming, as
         | the only consumer is the browser. As a consequence all the
         | people with ambition abandoned the Windows team to work on web-
         | related stuff like Azure, where you could have actual impact.
         | The 90s Windows/MacOS teams were full of people thinking big
         | thoughts about how to write better software hence stuff like
         | DCOM, OpenDoc, QuickTime, DirectMusic and so on. The
         | overwhelming preference of developers for making websites
         | regardless of the preferences of the users meant developing new
         | OS ideas was a waste of time; browsers would not expose these
         | features, so devs wouldn't use them, so apps wouldn't require
         | them, so users would buy new computers to get access to them.
         | 
         | And that's why MS threw Windows away. It simply isn't a
         | valuable asset anymore.
        
         | Mountain_Skies wrote:
         | It's quite common for a company to build a good product and
         | then once the initial wave of ICs and management moves on, the
         | next waves of employees either don't understand what they're
         | maintaining or simply don't care because they see a chance to
         | extract short term gains from the built-up intellectual capital
         | others generated.
        
         | glitchc wrote:
         | Piracy. The consumer versions are filled with ads because most
         | people don't pay for them.
        
           | charlie-83 wrote:
           | Is this really the case? I feel like most windows users just
           | bought a laptop with Windows already on it. Even if all home
           | users were running pirated versions they would still become
           | entrenched in the world of Windows/Office which would then
           | lead to enterprise sales.
        
             | glitchc wrote:
             | > Is this really the case? I feel like most windows users
             | just bought a laptop with Windows already on it.
             | 
             | This is largely true in North America, UK and AUS/NZ, less
             | true in Europe, a mixed bag in the Middle East and mostly
             | untrue everywhere else.
        
           | warmwaffles wrote:
           | If you were able to wave a magic wand today and remove
           | piracy, Microsoft would not remove ads.
        
         | giancarlostoro wrote:
         | Idk why they use Electron for everything, they literally built
         | the UI stack itself and C# is insanely good at building UIs if
         | they stop trying to reinvent UIs in C# that is.
        
       | pjmlp wrote:
       | 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.
        
         | dleslie wrote:
         | Not to worry, Microsoft can't escape Win32 either. They've
         | tried, with UWP and others, but they're locked in to supporting
         | the ABI.
         | 
         | It's not a moving target. Proton and Wine have shown it can be
         | achieved with greater comparability than even what Microsoft
         | offers.
        
           | pjmlp wrote:
           | While true, people should pay attention that WinRT, the
           | technology infrastructure for UWP, nowadays lives in Win32
           | and is what is powering anything CoPilot+ PC, Windows ML, the
           | Windows Terminal rewrite, new Explorer extensions, updated
           | context menu on Windows 11,....
           | 
           | It is a moving target, Proton is mostly stuck on Windows XP
           | world, before most new APIs started being a mix of COM and
           | WinRT.
           | 
           | Even if that isn't the case, almost no company would bother
           | with GNU/Linux to develop with Win32, instead of Windows,
           | Visual Studio, business as usual.
        
             | dleslie wrote:
             | FWIW, Wine 8.0 introduced some WinRT support, specifically
             | Windows.Gaming.Input.
             | 
             | It's a start.
        
       | Ygg2 wrote:
       | Damn, they didn't miss a spot to add a Loss comic reference.
       | 
       | https://en.wikipedia.org/wiki/Loss_(Ctrl%2BAlt%2BDel)
        
         | Lutzb wrote:
         | Thank you. I was contemplating the logo but my brain could not
         | make the connection.
        
       | tosti wrote:
       | 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.)
        
         | Nextgrid wrote:
         | Free software can still benefit from a stable ABI. If I want to
         | _run_ the software, it 's better to download it in a format my
         | CPU can understand, rather than download source, figure out the
         | dependencies, wait for compiling (let's say it's a large
         | project like Firefox or Chromium that takes hours to compile),
         | and so on.
        
           | graemep wrote:
           | > If I want to run the software, it's better to download it
           | in a format my CPU can understand, rather than download
           | source, figure out the dependencies, wait for compiling
           | (let's say it's a large project like Firefox or Chromium that
           | takes hours to compile), and so on.
           | 
           | If its a choice between downloading a binary that depends on
           | a stable ABI and compiling the source. They way most Linux
           | software gets installed is downloading a binary that has been
           | compiled for your OS version (from repos), and the next most
           | common way of installing is compiling source through a system
           | that figures out the dependencies for you (source based
           | distros and repos).
        
         | juliangmp wrote:
         | Stable interfaces and not being in versioning hell (cough libc)
         | would actually be good for FOSS as well.
         | 
         | If you make a piece of software today and want to package it
         | for Linux its an absolute mess. I mean, look at flatpack or
         | docker, a common solution for this is to ship your own
         | userspace, thats just insane.
        
           | tracker1 wrote:
           | Agreed... I'm kind of a fan of AppImage/Flatpak/Snap (less
           | Snap, but still)... even then, I don't use a _lot_ of apps,
           | and most of my variety is usually via Docker.
           | 
           | It's much more bloated than it should be, but the best way to
           | reliably run old/new software in any given Linux.
        
         | bigstrat2003 wrote:
         | We exist in a world where proprietary software exists, and
         | always will exist. I want to be able to run said software if
         | it's the best tool for the job, not be hobbled by an idealistic
         | stance of "all software should be free so we don't bother to
         | support proprietary software".
        
           | tosti wrote:
           | Then you are quite simply part of the problem.
        
       | mikkupikku wrote:
       | 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.
        
         | jimbobthrowawy wrote:
         | Wine works on windows too. It's used by the shorthorn project
         | to get software for newer versions of windows to run under XP.
        
           | bigyabai wrote:
           | Yep, for some games like Elden Ring it even fixes Windows-
           | specific performance hiccups: https://youtu.be/vAooLiCy7rE
        
         | andsoitis wrote:
         | > 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
         | 
         | What are some examples?
        
           | shakna wrote:
           | Anything around DirectX 10 and older has issues with Windows,
           | these days.
           | 
           | One more popular example is Grid 2, another is Morrowind.
           | Both crash on launch, unless you tweak a lot of things, and
           | even then it won't always succeed.
           | 
           | Need for Speed II: SE is "platinum" on Wine, and pretty much
           | unable to be run at all on Windows 11.
        
             | tubs wrote:
             | Isn't this because the wine db has those tweaks pre
             | configured?
        
               | Xirdus wrote:
               | Windows used to be half operating system, half
               | preconfigured compatibility tweaks for all kinds of
               | applications. That's how it kept its backwards
               | compatibility.
        
               | shakna wrote:
               | More a case of DirectX radically changing how it worked
               | [0].
               | 
               | [0] https://learn.microsoft.com/en-
               | us/windows/win32/direct3darti...
        
               | realusername wrote:
               | It's because wine OS selector actually tries to match bug
               | for bug the OS version you set but Window's one gave up
               | after Windows 7.
        
           | sgarland wrote:
           | The last time I tried to run Tachyon: The Fringe was Windows
           | 10, and it failed. IIRC I could launch it and play, but there
           | was a non-zero chance that a FMV cutscene would cause it to
           | freeze.
           | 
           | I see there are guides on Steam forums on how to get it to
           | run under Windows 11 [0], and they are quite involved for
           | someone not overly familiar with computers outside of gaming.
           | 
           | 0: https://steamcommunity.com/sharedfiles/filedetails/?id=293
           | 44...
        
           | ntoskrnl_exe wrote:
           | Pretty much all the Renderware based GTAs have issues these
           | days that only community made patches can mitigate.
           | 
           | A recent example is that in San Andreas, the seaplane never
           | spawns if you're running Windows 11 24H2 or newer. All of it
           | due to a bug that's always been in the game, but only the
           | recent changes in Windows caused it to show up. If anybody's
           | interested, you can read the investigation on it here:
           | https://cookieplmonster.github.io/2025/04/23/gta-san-
           | andreas...
        
             | robotnikman wrote:
             | I remember seeing a thread about that bug here on HN a
             | while ago, that was a fun read.
        
           | xtracto wrote:
           | Lemmings Revolutions. Apparently to run in something else
           | that is not Windows 95/98/Me requires some unofficial .EXE
           | patch that you could download from some shady website. The
           | file is now nowehre to be found.
           | 
           | It's a great game, unfortunately right now I am not able to
           | play it anymore :( even though I have the original CD.
           | 
           | Unfortunately, Wine is of no help here :(
           | 
           | Also original Commandos games.
        
         | Verdex wrote:
         | My gaming PC isn't compatible with windows 11, so it was the
         | first to get upgraded to Linux. Immediate and significant
         | improvement in experience.
         | 
         | Windows kept logging down the system trying to download a dozen
         | different language versions of word (for which I didn't have a
         | licence and didn't want regardless). Steam kept going into a
         | crash restart cycle. Virus scanner was ... being difficult.
         | 
         | Everything just works on Linux except some games on proton have
         | some sound issues that I still need to work out.
        
           | wffurr wrote:
           | >> some sound issues
           | 
           | Is this 1998? Linux is forever having sound issues. Why is
           | sound so hard?
        
             | mikkupikku wrote:
             | In some games I get a crackle in the audio which I don't
             | get through any native application, nor some games run with
             | proton. I don't know if that's what he means, but it hasn't
             | bothered me enough to figure it out. I use bluetooth
             | headphones anyway, I'm relatively insensitive to audio
             | fidelity.
        
               | xobs wrote:
               | If you run pw-top, you might see errors accumulating.
               | This is usually due to an underrun from the game
               | requesting an audio quantum that's too low.
               | 
               | The fix is:                   mkdir -p
               | ~/.config/pipewire/pipewire.conf.d && echo
               | "context.properties = {default.clock.min-quantum = 1024}"
               | | tee ~/.config/pipewire/pipewire.conf.d/pipewire.conf
               | 
               | Basically, just force the quantum to be higher. Often it
               | defaults to 64, which is around 1ms.
        
             | bmicraft wrote:
             | To be fair, you can have sound issues on windows too. It's
             | not usually on issue on linux anymore either though.
        
             | Verdex wrote:
             | Linux sound is fine at least for me. The problem is running
             | Windows games in proton. Sound will suddenly stop, then
             | come back delayed. Apparently a known issue on some
             | systems.
        
             | xtracto wrote:
             | Sound (oss, alsa, pulseaudio, pipewire...), bluetooth, WiFi
             | are eternal problematic Linux paper cuts.
             | 
             | As always It is Not Linux Fault, but it is Linux Problem.
             | 
             | It's one of the reasons why I moved to OSX + Linux virtual
             | machine. I get the best of both worlds. Plus, the hardware
             | quality of a 128GB unified RAM MacBookPro M4 Max is way
             | beyond anything else in the market.
        
               | ndiddy wrote:
               | I think the situation has flipped in the past few years.
               | Since Pipewire came out, I haven't had any problems with
               | audio on Linux and I can dial the latency down to single-
               | digit ms. Meanwhile, on Mac audio has gotten far worse,
               | especially since Tahoe. The latency is tens of ms and I
               | get crackling and skipping when there's high CPU usage.
        
               | josephg wrote:
               | Audio is still broken pretty regularly in davinci resolve
               | on Linux. Sometimes I need to restart the application to
               | make audio work. And I can't record sound within resolve
               | at all.
               | 
               | It doesn't help that they only officially support rocky
               | Linux. I use mint. I assume there's some magic pipewire /
               | alsa / pulseaudio commands I can run that would glue
               | everything together properly. But I can't figure it out.
               | It just seems so complicated.
        
               | nine_k wrote:
               | This sounds like a hardware / firmware problem specific
               | to your particular sound chip / card.
               | 
               | Similarly, Bluetooth on my Thinkpad T14 is slightly
               | wonky, and it sometimes fails to register a Bluetooth
               | mouse on wake-up (I have to switch the mouse off and back
               | on). This mouse registers fine on my other Linux
               | machines. The logs show a report from a kernel driver
               | saying that the BT chip behaved weirdly.
               | 
               | Binary-blob firmware, and physical hardware, do have
               | bugs, and there's little an OS can do about that, Linux
               | or otherwise. Macs have less hardware variety and higher
               | prices, which makes their hardware errata lists shorter,
               | but not empty.
        
               | josephg wrote:
               | That's possible, but the hardware (a rodecaster pro 2
               | connected over usb) works just fine in other Linux apps.
               | I can record audio in audacity. And I can play back audio
               | in resolve. I just can't record audio in resolve.
               | 
               | I think it's a software issue in how resolve uses the
               | Linux audio stack. But I have no idea how to get started
               | debugging it. I've never had any problems with the same
               | hardware in windows, or the same software (resolve) on
               | macOS.
        
             | vablings wrote:
             | Pipewire + lowlatency kernel fixes 99% sound issues
        
             | Zardoz84 wrote:
             | The problem is games over Wine/Proton doing weird things
             | with the sound. Not the sound itself on modern Linux. Heck,
             | I have less issues using audio stuff, or just changing the
             | audio volume on Linux than on the crappy Windows.
        
         | mainde wrote:
         | It kinda works both ways, just yesterday I tried to play the
         | Linux native version of 8bit.runner and it didn't work, I had
         | to install the Windows (beta) version and run it through
         | proton.
        
           | yjftsjthsd-h wrote:
           | Funny story: I use Anki (the flashcard program), and I run it
           | on my NixOS laptop. There is a NixOS/nixpkgs package for
           | Anki. It doesn't work. You know how I run Anki, which has a
           | native GNU/Linux version and even an actual nixpkgs package,
           | on my GNU/Linux NixOS laptop? Yeah, I run AnkiDroid, the
           | Android version, through Waydroid. Because the Android
           | version works.
        
             | lametti wrote:
             | Anki seems to be a habitual offender, I was never able to
             | install it reproducibly and in an obvious way on several
             | distros and always ended up building it from source.
        
       | the__alchemist wrote:
       | 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.
        
       | antirez wrote:
       | 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.
        
         | jcelerier wrote:
         | Linux didn't aim to be an OS in the consumer sense (it is
         | entirely an OS in an academic sense - in scientific literature
         | OS == kernel, nothing else).The "consumer" OS is GNU/Linux or
         | Android/Linux.
        
           | i80and wrote:
           | There really isn't that much GNU on a modern Linux system,
           | proportionately.
        
             | dontlaugh wrote:
             | Exactly, Gnome/Linux or KDE/Linux would make a lot more
             | sense.
        
               | graemep wrote:
               | Except that it can be both and more: you can have Gnome,
               | KDE, and other DEs and libraries installed and use app
               | based on all of them simultaneously.
        
               | dontlaugh wrote:
               | Sure, although every distro has a default.
               | 
               | systemd/Linux maybe? Lots of things are more significant
               | than GNU, either way.
        
           | delta_p_delta_x wrote:
           | > it is entirely an OS in an academic sense - in scientific
           | literature OS == kernel, nothing else
           | 
           | No, the academic literature makes the difference between the
           | kernel and the OS as a whole. The OS is meant to provide
           | hardware abstractions to both developers _and_ the user. The
           | Linux world shrugged and said  'okay, this is just the kernel
           | for us, everyone else be damned'. In this view Linux is the
           | complete outlier, because every other commercial OS comes
           | with a full suite of user-mode libraries and applications.
        
       | jimbobthrowawy wrote:
       | I think there's a quote from Linus himself saying this.
        
       | senfiaj wrote:
       | 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
        
         | duped wrote:
         | It's really just glibc
        
           | amelius wrote:
           | Can't we just freeze glibc, at least from an API version
           | perspective?
        
             | boredatoms wrote:
             | Or just pre-install all the versions on each distro and
             | pick the right one at load-time
        
             | johncolanduoni wrote:
             | We definitely can, because almost every other POSIX libc
             | doesn't have symbol versioning (or MSVC-style multi-version
             | support). It's not like the behavior of "open" changes
             | radically all the time, and you need to know exactly what
             | source symbol it linked against. It's really just an
             | artifact of decisions from decades ago, and the cure is way
             | worse than the disease.
        
             | duped wrote:
             | The problem is not the APIs, it's symbol versions. You will
             | routinely get loader errors when running software compiled
             | against a newer glibc than what a system provides, even if
             | the caller does not use any "new" APIs.
             | 
             | glibc-based toolchains are ultimately missing a
             | GLIBC_MIN_DEPLOYMENT_TARGET definition that gets passed to
             | the linker so it knows which minimum version of glibc your
             | software supports, similar to how Apple's toolchain lets
             | you target older MacOS from a newer toolchain.
        
               | Y_Y wrote:
               | In principle you can patch your binary to accept the old
               | local version, though I don't remember ever getting it to
               | work right. Anyway here it is for the brave or foolhardy,
               | here's the gist:                 patchelf --set-
               | interpreter /lib/ld-linux-x86-64.so.2 "$APP"
               | patchelf --set-rpath /lib "$APP"
        
               | amelius wrote:
               | Yes, so that's why freezing the glibc symbol versions
               | would help. If everybody uses the same version, you
               | cannot get conflicts (at least after it has rippled
               | through and everybody is on the same version). The
               | downside is that we can't add anything new to glibc, but
               | I'd say given all the trouble it produces, that's worth
               | accepting. We can still add bugfixes and security fixes
               | to glibc, we just don't change the APIs of the symbols.
        
               | uecker wrote:
               | It should not be necessary to freeze it. glibc is already
               | extremely backwards compatible. The problem is people
               | distributing programs that request the newest version
               | even though they do not really require it, and this then
               | fails on systems having an older version. At least this
               | is my understanding.
               | 
               | The actual practical problem is not glibc but the
               | constant GUI / desktop API changes.
        
           | qcnguy wrote:
           | It's really just not. GTK is on its fourth major version.
           | Wayland broke backwards compatibility with tons of apps.
        
             | dadoum wrote:
             | GTK update schedule is very slow, and you can run multiple
             | major versions of GTK on the same computer, it's not the
             | right argument. When people says GTK backwards
             | compatibility is bad, they are referring in particular to
             | its breaking changes between minor versions. It was common
             | for themes and apps to break (or work differently) between
             | minor versions of GTK+ 3, as deprecations were sometimes
             | accompanied with the breaking of the deprecated code.
             | (anyway, before Wayland support became important people
             | stuck to GTK+ 2 which was simple, stable, and still
             | supported at the time; and everyone had it installed on
             | their computer alongside GTK+ 3).
             | 
             | Breaking between major versions is annoying (2 to 3, 3 to
             | 4), but for the most part it's renaming work and some
             | slight API modifications, reminiscent of the Python 2 to 3
             | switch, and it only happened twice since 2000.
        
             | JoshTriplett wrote:
             | The difference is that you can statically link GTK+, and
             | it'll work. You can't statically link glibc, if you want to
             | be able to resolve hostnames or users, because of NSS
             | modules.
        
               | viraptor wrote:
               | Static linking itself doesn't prevent modules. There's
               | https://github.com/pikhq/musl-nscd for example
        
               | JoshTriplett wrote:
               | Not inherently, but static linking to glibc will not get
               | you there without substantial additional effort, and
               | static linking to a non-glibc C library will by default
               | get you an absence of NSS.
        
         | kwanbix wrote:
         | I agree 100% with Linus. I can run a WinXP exe on Win10 or 11
         | almost every time, but on Linux I often have to chase down
         | versions that still work with the latest Mint or Ubuntu
         | distros. Stuff that worked before just breaks, especially if
         | the app isn't in the repo.
        
           | kccqzy wrote:
           | That's actually an intentional nudge to make the software
           | packaged by the distro, which usually implies that they are
           | open source.
           | 
           | Who needs ABI compatibility when your software is OSS? You
           | only need API compatibility at that point.
        
             | rep_lodsb wrote:
             | So every Linux distribution should compile and distribute
             | packages for _every single piece of open source software in
             | existence_ , both the very newest stuff that was only
             | released last week, and also everything from 30+ years ago,
             | no matter how obscure.
             | 
             | Because almost certainly someone out there will want to use
             | it. And they should be able to, because that is the entire
             | point of free software: user freedom.
        
               | realusername wrote:
               | Not sure if it's the right solution but it's a
               | description of what happens right now in practice yes.
        
               | bruce511 wrote:
               | It also makes support more or less impossible.
               | 
               | Even if we ship as source, even if the user has the
               | skills to build it, even if the make file supports every
               | version of the kernel, plus all other material variety,
               | plus who knows how many dependencies, what exactly am I
               | supposed to do when a user reports;
               | 
               | "I followed your instructions and it doesn't run".
               | 
               | Linux Desktop fails because it's not 1 thing, it's 100
               | things. And to get anything to run reliably on 95 of them
               | you need to be extremely competent.
               | 
               | Distribution as source fails because there are too many
               | unknown, and dependent parts.
               | 
               | Distribution as binary containers (Docker et al) are
               | popular because it gives the app a fighting chance. While
               | at the same time being a really ugly hack.
        
               | josephg wrote:
               | Yep. But docker doesn't help you with desktop apps. And
               | everything becomes so big!
               | 
               | I think Rob pike has the right idea with go just
               | statically link everything wherever possible. These days
               | I try to do the same, because so much less can go wrong
               | for users.
               | 
               | People don't seem to mind downloading a 30mb executable,
               | so long as it actually works.
        
               | kwanbix wrote:
               | I am not an expert on this, but my question is, how does
               | windows manages to achieve it? Why can't Linux do the
               | same?
        
               | kccqzy wrote:
               | Your tone makes it sound like this is a bad thing. But
               | from a user's perspective, I do want a distro to package
               | as much software as possible. And it has nothing to do
               | with user freedom. It's all about being entitled as a
               | user to have the world's software conveniently packaged.
        
               | Rohansi wrote:
               | Software installed from your package manager is almost
               | certainly provided as a binary already. You could package
               | a .exe file and that should work everywhere WINE is
               | installed.
        
             | johncolanduoni wrote:
             | Even open-source software has to deal with the moving
             | target that is ABI _and_ API compatibility on Linux.
             | OpenSSL's API versioning is a nightmare, for example, and
             | it's the most critical piece of software to dynamically
             | link (and almost everything needs a crypto /SSL library).
             | 
             | Stable ABIs for certain critical pieces of independently-
             | updatable software (libc, OpenSSL, etc.) is not even that
             | big of a lift or a hard tradeoff. I've never run into any
             | issues with macOS's libc because it doesn't version the
             | symbol for fopen like glibc does. It just requires
             | commitment and forethought.
        
             | SkiFire13 wrote:
             | Everyone is mentioning ABI, but this is really an API
             | problem, so "you only need API compatibility at that point"
             | is a very big understatement.
        
           | SvenL wrote:
           | Yes and even the package format thing is a hell of its own.
           | Even on Ubuntu you have multiple package formats and
           | sometimes there are even multiple app stores (a Gnome one and
           | an Ubuntu specific if I remember correctly)
        
           | Propelloni wrote:
           | You can also run a WinXP exe on any Linux distribution almost
           | every time. That's the point of project and Linus' quip: The
           | only stable ABI around on MS Windows and Linux is Win32 (BTW,
           | I do not agree with this.)
        
             | Negitivefrags wrote:
             | I think it's not unlikely that we reach reach a point in a
             | couple of decades where we are all developing win32 apps
             | that most people are running some form of linux.
             | 
             | We already have an entire platform like that (steam deck),
             | and it's the best linux development experience around in my
             | opinion.
        
         | dralley wrote:
         | While true in many respects (still), it's worth pointing out
         | that this take is 12 years old.
        
           | senfiaj wrote:
           | Maybe it's better now in some distros. Not sure about other
           | distros, but I don't like Ubuntu's Snap package. Snap
           | packages typically start slower, use more RAM, require sudo
           | privileges to install, and run in an isolated environment
           | only on systems with AppArmour. Snap also tends to slow
           | things some at boot and shutdown. People report issues like
           | theming mismatches, permissions/file-access friction. Firefox
           | theming complaints are a common example. It's almost like
           | running a docker container for each application. Flatpaks
           | seem slightly better, but still a bandaid. Just nobody is
           | going to fix the compatibility problems in Linux.
        
             | Y_Y wrote:
             | Ubuntu was getting too good so it had to snap half of its
             | value out of existence.
             | 
             | You can still get firefox as a .deb though.
             | 
             | https://launchpad.net/~mozillateam/+archive/ubuntu/ppa
        
           | josephg wrote:
           | I think he still considers this to be the case. He was
           | interviewed on Linus tech tips recently. And he bemoaned in
           | passing the terrible application ecosystem on Linux.
           | 
           | It makes sense. Every distribution wants to be in charge of
           | what set of libraries are available on their platform. And
           | they all have their own way to manage software. Developing
           | applications on Linux that can be widely used across
           | distributions is way more complex than it needs to be. I can
           | just ship a binary for windows and macOS. For Linux, you need
           | an rpm and a dpkg and so on.
           | 
           | I use davinci resolve on Linux. The resolve developers only
           | officially support Rocky Linux because anything else is too
           | hard. I use it in Linux mint anyway. The application has no
           | title bar and recording audio doesn't work properly. Bleh.
        
         | ori_b wrote:
         | To quote a friend; "Glibc is a waste of a perfectly good stable
         | kernel ABI"
        
           | microtonal wrote:
           | At least glibc uses versioned symbols. Hundreds of other
           | widely-used open source libraries don't.
        
             | ok123456 wrote:
             | Versioned glibc symbols are part of the reason that
             | binaries aren't portable across Linux distributions and
             | time.
        
               | ben-schaaf wrote:
               | Only because people aren't putting in the effort to build
               | their binaries properly. You need to link against the
               | oldest glibc version that has all the symbols you need,
               | and then your binary will actually work everywhere(*).
               | 
               | * Except for non-glibc distributions of course.
        
               | ok123456 wrote:
               | If it requires effort to be correct, that's a bad design.
               | 
               | Why doesn't the glibc use the version tag to do the
               | appropriate mapping?
        
               | mikkupikku wrote:
               | I think even calling it a "design" is dubious. It's an
               | attribute of these systems that arose out of the
               | circumstance, nobody ever sat down and said it should be
               | this way. Even Torvalds complaining about it doesn't mean
               | it gets fixed, it's not analogous to Steve Jobs
               | complaining about a thing because Torvalds is only in
               | charge of one piece of the puzzle, and the whole image
               | that emerges from all these different groups only loosely
               | collaborating with each other isn't going to be anybody's
               | ideal.
               | 
               | In other words, the Linux desktop as a whole is a Bazaar,
               | not Cathedral.
        
             | afishhh wrote:
             | > Hundreds of other widely-used open source libraries
             | don't.
             | 
             | Correct me if I'm wrong but I don't think versioned symbols
             | are a thing on Windows (i.e. they are non-portable). This
             | is not a problem for glibc but it is very much a problem
             | for a lot of open source libraries (which instead tend to
             | just provide a stable C ABI if they care).
        
           | derefr wrote:
           | Kind of funny to realize, the _NT_ kernel ABI isn't even all
           | that stable itself; it is just wrapped in a set of very
           | stable userland exposures (Win32, UWP, etc.), and it's those
           | exposures that Windows executables are relying on. A
           | theoretical Windows PE binary that was 100% statically linked
           | (and so directly contained NT syscalls) wouldn't be at-all
           | portable between different Windows versions.
           | 
           | Linux with glibc is the complete opposite; there really does
           | exist old Linux software that static-links in everything down
           | to libc, just interacting with the kernel through syscalls--
           | and it _does_ (almost always) still work to run such software
           | on a modern Linux, even when the software is 10-20 years old.
           | 
           | I guess this is why Linux containers are such a thing: you're
           | taking a dynamically-linked Linux binary and pinning it to a
           | particular entire userland, such that when you run the old
           | software, it calls into the old glibc. Containers work,
           | because they ultimately ground out in the same set of stable
           | kernel ABI calls.
           | 
           | (Which, now that I think of it, makes me wonder how exactly
           | Windows containers work. I'm guessing each one brings its own
           | NTOSKRNL, that gets spun up under HyperV if the host kernel
           | ABI doesn't match the guest?)
        
             | Zardoz84 wrote:
             | Docker on windows isn't simply a glorified virtual machine
             | running a Linux. aka Linux subsystem v2
        
             | senfiaj wrote:
             | > Kind of funny to realize, the NT kernel ABI isn't even
             | all that stable itself
             | 
             | This is not a big problem if it's hard/unlikely enough to
             | write a code that accidentally relies on raw syscalls. At
             | least MS's dev tooling doesn't provide an easy way to
             | bypass the standard DLLs.
             | 
             | > makes me wonder how exactly Windows containers work
             | 
             | I guess containers do the syscalls through the standard
             | Windows DLLs like any regular userspace application. If
             | it's a Linux container on Windows, probably the WSL
             | syscalls, which I guess, are stable.
        
             | dist-epoch wrote:
             | Apparently there are 3 kinds of Windows containers, one
             | using HyperV, and the others sharing the kernel (like Linux
             | containers)
             | 
             | https://thomasvanlaere.com/posts/2021/06/exploring-
             | windows-c...
        
             | easton wrote:
             | IIRC, Windows containers require that the container be
             | built with a base image that matches the host for it to
             | work at all (like, the exact build of Windows has to
             | match). Guessing that's how they get a 'stable ABI'.
             | 
             | ...actually, looks like it's a bit looser these days.
             | Version matrix incoming: https://learn.microsoft.com/en-
             | us/virtualization/windowscont...
        
           | Imustaskforhelp wrote:
           | Ask your friend if he would CC0 the quote or similar (not
           | sure if its possible but like) I can imagine this being a
           | quote on t-shirts xD
           | 
           | Honestly I might buy a T-shirt with such a quote.
           | 
           | I think glibc is such a pain that it is the reason why we
           | have so vastly different package management and I feel like
           | non glibc things really would simplify the package management
           | approach to linux which although feels solved, there are
           | definitely still issues with the approach and I think we
           | should still all definitely as such look for ways to solve
           | the problem
        
         | BirAdam wrote:
         | AppImage, theoretically, solves this problem (or FlatPak I
         | guess). The issue would really be in getting people to package
         | up dead/abandoned software.
        
           | scrivanodev wrote:
           | I can only speak for Flatpak, but I found its packaging
           | workflow and restricted runtime terrible to work with. Lots
           | of undocumented/hard to find behaviour and very painful to
           | integrate with existing package managers (e.g. vcpkg).
        
             | yjftsjthsd-h wrote:
             | Yeah, flatpak has some good ideas, and they're even mostly
             | well executed, but once you start trying to build your own
             | flatpaks or look under the hood there's a lot of "magic".
             | (Examples: Where do runtimes come from? I couldn't find any
             | docs other than a note that says to not worry about it
             | because you should never ever try to make your own, and I
             | couldn't even figure out the git repos that appear to
             | create the official ones. How do you build software? Well,
             | mostly you plug it into the existing buildsystems and hope
             | that works, though I mostly resorted to `buildsystem:
             | simple` and doing it by hand.) For bonus points, I'm
             | _pretty_ sure 1. flatpaks are actually pretty conceptually
             | simple; the whole base is in  /usr and the whole app is in
             | /app and that's it, and 2. the whole thing _could_ have
             | been a thin wrapper over docker /podman like x11docker
             | taken in a slightly different direction.
        
               | exceptione wrote:
               | You can build your own flatpak by wrapping bwrap, because
               | that is what Flatpak does. Flatpak seems to have some
               | "convenience things" like the various *-SDK packages, but
               | I don't know how much convenience that provides.
               | 
               | The flatpak ecosystem is problematic in that most
               | packages are granted too much rights by default.
        
           | Imustaskforhelp wrote:
           | https://zapps.app/ is another interesting thing in the space.
           | 
           | AppImage have some issues/restrictions like it cant run on
           | older linux than one it was compiled on, so people compile it
           | on the oldest pc's and a little bit of more quirks
           | 
           | AppImage are really good but zapps are good too, I had once
           | tried to do something on top of zapp but shame that zapp went
           | into the route of crypto ipfs or smth and then I don't really
           | see any development of that now but it would be interesting
           | if someone can add the features of zapp perhaps into appimage
           | or pick up the project and build something similar perhaps.
        
             | freedomben wrote:
             | Interesting. I've had a hell of a time building AppImages
             | for my apps that work on Fedora 43. I've found bug reports
             | of people with similar challenges, but it's bizarre because
             | I use plenty of AppImages on F43 that work fine. I wonder
             | if this might be a clue
        
             | bobajeff wrote:
             | This is really cool. Looks like it has a way for me to use
             | my own dynamic linker and glibc version *.
             | 
             | At some point I've got to try this. I think it would be
             | nice to have some tools to turn an existing programs into a
             | zapps (there many such tools for making AppImages today).
             | 
             | * https://github.com/warptools/ldshim
        
               | Imustaskforhelp wrote:
               | > At some point I've got to try this. I think it would be
               | nice to have some tools to turn an existing programs into
               | a zapps (there many such tools for making AppImages
               | today).
               | 
               | Looks like you met the right guy because I have built
               | this tool :)
               | 
               | Allow me to show my project, Appseed
               | (https://nanotimestamps.org/appseed): It's a simple fish
               | script which I had (prototyped with Claude) some 8-10
               | months ago I guess to solve exactly this.
               | 
               | I have a youtube video in the website and the repository
               | is open source on github too.
               | 
               | So this actually worked fantastic for a lot of different
               | binaries that I tested it on and I had uploaded it on
               | hackernews as well but nobody really responded, perhaps
               | this might change it :p
               | 
               | Now what appseed does is that you can think of it is that
               | it can take a binary and convert it into two folders (one
               | is the dynamic library part) and the other is the binary
               | itself
               | 
               | So you can then use something like tar to package it up
               | and run it anywhere. I can of course create it into a
               | single elf-64 as well but I wanted to make it more
               | flexible so that we can have more dynamic library like or
               | perhaps caching or just some other ideas and this made
               | things simple for me too
               | 
               | Ldshim is really good idea too although I think I am
               | unable to understand it for the time being but I will try
               | to understand it I suppose. I would really appreciate it
               | if you can tell me more about Ldshim! Perhaps take a look
               | at Appseed too and I think that there might be some
               | similarities except I tried to just create a fish script
               | which can just convert any dynamic binary usually into a
               | static one of sorts
               | 
               | I just want more people to take ideas like appseed or
               | zapp's and run with it to make linux's ecosystem better
               | man. Because I just prototyped it with LLM's to see if it
               | was possible or not since I don't have much expertise in
               | the area. So I can only imagine what can be possible if
               | people who have expertise do something about it and this
               | was why I shared it originally/created it I guess.
               | 
               | Let me know if you are interested in discussing anything
               | about appseed. My memory's a little rusty about how it
               | worked but I would love to talk about it if I can be of
               | any help :p
               | 
               | Have a nice new year man! :p
        
         | ogogmad wrote:
         | This might be why OpenBSD looks attractive to some. Its kernel
         | and all the different applications are fully integrated with
         | each other -- no distros! It also tries to be simple, I
         | believe, which makes it more secure and overall less buggy.
         | 
         | To be honest, I think OSes are boring, and should have been
         | that way since maybe 1995. The basic notions:
         | multi-processing, context switching, tree-like file systems,
         | multiple users, access privileges,
         | 
         | haven't changed since 1970, and the more modern GUI stuff
         | hasn't changed since at least the early '90s. Some design
         | elements, like                 tree-like file systems, WIMP
         | GUIs, per-user privileges, the fuzziness of what an
         | "operating system" even is and its role,
         | 
         | are perhaps even arbitrary, but can serve as a mature
         | foundation for better-concieved ideas, such as:
         | ZFS (which implements in a very well-engineered manner a tree-
         | like data storage that's       been standard since the '60s)
         | can serve as a founation for       Postgres (which implements a
         | better-conceived relational design)
         | 
         | I'm wondering why OSS - which according to one of its acolytes,
         | makes all bugs shallow - couldn't make its flagship OS more
         | stable and boring. It's produced an                 anarchy of
         | packaging systems, breaking upgrades and updates,
         | unstable glibc, desktop environments that are different and
         | changing seemingly       for the sake of it, sound that's kept
         | breaking, power management iffiness, etc.
        
           | josephg wrote:
           | I like FreeBSD for the same reason. The whole system is sane
           | and coherent. Illumos is the same.
           | 
           | I wish either of those systems had the same hardware &
           | software support. I'd swap my desktop over in a heartbeat if
           | I could.
        
         | RobotToaster wrote:
         | Isn't the kernel responsible for the ABI?
        
           | surajrmal wrote:
           | ABI is a far larger concept than the kernel UAPI. Remember
           | that the OS includes a lot of things in userspace as well.
           | Many of these things are not even stable between the various
           | contemporary Linux distros, let alone older versions of them.
           | This might include dbus services, fs layout, window manager
           | integration, and all sorts of other things.
        
         | fragmede wrote:
         | What's interesting to think about is Conway's law and monorepos
         | and the Linux kernel and userland. If it were all just one big
         | repo, then making breaking changes, wouldn't. The whole
         | ifconfig > ip debacle is an example of where one giant monorepo
         | would have changed how things happened.
        
         | CorrectHorseBat wrote:
         | Android makes a sport of breaking ABI compatibly and it hasn't
         | stopped it from being the most popular mobile OS
        
           | pjmlp wrote:
           | The reason being JetPack libraries that abstract what Android
           | version is being used.
        
       | bobajeff wrote:
       | 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.
        
       | mikewarot wrote:
       | 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.
        
         | HeckFeck wrote:
         | Server 2003 was the last release supervised by Cutler, so would
         | have my vote. It's even source-available... technically.
        
         | PTOB wrote:
         | > It's my strong opinion that Windows 2000 Server, SP4 was the
         | best desktop OS ever.
         | 
         | Meanwhile, in 2025, with 64GB RAM and solid state drives, we
         | hear, "Windows 11 Task Manager really, really shouldn't be
         | eating up 15% of my CPU and take multiple seconds to fire up."
        
       | haunter wrote:
       | 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
        
       | apexalpha wrote:
       | 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.
        
       | goku12 wrote:
       | 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.
        
         | amelius wrote:
         | You never ran into a GLIBC version problem?
        
           | muth02446 wrote:
           | Wasn't there also DLL hell on Windows?
           | 
           | My understanding is that very old statically linked Linux
           | images still run today because paraphrasing Linus: "we don't
           | break user space".
        
             | mook wrote:
             | Unfortunately you can't really statically link a GUI app.
             | 
             | Also, if you happened to have linked that image to a.out it
             | wouldn't work if you're using a kernel from this year, but
             | that's probably not the case ;)
        
             | SkiFire13 wrote:
             | > we don't break user space
             | 
             | The kernel doesn't break user space. User space breaks on
             | its own.
        
         | qcnguy wrote:
         | The model of patching+recompiling the world for every OS
         | release is a terrible hack that devs hate and that users hate.
         | 99% of all people hate it because it's a crap model. Devs hate
         | middlemen who silently fuck up their software and leave
         | upstream with the mess, users hate being restricted to whatever
         | software was cool and current two years ago. If they use a
         | rolling distro, they hate the constant brokenness that comes
         | with it. Of the 1% of people who don't hate this situation 99%
         | of those merely tolerate it, and the rest are Debian developers
         | who are blinded by ideology and sunk costs.
         | 
         | Good operating systems should:
         | 
         | 1. Allow users to obtain software from anywhere.
         | 
         | 2. Execute all programs that were written for previous versions
         | reliably.
         | 
         | 3. Not insert themselves as middlemen into user/developer
         | transactions.
         | 
         | Judged from this perspective, Windows is a good OS. It doesn't
         | nail all three all the time, but it gets the closest. Linux is
         | a bad OS.
         | 
         | The answers to your questions are:
         | 
         | (1) It isn't backwards compatible for sophisticated GUI apps.
         | Core APIs like the widget toolkits change their API all the
         | time (GTK 1->2->3->4, Qt also does this). It's also not
         | forwards compatible. Compiling the same program on a new
         | release may yield binaries that don't run on an old release.
         | Linux library authors don't consider this a problem,
         | Microsoft/Apple/everyone else does. This is the origin of the
         | glibc symbol versioning errors everyone experiences sometimes.
         | 
         | (2) Maintaining a stable API/ABI is not fun and requires a
         | capitalist who says "keep app X working or else I'll fire you".
         | The capitalist Fights For The User. Linux is a
         | socialist/collectivist project with nobody playing this role.
         | Distros like Red Hat clone the software ecosystem into a
         | private space that's semi-capitalist again, and do offer stable
         | ABIs, but their releases are just ecosystem forks and the wider
         | issue remains.
         | 
         | (3) It hasn't change and it's still bad.
         | 
         | (4) Docker: "solves" the problem on servers by shipping the
         | entire userspace with every app, and being itself developed by
         | a for-profit company. Only works because servers don't need any
         | shared services from the computer beyond opening sockets and
         | reading/writing files, so the kernel is good enough and the
         | kernel _does_ maintain a stable ABI. Docker obviously doesn 't
         | help the moment you move outside the server space and
         | coordination requirements are larger.
        
           | guerrilla wrote:
           | > If they use a rolling distro, they hate the constant
           | brokenness that comes with it.
           | 
           | Never happens for me on Arch, which I've run as my primary
           | desktop for 15 years.
        
             | aeyes wrote:
             | Maybe you are running a desktop environment which never
             | changes but Gnome has been constantly broken in many
             | different ways for the last 5+ years. At times it felt more
             | like a developer playground than a usable desktop
             | environment. KDE is more stable nowadays but it still
             | breaks in mysterious ways from time to time. I also had
             | major issues for some time when Qt6 started rolling out.
             | 
             | And Arch itself also needs manual interventions on package
             | updates every so often, just a few weeks ago there was a
             | major change to the NVidia driver packaging.
        
               | guerrilla wrote:
               | I've been running GNOME. I've never had breakage from
               | upgrading. Of course there's the fact that GNOME neutered
               | itself, removing many of its own features, but that's a
               | different story and has nothing to do with ABIs or
               | upgrading.
               | 
               | > And Arch itself also needs manual interventions on
               | package updates every so often, just a few weeks ago
               | there was a major change to the NVidia driver packaging.
               | 
               | If you're running a proprietary driver on a 12 year old
               | GPU architecture incapable of modern games or AI, yeah...
               | so I actually haven't needed to care about many of these.
               | Maybe 2 or 3 ever...
        
         | 201984 wrote:
         | The kernel is stable, but all the system libraries needed to
         | make a grapical application are not. Over the last 20 years,
         | we've gone from GTK 2 to 4, X11 to Wayland, Qt 4 to 6, with
         | compatibility breakages with each change. Building an
         | unmodified 20 year old application from source is very likely
         | to not work, running a 20 year old binary even less so.
        
         | lukaslalinsky wrote:
         | Linux API/ABI doesn't cover the entire spectrum that Windows
         | API covers. There is everything from lowest level kernel stuff
         | to the desktop environment and beyond. In Linux deployments,
         | that's achieved by a mix of different libraries from different
         | developers and these change over time.
        
         | uecker wrote:
         | There is no ABI problem. The problem is a lack of
         | standardization for important APIs and infrastructure. There
         | once was a serious effort to solve this: the Linux Standard
         | Base: https://en.wikipedia.org/wiki/Linux_Standard_Base
         | Standardization would of course be the only way to fix this,
         | instead of inventing even more packaging formats which fragment
         | the ecosystem even more. LSB died due to lack of interest. I
         | assume also because various industrial stakeholders are more
         | interest in gaining a little bit of control over the ecosystem
         | than in the overall success of Linux on the desktop. The other
         | major problem is that it is no fun to maintain software, which
         | leads to what was described as CADT:
         | https://www.jwz.org/doc/cadt.html As you see with Wayland and
         | Rust rewrites CADT still continues today always justified with
         | some bullshit arguments why the rewrites are really necessary.
         | 
         | Together this means that basically nobody implements
         | applications anymore. For commercial applications that market
         | is too fragmented and it is too much effort. Open-source
         | applications need time to grow and if all the underpinnings get
         | changed all the time, this is too frustrating. Only a few
         | projects survive this, and even those struggle. For example
         | GIMP took a decade to be ported from GTK 2 to 3.
        
       | TimTheTinker wrote:
       | 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.
        
         | qcnguy wrote:
         | There's not much x86 specific about Win32 and you can make
         | native ARM Windows programs for years already. WinNT was
         | designed to be portable from the start. Windows/ARM comes with
         | a Rosetta like system and can run Intel binaries out of the
         | box.
        
         | realusername wrote:
         | Not sure on Windows but with Wine you can totally use Win32 on
         | arm.
        
           | robotnikman wrote:
           | Valve certainly seems to be making progress on it with
           | Proton.
        
       | phendrenad2 wrote:
       | 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.
        
         | guerrilla wrote:
         | Whatever, at least it can be a desktop alternative to GNOME and
         | KDE where you can also run exes.
        
       | GuestFAUniverse wrote:
       | https://en.wikipedia.org/wiki/Longene
       | 
       | Again?
        
       | esbranson wrote:
       | 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.
        
         | robotnikman wrote:
         | >Cool. Having major distributions default to using binfmt_misc
         | to register Wine for PE executables (EXE files) would be nice
         | though
         | 
         | This is something that is very much needed to make Linux much
         | more user friendly for new users.
        
       | Imustaskforhelp wrote:
       | 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.
        
         | fragmede wrote:
         | XFCE plus a windows theme would get you pretty far. Is there
         | anything specific you're thinking of which that plus some pre-
         | configured Wine wouldn't hit?
        
           | Imustaskforhelp wrote:
           | I 100% agree with your comment.
           | 
           | Pro tip but if someone wants to create their own iso as well,
           | they can probably just customize things imperatively in
           | MxLinux even by just booting them up in your ram and then
           | they have the magnificient option of basically snapshotting
           | it and converting that into an iso so its definitely possible
           | to create an iso tweaked down to your configuration without
           | any hassle (trust me but its the best way to create iso's
           | without too much hassle and if one wants hassle, nix or bootc
           | seems to be the way to go)
           | 
           | Regarding Why it wouldn't hit. I don't know, I already build
           | some of my own iso's and I can build one for windows (on
           | MxLinux principle) and upload it for free on huggingface
           | perhaps but the idea is of mass appeal
           | 
           | Yes I can do that but I would prefer if there was an iso
           | which could just do that and I could share it with a new
           | person in linux. And yes I could have the new person do the
           | changes themselves but (why?), there really is no reason
           | perhaps imo and this just feels like a low hanging fruit
           | which nobody touched perhaps and so this is why I was curious
           | too.
           | 
           | But also as the other comment pointed out, I feel like sure
           | we can do this thing, but that there is definitely a genuine
           | reason why we can probably create this thing itself as well
           | and they give some good reasons as well and I agree with them
           | overall too.
           | 
           | Like if you ask me, it would be fun to have more options
           | especially considering this is linux where freedom is
           | celebrated :p
        
         | cosmic_cheese wrote:
         | It stuns me that a polished 1:1 2K/XP/7 clone DE (which it
         | mimics is a setting) hasn't existed for a 10y+ already. It's
         | such an obvious target for a mass appeal Linux desktop that
         | many techies and non-techies alike would happily use.
         | 
         | Rough approximations have been possible since the early 2000s,
         | but they're exactly that: rough approximations. Details matter,
         | and when I boot up an old XP/7 box there are aspects in which
         | they feel more polished and... I don't know, finished?
         | Complete? Compared to even the big popular DEs like KDE.
         | 
         | Building a DE explicitly as a clone of a specific fixed
         | environment would also do wonders to prevent feature creep and
         | encourage focus on fixing bugs and optimization instead of
         | bells and whistles, which is something that modern software
         | across the board could use an Everest sized helping of.
        
           | mmmlinux wrote:
           | This is how every open source project GUI feels.
        
           | Imustaskforhelp wrote:
           | Yea, you raise some good points. Perhaps your comment/this
           | discussion can help someone be interested in this. I am
           | clearly not educated about DE creation so much but I am sure
           | that some people might create this
           | 
           | I think one of the friction could be ideological if not than
           | anything since most linux'ers love Open source and hate
           | windows so they might not want to build anything which even
           | replicates the UI perhaps
           | 
           | Listen I hate windows just as much as the other guy but gotta
           | give props that I feel nostalgic to windows 7, and if they
           | provide both .exe perfect support and linux binary perfect
           | support, things can be really good. I hope somebody does it
           | and perhaps even adds it to loss32, would be an interesting
           | update.
        
           | layer8 wrote:
           | The problems with cloning the exact look is fear of
           | copyright/IP issues with Microsoft. You can be pretty sure
           | they won't look away if such a desktop becomes really
           | popular. Remember how Apple sued Samsung over using rounded
           | corners on icons?
        
         | trelane wrote:
         | > it can be a really fun experiment and I would be interested
         | to see how that would pan out.
         | 
         | It would fail, and just be another corpse in the desktop OS
         | graveyard.
         | 
         | https://en.wikipedia.org/wiki/Hitachi_Flora_Prius
         | 
         | https://www.osnews.com/story/136392/the-only-pc-ever-shipped...
         | 
         | https://en.wikipedia.org/wiki/Linspire
         | 
         | Unless you ship your own hardware or get a vendor to ship your
         | OS (see the above), and set up so the user can actually _use_
         | it, you have to get users to install it on Windows hardware. So
         | now your company is debugging broken consumer hardware without
         | the help of the OEM. So that hopefully someone will install it
         | on _exactly that configuration_ for free.
         | 
         | This is not a winning business model.
        
           | Imustaskforhelp wrote:
           | Hm I see the confusion, what I was proposed was for something
           | like loss32 to have a window manager / desktop environmnet
           | which looks like windows 7
           | 
           | Loss32 is itself a linux distro and thus there should
           | technically be nothing stopping it from shipping everywhere
           | 
           | I think you were assuming that I meant create a whole kernel
           | from scratch or something but I am just merely asking a
           | loss32 reskin which looks like windows 7 which is definitely
           | possible without any of the company debugging consumer
           | hardware or even the need of company for that matter I
           | suppose considering that I was proposing an open source
           | desktop environment which just behaved like windows 7 by
           | default as an example.
           | 
           | I don't really understand why we need a winning business
           | model out of it, there isn't really a winning model for
           | niri,hyprland,sway,kde,xfce,lxqt,gnome etc., they are all
           | open source projects who are run with help of donations
           | 
           | There might be a misunderstanding between us but I hope this
           | clears up any misunderstanding.
        
             | trelane wrote:
             | I think fundamentally I disagree with your optimism. I've
             | seen a number of these come and go over the decades. I do
             | not think making something that looks like Windows would be
             | sufficient to be successful.
             | 
             | > you were assuming that I meant create a whole kernel from
             | scratch or something
             | 
             | No, making Linux run reliably on random laptops is already
             | a monumental challenge.
        
               | Imustaskforhelp wrote:
               | Agreed but there have been some real strides in
               | innovation recently in linux, definitely worth checking
               | out :)
               | 
               | Regarding successful, well they already are, ZorinOS is
               | an OS which looks like windows 7 or has some similarities
               | to it and its sort of recommended to beginners but
               | usually linux mate is the most recommended distro
               | 
               | > No, making Linux run reliably on random laptops is
               | already a monumental challenge.
               | 
               | Not sure about this but I ran linux in 15 year old dell
               | mini like its no big deal so I can only assume that
               | support has been better but I feel like I can assure you
               | that linux support is really good for most laptops in my
               | observation.
        
               | trelane wrote:
               | I am a huge fan and user of Linux.
               | 
               | The problem is slapping Linux on some random bit of
               | Windows kit and expecting it to work as though it had
               | shipped with Linux, with support to back it. The more
               | recent, the worse it will be.
               | 
               | If you want to run Linux, buy Linux computers that ship
               | with Linux and have a support number you can call. Just
               | like you'd not expect to be able to slap OSX on some
               | random Dell and have it work.
        
         | Zen1th wrote:
         | You should try KDE with
         | https://github.com/ivvil/aerothemeplasma
         | 
         | The screenshots could easily fool me into believing it actually
         | is Windows 7 :p
        
           | Imustaskforhelp wrote:
           | Damn you got me. I am not a big fan of KDE (Currently using
           | Niri) but I can try to use KDE+aerothemeplasma with nixos as
           | a dual boot (I already used to have KDE nix as dualboot until
           | I accidentally removed that disk and ended up using the
           | glorious tool testdisk to save that) so I will try it some
           | day thank you!
           | 
           | There is also anduinos which I think doesn't try to replicate
           | windows 7 but it definitely tries to look at windows 10
           | perhaps 11 iirc
        
         | HeckFeck wrote:
         | https://github.com/SerenityOS/serenity is just that, except
         | it's a whole OS that's Win2k styled. If it ever gets good
         | hardware support it might have a chance.
         | 
         | Or maybe ReactOS - the actual windows clone - gets finished.
         | Rumours put a first release date some time after Hurd.
        
       | theLiminator wrote:
       | Lol I didn't realize that my joke is actually real
       | https://news.ycombinator.com/item?id=46366998#46368990
        
         | layer8 wrote:
         | I'm slowly coming around to it.
        
       | guerrilla wrote:
       | I absolutely love this. I need a live CD/USB ASAP please!
        
       | dmitrygr wrote:
       | 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.
        
       | nineteen999 wrote:
       | > 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.
        
       | voidfunc wrote:
       | You son of a bitch, im in!
       | 
       | Love this idea. Love where it is coming from.
        
       | pseudony wrote:
       | 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.
        
         | OsrsNeedsf2P wrote:
         | Pretty sure it's Linux not being the default option
        
           | ogogmad wrote:
           | Doesn't explain why Chrome beat IE. Or why MacOS has higher
           | market share on the desktop than Linux.
           | 
           | Wine and Proton should have levelled the playing field. But
           | they haven't. Also, if you've only just started using Linux,
           | I recommend you wait a few years before forming an opinion.
        
           | pseudony wrote:
           | It is not a popularity issue. If it were, company after
           | company would have switched as soon as they could make it
           | work (office365, outlook online, whatever SAAS they use, none
           | care about their desktop, only the browser, and all major
           | browsers are available on Linux).
           | 
           | From there, popularity outside the organization is
           | irrelevant, internal support and userbase is for and on some
           | version of Linux.
           | 
           | As this would spread, we would eventually see global usage
           | increase and global popularity become a non-issue.
        
       | aussieguy1234 wrote:
       | 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.
        
       | kasajian wrote:
       | I'll check back every few years to see if either this project,
       | Wine or ReactOS can run Visual Studio 2026 (or 2022) and .NET
       | Framework 4.
       | 
       | Not talking about the cross-platform versions of .NET and VS-
       | Code. I'm specifically talking about the Windows-specific
       | software I mentioned above.
       | 
       | I don't see this happening, despite the fact that by now, these
       | types of porting efforts were supposed to be trivial because of
       | AI. Yeah, I'll wait.
        
       | fithisux wrote:
       | 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.
        
       | fithisux wrote:
       | Are the people behind this project the same as the Free95 team?
        
       ___________________________________________________________________
       (page generated 2025-12-30 23:00 UTC)