Live data from Hacker News

Loss32: Let's Build a Win32/Linux

loss32.org

191–200 of 493 posts

Re: Loss32: Let's Build a Win32/Linux

#191
post #67
post #50

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

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.

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.)

Re: Loss32: Let's Build a Win32/Linux

#192

Earlier quoted context omitted.

Not sure if it's the right solution but it's a description of what happens right now in practice yes.

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. An…

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.

Re: Loss32: Let's Build a Win32/Linux

#193
post #174
post #79

Earlier quoted context omitted.

To quote a friend; "Glibc is a waste of a perfectly good stable kernel ABI"

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 c…

Docker on windows isn't simply a glorified virtual machine running a Linux. aka Linux subsystem v2

Re: Loss32: Let's Build a Win32/Linux

#194
post #85

Earlier quoted context omitted.

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.

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.

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?

Re: Loss32: Let's Build a Win32/Linux

#195

Earlier quoted context omitted.

AppImage, theoretically, solves this problem (or FlatPak I guess). The issue would really be in getting people to package up dead/abandoned software.

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 se…

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

Re: Loss32: Let's Build a Win32/Linux

#196
post #128
post #95

Earlier quoted context omitted.

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.

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 cas…

FWIW, Wine 8.0 introduced some WinRT support, specifically Windows.Gaming.Input.

It's a start.

Re: Loss32: Let's Build a Win32/Linux

#197
post #31

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.)

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".

Then you are quite simply part of the problem.

Re: Loss32: Let's Build a Win32/Linux

#198

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.

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 whi…

This is how every open source project GUI feels.

Re: Loss32: Let's Build a Win32/Linux

#199
post #68
post #64

Earlier quoted context omitted.

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 L…

>> some sound issues Is this 1998? Linux is forever having sound issues. Why is sound so hard?

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.

Re: Loss32: Let's Build a Win32/Linux

#200
post #145

Earlier quoted context omitted.

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.

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.

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.

Post reply on HN