20 Hacker News comments link this video. Each one links back to its thread.
jiggawattsNov 2021Recommends
I watched a great rant by Linus T himself on how distributing code for Linux is a "pain in the arse", but is comparatively easier on Windows and MacOS: ▶ this video Something I took away from that is that it is Linus himself, personally, that is responsible (in a way) for Docker existing. Docker depends on the stable kernel ABI in order to allow container images to be portable and "just work" stably and reliably. This is a "guarantee" that Linus gets shouty about if the kernel devs break it. Docker fills a need on Linux because the user-mode libraries across all distributions are a total mess. Microsoft is trying to be the "hip kid" by copying Docker into Windows, where everything is backwards to the Linux situations: The NT kernel ABI is treated as unstable, and changes as fast as every few months. No one ever codes directly against the kernel on Windows (for some values of "no one" and "ever".) The user-mode libraries like Win32 and .NET are very stable, papering over the inconsistency of the kernel library. You can run applications compiled in the year 2000 today, unmodified, and more often than not they'll "just work". There just isn't a "burning need" for Docker on Windows. People that try to reproduce the cool new Linux workflow however are in for a world of hurt, because they'll rapidly discover that the images they built just weeks ago might not run any more because the latest Windows Update bumped the kernel version. I read all the way through this and wept: [link]
in “Flatpak Is Not the Future” · View on HN
Show 14 more comments
0xDEAFBEADNov 2025Cites it
10 years ago Linus pointed out that most distros willingly break application compatibility all the time: ▶ this video I'm not really following desktop Linux, is Linus' assessment still accurate?
in “Linux gamers on Steam cross over the 3% mark” · View on HN
whalesaladNov 2025Cites it
"I’m on the record saying, that maybe Valve will actually save the Linux desktop. And it’s actually not because I think games are important! I don't care, I don't play games. I think some people do, so games maybe important. But the really important issue is I guarantee you Valve will not make 15 different binaries. And I also guarantee you that every single desktop distribution will care about Valve binaries." – Linus Torvalds in 2014 Link: ▶ this video
in “Steam Machine” · View on HN
misswaterfairyJul 2025Cites it
I haven't fully switched over, though I will soon. I daily drive a Mac laptop though I don't want to be totally locked into Apple's ecosystem, and sadly there's one software package I absolutely must use Windows for. Apparently Windows 11 LTSC is largely not enshittified so I'll give that a go for the Windows-only app. I use NTLite to strip out Microsoft's shit, and keep Windows updated without silently reinstalling said shit, though I shouldn't have to do this. Once Microsoft tries to force the media PC to upgrade, which happily sits on Windows 10, I'll be using it as a test-bed for Linux, likely SteamOS (despite technically not supporting this). Valve has a huge opportunity to take a significant portion of Windows' market share in promoting SteamOS as a Windows alternative, and hopefully fixing the 'Linux on Desktop' problems Linus Torvalds himself has long lamented about: ▶ this video SteamOS: [link] SteamOS on other devices: [link]
in “” · View on HN
RaisingSpearJun 2023Cites it
> So why not just statically link at this point? In many cases, you just can't. Other than glibc having issues with static linking, you can't use `dlopen` in a static binary. For example, if you're building an application which can use OpenCL, you need to dynamically link to the ICD installed on the system. And because `dlopen` doesn't work in a static application, you're stuck with dynamic linking the whole application (or at least with libc). On the other hand, Windows has no issue with `LoadLibrary` in a static binary... I don't know enough about GUI applications, but I wouldn't be surprised if anything needing graphical output is in a similar boat. The cherry on top is that glibc doesn't make it easy for an application to be built for an older version of the library. As Linus Torvalds can attest to [ ▶ this video ] building for Linux sucks.
in “Response to “Developers are lazy, thus Flatpak”” · View on HN
fancl20Mar 2023Cites it
I guess because package managers (apt, nix, ..) build around the idea of shared libraries, while bazel assume statically built. TBH it’s hard to say which operate model is better anyway. They are simply incompatible :) Related topic: ▶ this video
in “Scaling Rust Builds with Bazel” · View on HN
haunterDec 2022Cites it
Linus at DebConf 2014 ▶ this video >I’m on a record saying, that maybe Valve will actually save the Linux desktop. And it’s actually not because I think games are important! I don't care, I don't play games. I think some people do, so games maybe important. But the really important issue is I guarantee you Valve will not make 15 different binaries. And I also guarantee you that every single desktop distribution will care about Valve binaries. The problem is Valve though build everything statically linked and it creates huge binaries. And that's kind of sad but that's what you have to do right now.
in “Valve Is Paying Open-Source Developers to Work on Proton, Mesa, and More” · View on HN
jiggawattsAug 2022Cites it
> What does distributions have to do with need for containers? A lot (but not everything). It's important to recognise where the "stable API/ABI boundaries" are. In Linux, the stable boundary is the kernel. Userspace is unstable. There are many distributions, with many small and big differences. Different C runtimes, different folder structures, different configs, modules, etc... In Windows, the stable boundary is the Win32, COM, and .NET APIs, which are in user space. The kernel boundary is not stable[1] however, which also matters. Even Linus Torvalds has trouble distributing his hobby dive-computer software to Linux![2] He has no issues with MacOS and Windows, because they have stable APIs and distribution mechanisms. With Linux, the kernel is stable, but essentially nothing else is. If you want to distribute software to everyone , then this is a complex problem with many moving parts that you have to manage yourself. Containers sidestep this by packaging up the distribution along with the software being deployed. This works because the kernel ABI is stable. [1] In the Windows world you don't really need to package up the "Windows distribution" because there is only one: Microsoft Windows. Conversely, Windows containers aren't truly portable because the Windows kernel ABI isn't stable. However Microsoft changed this with Windows 11 and Server 2022, the kernel ABI is now "stable", or at least sufficiently stable for Server Core containers to be portable for 5+ years as-is.
in “Kubernetes reinvented virtual machines in a good sense” · View on HN
FlankkApr 2022Cites it
Linus Torvalds also has many criticisms of the Linux desktop.[1] None of the commercial applications I have bought will run on Linux without wasting time tinkering. For programming, I'm forced to use Xcode because it's required on the App Store. I couldn't use Linux even if I did want to use something worse than macOS. [1] ▶ this video
in “Farewell, Elementary” · View on HN
francislavoieDec 2021Cites it
Linus Torvalds about this: ▶ this video Distros (Debian in particular comes to mind) have some really annoying packaging rules, and as a maintainer of a Go program, it's a huge pain, so we decided to just set up a repo with [link] instead of trying to deal with that. They require every dependency (indirect or not) to be packaged separately. We don't have the time for that. Way simpler to just build a static binary and ship it.
in “Lazygit: A simple terminal UI for Git commands” · View on HN
badsectoraculaNov 2021Cites it
> Right, if you want Win32 API [...] Okay but which updates [...] Ok these are real things to ask for, that someone could feasibly attempt to do. These are examples . I'm not asking to use Win32 or add updates to Gtk1 or Gtk2. The important part is keeping ABI and API stability. Also i refer to what i'd like to see in a hypothetical library that did things right, not the current ones that either keep doing everything wrong (Gtk) or even if they wanted they can't due to the tech they're based on (Qt, though chances are even Qt could stay API and ABI compatible they wouldn't because they're primary middleware for paying corporations and only secondary a platform library that happened by chance thanks to KDE). > OpenGL is not really a good example because while it might be easy to add some things like vsync and triple buffering, other things (like GPU parallelization) are basically impossible (or extremely impractical) to try to hack into in the GL implementation. The fixed function mode is always going to have its limitations. It is a great example because it shows that it can remain API and ABI compatible for decades. Also both CPU and GPU parallelization could be implemented with extensions (though GPU parallelization is something that GPU vendors seem to be moving away from) in a variety of ways, e.g. using display lists in different threads a per-thread shared context that records a thread-local command list for the operations inside the display list than later can be execu
in “System76: A Case Study on How Not to Collaborate with Upstream” · View on HN
mmplxxAug 2021Cites it
The first sentence is probably true. The third one is objectively false: 1. Poor quality drivers. The money is not there. Intel and AMD might throw a couple of engineers on it but the process is always catching-up: slow and incomplete. Think of video, audio, power management, etc. I recently bought an AMD laptop just to discover modern standby and my jack headset are not supported, that my internal mic and speakers occasionally stop working and otherwise are too low, etc. After two kernel releases all these problems persist, even if they were acknowledged by the developers that are working on it (very resource-constrained). "Linux-ready" laptops might be a safer option but in general they are not cheap and they share most of the shortcomings listed here, it's just a safer gamble and you pay the insurance premium. Of course, if Linux had been sold OEM for 30 years with hardware vendors providing state-of-the-art drivers even before releases, this would be a different story. 2. The state of the display server. Multiple HiDPI screens with different scaling factors are not properly supported. This is an all too common requirement nowadays: FHD laptop + FHD/UHD external screen. X+xrandr is slow and buggy with most video drivers. Even after ten years, Wayland adoption is slow both by compositors and by apps. And critical functionality is missing or in alpha-state, for example screen sharing (a must have in these WFH days), be it because of the design of Wayland itself or because it
in “Perhaps WSL2 Should Be a Wake-Up Call” · View on HN
dcodeJul 2021Cites it
This is common indeed, and isn't a bug in the affected source languages for reasons. How it displays when printed is irrelevant. Here's Linus Torvalds explaining it better than I could: ▶ this video And sure you can transfer your string that someone else does not consider a string using alternative mechanisms, but then you are only not doing anything wrong because you are not doing it at all for entire categories of languages. There is no integration story for these, and once one mixes with optimizations like compact strings or has multiple encodings under the hood one cannot statically annotate the appropriate type anyhow. And sadly, adapter functions won't help as well when the fundamental 'char' type backing the 'string' type is already unable to represent your language's string. I also do not understand where the idea that a single language always lives in a single component comes from. Certainly not from npm, NuGet, Maven or DLLs. Extended this post to provide additional relevant context. It's not a bug, it's a feature.
in “An Urgent Notice from AssemblyScript” · View on HN
eddiehJun 2021Cites it
Okay I had to look up what Flatpak was since the link doesn't begin with a summary, abstract, thesis statement, or overview of whatever the subject is. Would it be so hard to start with "Flatpak, a cross distribution package format [1] for distributing Linux applications, is a security nightmare. We'll outline some flaws we believe to be deal breakers"? On the other hand, this seems like an attempt to fix application packaging on Linux which is something Linus has, rightly, complained about very publicly [2]. [1] I don't know what to call it exactly, is it a package format or a package manager? Could be something else entirely, I'm not sure. [2] ▶ this video
in “Flatpak – A Security Nightmare” · View on HN
aruncMay 2021Cites it
glibc breaks ABI quite often. Linus has roasted about it openly in the past ▶ this video Notable quote from that: If there's a bug that people rely on, it's not a bug, it's a feature.
in “Linux and Glibc API Changes” · View on HN