10 ms·
Valve is practically singlehandedly dragging the Linux ecosystem forward in areas that nobody else wanted to touch. They needed Windows games to run on Linux s
by Fiveplus 10mo ago
Valve is practically singlehandedly dragging the Linux ecosystem forward in areas that nobody else wanted to touch.
They needed Windows games to run on Linux so we got massive Proton/Wine advancements. They needed better display output for the deck and we got HDR and VRR support in wayland. They also needed smoother frame pacing and we got a scheduler that Zuck is now using to run data centers.
Its funny to think that Meta's server efficiency is being improved because Valve paid Igalia to make Elden Ring stutter less on a portable Linux PC. This is the best kind of open source trickledown.
- MarleTangible 10mo agoOver time they're going to touch things that people were waiting for Microsoft to do for years. I don't have an example in mind at the moment, but it's a lot better to make the changes yourself than wait for OS or console manufacturer to take action.
- benoau 10mo ago"It just works" sleep and hibernate. "Slide left or right" CPU and GPU underclocking.
- pmontra 10mo agoSleep and hibernate don't just work on Windows unless Microsoft work with laptop and boards manufacturers to make Windows play nice with all those drivers. It's inevitable that it's hit and miss on any other OS that manufacturers don't care much about. Apple does nearly everything inside their walls, that's why it just works.
- Insanity 10mo ago“It just works” sadly isn’t true across the Apple Ecosystem anymore. Liquid Glass ruined multitasking UX on my iPad. :( Also my macbook (m4 pro) has random freezes where finder becomes entirely unresponsive. Not sure yet why this happens but thankfully it’s pretty rare.
- pbh101 10mo agoRegardless of how it must be implemented, if this is a desirable feature then this explanation isn’t an absolution of Linux but rather an indictment: its development model cannot consistently provide this product feature. (And same for Windows to the degree it is more inconsistent on Windows than Mac)
- spauldo 10mo agoIt's not the development model at fault here. It's the simple fact that Windows makes up nearly the entire user base for PCs. Companies make sure their hardware works with Windows, but many don't bother with Linux because it's such a tiny percentage of their sales.
- tharkun__ 10mo agoExcept when it doesn't. I can't upgrade my Intel graphics drivers to any newer version than what came with the laptop or else my laptop will silently die while asleep. Internet is full of similar reports from other laptop and graphics manufacturers and none have any solutions that work. The only thing that reliably worked is to restore the original driver version. Doesn't matter if I use the WHQL version(s) or something else.
- mschuster91 10mo ago> Regardless of how it must be implemented, if this is a desirable feature then this explanation isn’t an absolution of Linux but rather an indictment: its development model cannot consistently provide this product feature. The problem is: the specifications of ACPI are complex, Windows' behavior tends to be pretty much trash and most hardware tends to be trash too (AMD GPUs for example were infamous for not being resettable for years [1]), which means that BIOSes have to work around quirks on both the hardware and software. Usually, as soon as it is reasonably working with Windows (for a varying definition of "reasonably", that is), the ACPI code is shipped and that's it. Unfortunately, Linux follows standards (or at least, it tries to) and cannot fully emulate the numerous Windows quirks... and on top of that, GPUs tend to be hot piles of dung requiring proprietary blobs that make life even worse. [1] https://www.nicksherlock.com/2020/11/working-around-the-amd-gpu-reset-bug-on-proxmox/ https://www.nicksherlock.com/2020/11/working-around-the-amd-...
- ls612 10mo agoSleep has always worked on my desktop with a random Asus board from the early 2020s with no issues aside from one Nvidia driver bug earlier this year (which was their fault not MS's). Am I just really lucky?
- dijit 10mo ago“it just works” sleep was working, at least on basically every laptop I had the last 10 years… until the new s2idle stuff that Microsoft and Intel have foisted on the world (to update your laptop while sleeping… I guess?)
- dabockster 10mo agoFrom what I read, it was a lot of the prosumer/gamer brands (MSI, Gigabyte, ASUS) implementing their part of sleep/hibernate badly on their motherboards. Which honestly lines up with my experience with them and other chips they use (in my case, USB controllers). Lots of RGB and maybe overclocking tech, but the cheapest power management and connectivity chips they can get (arguably what usually gets used the most by people).
- zargon 10mo agoSleep brokenness is ecosystem-wide. My Thinkpad crashes/freezes during sleep 3 times a week. Lenovo serviced/replaced it 3 times to no avail.
- miohtama 10mo agoI have had never any sleep issues with my Macs.
- yencabulator 9mo agoAnd my wife's Macbook Air wakes itself up again if it tries to suspend when connected to a Dell monitor. Apple has plenty of bugs too, and only Apple can fix them.
- chocochunks 10mo agoIt never really worked in games even with S3 sleep. The new connected standby stuff created new issues but sleeping a laptop while gaming was a roulette wheel. SteamOS and the like actually work, like maybe 1/100 times I've run into an issue. Windows was 50/50.
- Krssst 10mo agoOn my Framework 13 AMD : Sleep just works on Fedora. Sleep is unreliable on Windows; if my fans are all running at full speed while running a game and I close the lid to begin sleeping, it will start sleeping and eventually wake up with all fans blaring.
- seba_dos1 10mo agoBoth of these have worked fine for the last 15 years or so on all my laptops.
- devnullbrain 10mo agoI don't understand this comment in this context. Both of these features work on my Steam Deck. Neither of them have worked on any Windows laptop my employers have foisted upon me.
- tremon 10mo agoThat requires driver support. What you're seeing is Microsoft's hardware certification forcing device vendors to care about their products. You're right that this is lacking on Linux, but it's not a slight on the kernel itself.
- deleted 10mo ago[deleted]
- asveikau 10mo agoI was at Microsoft during the Windows 8 cycle. I remember hearing about a kernel feature I found interesting. Then I found linux had it for a few years at the time. I think the reality is that Linux is ahead on a lot of kernel stuff. More experimentation is happening.
- dijit 10mo agoyeah, but you have IO Completion Ports… IO_Uring is still a pale imitation :(
- loeg 10mo agoIOCP is great and was ahead of Linux for decades, but io_uring is also great. It's a different model, not a poor copy.
- torginus 10mo agoI think they are a bit different - in the Windows kernel, all IO is asynchronous on the driver level, on Linux, it's not. io_uring didn't change that, it only got rid of the syscall overhead (which is still present on Windows), so in actuality they are two different technical solutions that affect different levels of the stack. In practice, Linux I/O is much faster, owing in part to the fact that Windows file I/O requires locking the file, while Linux does not.
- senderista 10mo agoio_uring makes synchronous syscalls async simply by offloading them to a pool of kernel threads, just like people have done for decades in userspace.
- layla5alive 10mo agoIt's not the async part, it's the not invoking the function part - io_uring replaces syscalls with producer consumer ring buffers.
- duped 10mo ago> I don't have an example in mind at the moment I do, MIDI 2.0. It's not because they're not doing it, just that they're doing it at a glacial pace compared to everyone else. They have reasons for this (a complete rewrite of the windows media services APIs and internals) but it's taken years and delays to do something that shipped on Linux over two years ago and on Apple more like 5 (although there were some protocol changes over that time).
- guidopallemans 10mo agoSurely a gaming handheld counts
- packetlost 10mo agoKernel level anti-cheat with trusted execution / signed kernels is probably a reasonable new frontier for online games, but it requires a certain level of adoption from game makers.
- dabockster 10mo agoThis is a part of Secure Boot, which Linux people have raged against for a long time. Mostly because the main key signing authority was Microsoft. But here's my rub: no one else bothered to step up to be a key signer. Everyone has instead whined for 15 years and told people to disable Secure Boot and the loads of trusted compute tech that depends on it, instead of actually building and running the necessary infra for everyone to have a Secure Boot authority outside of big tech. Not even Red Hat/IBM even though they have the infra to do it. Secure Boot and signed kernels are proven tech. But the Linux world absolutely needs to pull their heads out of their butts on this.
- codeflo 10mo agoThere are plenty of locked down computers in my life already. I don't need or want another system that only runs crap signed by someone, and it doesn't really matter whether that someone is Microsoft or Redhat. A computer is truly "general purpose" only if it will run exactly the executable code I choose to place there, and Secure Boot is designed to prevent that.
- mhitza 10mo agoI don't know overall in the ecosystem but Fedora has been working for me with secureboot enabled for a long time. Having the option to disable secureboot, was probably due to backlash at the time and antitrust concerns. Aside from providing protection "evil maid" attacks (right?) secureboot is in the interest of software companies. Just like platform "integrity" checks.
- ndriscoll 10mo agoThe goals of the people mandating Secure Boot are completely opposed to the goals of people who want to decide what software they run on the computer they own. Literally the entire point of remote attestation is to take that choice away from you (e.g. because they don't want you to choose to run cheating software). It's not a matter of "no one stepped up"; it's that Epic Games isn't going to trust my secure boot key for my kernel I built. The only thing Secure Boot provides is the ability for someone else to measure what I'm running and therefore the ability to tell me what I can run on the device I own (mostly likely leading to them demanding I run malware like like the adware/spyware bundled into Windows). I don't have a maid to protect against; such attacks are a completely non-serious argument for most people.
- mstank 10mo agoValve... please do Github Actions next
- xmprt 10mo agoI wonder what Valve uses for source control (no pun intended) internally.
- harrisoned 10mo agoThey use Perforce. https://developer.valvesoftware.com/wiki/Using_Source_Control_with_the_Source_SDK https://developer.valvesoftware.com/wiki/Using_Source_Contro...
- 6r17 10mo agoTbh i'm starting to think that I do not see microsoft being able to keep it's position in the OS market ; with steam doing all the hard work and having a great market to play with ; the vast distributions to choose from, and most importantly how easy it has become to create an operating system from scratch - they not only lost all possible appeal, they seem stuck on really weird fetichism with their taskbar and just didn't provide me any kind of reason to be excited about windows. Their research department rocks however so it's not a full bash on Microsoft at all - i just feel like they are focusing on other way more interesting stuff
- Arainach 10mo agoKernel improvements are interesting to geeks and data centers, but open source is fundamentally incompatible with great user experience. Great UX requires a lot of work that is hard but not algorithmically challenging. It requires consistency and getting many stakeholders to buy in. It requires spending lots of time on things that will never be used by more than 10-20% of people. Windows got a proper graphics compositor (DWM) in 2006 and made it mandatory in 2012. macOS had one even earlier. Linux fought against Compiz and while Wayland feels inevitable vocal forces still complain about/argue against it. Linux has a dozen incompatible UI toolkits. Screen readers on Linux are a mess. High contrast is a mess. Setting font size in a way that most programs respect is a mess. Consistent keyboard shortcuts are a mess. I could go on, but these are problems that open source is not set up to solve. These are problems that are hard, annoying, not particularly fun. People generally only solve them when they are paid to, and often only when governments or large customers pass laws requiring the work to be done and threaten to not buy your product if you don't do it. But they are crucially important things to building a great, widely adopted experience.
- theLiminator 10mo agoImagine if windows moved to the linux kernel and then used wine/proton to serve their own userspace.
- layer8 10mo agoThe Linux kernel and Windows userspace are not very well matched on a fundamental level. I’m not sure we should be looking forward to that, other than for running games and other insular apps.
- theLiminator 10mo agoAh, I was being facetious, I think it would be pretty funny if it happened though.
- Apocryphon 10mo agoSounds like the sort of oddball corporate experiment that Action Retro or Michael MJD would be examining in fifteen years.
- m4rtink 10mo agoIt kinda looked like this is the future, about at the same time they introduced WSL, released dotNET for Linux and started contributing to the Linux Kernel - all the while making the bank with Azure mostly thanks to running Linux workloads. But then they deCided it is better to show adds at OS level, rewrite OS UI as a web app, force harware DRM for their new OS version (TPM requirement) as well as automatically capturing content of you screen and feed it to AI.
- shantara 10mo agoI’ve heard from several people who game on Windows that Gamescope side panel with OS-wide tweakables for overlays, performance, power, frame limiters and scaling is something that they miss after playing on Steam Deck. There are separate utilities for each, but not anything so simple and accessible as in Gamescope.
- amlib 10mo agoA good one is the shader pre caching with fossilize, microsoft is only now getting around it and it still pales in comparison to Valve's solution for Linux.
- bilekas 10mo agoI do agree. It's also thanks to gaming that the GPU industry was in such a good state to be consumed by AI now. Game development used to always be the frontier of software optimisation techniques and ingenious approaches to the constraints.
- ls612 10mo agoGaben does nothing: Wins Gaben does something: Wins Harder
- 7bit 10mo agoHe's the person I want to meet the least from all the people in the world, he is that much of my hero.
- captn3m0 10mo agoMy favourite is the Windows futex primitives being shipped on Linux: https://lwn.net/Articles/961884/ https://lwn.net/Articles/961884/
- delusional 10mo ago> Valve is practically singlehandedly dragging the Linux ecosystem forward in areas that nobody else wanted to touch. I'm loving what valve has been doing, and their willingness to shove money into projects that have long been under invested in, BUT. Please don't forget all the volunteers that have developed these systems for years before valve decided to step up. All of this is only possible because a ton of different people spent decades slowly building a project, that for most of it's lifetime seemed like a dead end idea. Wine as a software package is nothing short of miraculous. It has been monumentally expensive to build, but is provided to everyone to freely use as they wish. Nobody, and I do mean NOBODY would have funded a project that spent 20 years struggling to run office and photoshop. Valve took it across the finish line into commercially useful project, but they could not have done that without the decade+ of work before that.
- aeyes 10mo agoLong before Valve there was CrossOver which sold a polished version of Wine making a lot of Windows only enterprise software work on Linux. I'm sure there have been more commercial contributors to Wine other than Valve and CodeWeavers.
- mixmastamyk 10mo agoLike giving the Han Solo award to the Rebel Fleet. ;-)
- baq 10mo agoI low key hope the current DDR5 prices push them to drag the Linux memory and swap management into the 21st century, too, because hard locking on low memory got old a while ago
- stdbrouw 10mo agoI feel like all of the elements are there: zram, zswap, various packages that improve on default oom handling... maybe it's more about creating sane defaults that "just work" at this point?
- gf000 10mo agoI think it's more of a user space issue, that the UI doesn't degrade nicely. The kernel just defaults to a more server-oriented approach.
- the_pwner224 10mo agoIt takes a solid 45 seconds for me to enable zram (compressed RAM as swap) on a fresh Arch install. I know that doesn't solve the issue for 99% of people who don't even know what zram is / have no idea how to do it / are trying to do it for the first time, but it would be pretty easy for someone to enable that in a distro. I wouldn't be shocked if it is already enabled by default in Ubuntu or Fedora.
- johnny22 10mo agothat just pushes away the problem ,it doesn't solve it. I still hit that limit when i ran a big compile while some other programs were using a lot of memory.
- m4rtink 10mo agoZram has been enabled on Fedora by default since 2020: https://fedoraproject.org/wiki/Changes/SwapOnZRAM https://fedoraproject.org/wiki/Changes/SwapOnZRAM
- MrDrMcCoy 10mo ago
- dabockster 10mo ago> This is the best kind of open source trickledown. We shouldn't be depending on trickledown anything. It's nice to see Valve contributing back, but we all need to remember that they can totally evaporate/vanish behind proprietary licensing at any time.
- stavros 10mo agoHow? It's GPL.
- dymk 10mo agoThey have to abide by the Wine license, which is basically GPL, so unless they’re going to make their own from scratch, they can’t make the bread and butter of their compat layer proprietary
- nextaccountic 10mo agoThat's why the anti-GPL push is so harmful. Specially in the Rust ecosystem
- bigstrat2003 10mo agoThere is absolutely nothing harmful about permissive licenses. Let's say that Wine was under the MIT license, and Valve started publishing a proprietary fork. The original is still there! Nobody is harmed by some proprietary fork existing, because nothing was taken away from them.
- gpderetta 10mo agoA decade or two ago Wine was on permissive license (MIT I think). When proprietary forks started appearing, Codewavers (which employs all the major Wine contributors) relicensed it as GPL.
- nextaccountic 10mo agoIt's harmful to the ecosystem, because the reason so many Linux drivers, and Wine contributions, and a lot of other things are free software today is because of the GPL
- irusensei 10mo agoIf I'm not mistaken this has been greatly facilitated by the recent bpf based extension mechanism that allows developers to go crazy on creating schedulers and other functionality through some protected virtual machine mechanism provided by the kernel.
- PartiallyTyped 10mo agoTo be fair proton is based on DXVK which is some guy’s project because he wanted to play nier automata on Linux. The guy is Philip Rebohler.
- robotnikman 10mo agoAnd thanks to him I was able to play and finish Nier Automata on the Steam Deck!
- foresto 10mo agoYes, and when Valve caught wind of his early efforts, they paid him to work on it full time. https://www.gamingonlinux.com/2018/09/an-interview-with-the-developer-of-dxvk-part-of-what-makes-valves-steam-play-tick/ https://www.gamingonlinux.com/2018/09/an-interview-with-the-...
- deleted 9mo ago[deleted]
- downrightmike 10mo agoMan, if only meta would give back, oh and also stop letting scammers use their AI to scam our parents, but hey, that accounted for 10% of their revenue this last year, that's $16 BILLION.
- justapassenger 10mo agoLike them or not - when it comes to the Linux kernel they are one of the biggest contributors for many years now.
- phatfish 10mo agoValve seemingly has no concerns with using the same tactics casinos perfected to hook people (and their demographics are young). They are not Meta level of societal harm, but they are happy to be a gateway for kids into gambling. Not that this is unusual in gaming unfortunately.
- GZGavinZhao 10mo agoNext thing I want them to work on is Linux suspend(-to-RAM) support!
- jpetso 9mo agoYou don't feel like the Steam Deck does a pretty good job with suspend and resume, even while playing games?
- cosmic_cheese 10mo agoOne would've expected one of the many desktop-oriented distros (some with considerable funding, even) to have tackled these things already, but somehow desktop Linux has been stuck in the awkward midway of "it technically works, just learn to live with the rough edges" until finally Valve took initiative. Go figure.
- iknowstuff 10mo agoThere's far more of that, starting with the lack of a stable ABI in gnu/linux distros. Eventually Valve or Google (with Android) are gonna swoop in with a user-friendly, targetable by devs OS that's actually a single platform
- cosmic_cheese 10mo agoI don't have a whole lot of faith in Google, based on considerable experience with developing for Android. Put plainly, it's a mess, and even with improvements in recent years there's enough low-hanging fruit for improving its developer story that much of it has fallen off the tree and stands a foot thick on the ground.
- api 10mo agoMobile in general is a disappointment. iOS is better but not great. It was a real chance to get a lot of things right that sucked on desktop, and that chance was mostly squandered.
- cosmic_cheese 10mo agoAt least iOS made the deep and robust AppKit/Cocoa the foundation of its primary kit and then over the years made sensible QoL changes, resulting in something reasonably pleasant to write for. That, and it doesn’t fight you and make you jump through hoops if you’d rather use some flavor of C, C++, or something else LLVM can handle instead of a JVM-something. That goes a long way.
- 10mo ago
- raverbashing 10mo agoLet's be honest Linux (and its ecosystem) sucks at having focus and direction. They might get something right here and there, especially related to servers, but they are awful at not spinning wheels See how wayland progress is slow. See how some distros moved to it only after a lot of kicking and screaming. See how a lot of peripherals in "newer" (sometimes a model that's 2 or 3 yrs on the market) only barely works in a newer distro. Or has weird bugs "but the manufacturers..." "but the hw producers..." "but open source..." whine Because Linux lacks a good hierarchy at isolating responsibility, otherwise going for a "every kernel driver can do all it wants" together with "interfaces that keep flipping and flopping at every new kernel release" - notable (good) exception : USB userspace drivers. And don't even get me started on the whole mess that is xorg drivers And then you have a Ruby Goldberg machine in form of udev dbus and what not, or whatever newer solution that solves half the problems and create another new collection of bugs.
- cosmic_cheese 10mo agoHonestly I can't see it remaining tenable to keep things like drivers in the kernel for too much longer… both due to the sheer speed at the industry moves and due to the security implications involved.
- thdrtol 10mo agoI have a feeling this will also drag Linux mobile forwards. Currently almost no one is using Linux for mobile because the lack or apps (banking for example) and bad hardware support. When developing for Linux becomes more and more attractive this might change.
- thewebguyd 10mo ago> When developing for Linux becomes more and more attractive this might change. If one (or maybe two) OSes win, then sure. The problem is there is no "develop for Linux" unless you are writing for the kernel. Each distro is a standalone OS. It can have any variety of userland. You don't develop "for Linux" so much as you develop "for Ubuntu" or "for Fedora" or "for Android" etc.
- Zetaphor 10mo agoThis is addressed (imperfectly) by Flatpak
- Root_Denied 10mo agoThere's always appimages or flatpaks that could fill that cross-distro gap, though I suspect a lot of development work would need to be done to get that to a point where either of those are streamlined enough to work in the phone ecosystem.
- znpy 10mo agoIf anything it’s crazy that a company as large as meta is doing such a shitty job that it has to pull in solutions from entirely different industries … but that’s just my opinion
- znpy 10mo agoGaben is our lord and saviour.
- teekert 10mo agoThey also sponsor bcachefs.
- kshri24 10mo agoGame development is STILL a highly underrated field. Plenty of advancements/optimizations (both in software/hardware) can be directly traced back to game development. Hopefully, with RAM prices shooting up the way it is, we go back to keeping optimizations front and center and reduce all the bloat that has accumulated industry wide.
- abustamam 10mo agoYes please! Stop making me download 100+gb patches!
- ffsm8 10mo agoThe large file sizes are not because of bloat per-se... It's a technique which supposedly helped at one point in time to reduce loading times, helldiver's being the most note-able example of removing this "optimization". However, this is by design - specifically as an optimization. Can't really be calling that boat in the parents context of inefficient resource usage
- thanksgiving 10mo agoWe aren't talking about the initial downloads though. We are talking about updates. I am like 80% sure you should be able to send what changed without sending the whole game as if you were downloading it for the first time.
- ffsm8 10mo agofrom my understanding of the technique youre wrong despite being 80% sure ;) any changes to the code or textures will need the same preprocessing done. large patch size is basically 1% of changes + 99% all the preprocessed data for this optimization
- laggyluke 10mo agoHow about incorporating postprocessing into the update procedure instead of preprocessing?
- foresto 10mo agoThey needed less stuttering in games and we got an optimized shader compiler for the open-source graphics stack. https://steamcommunity.com/games/221410/announcements/detail/1602634609636894200 https://steamcommunity.com/games/221410/announcements/detail...
- rcbdev 10mo agoIn game development, you encounter most hard computer science problems.
- asdff 10mo agoI wish valve didn't abandon mac as a platform, honestly. As nice as these improvements are for linux and deck users they have effectively abandoned their mac ports as they never updated them to 64 bit like the linux and windows builds, so they can't run on new macs at all. You can coax them into running with wine on mac but it is a very tricky experience. My kegworks wine wrapper for tf2 is currently broken as of last month because the game update download from wine steam keeps corrupting and I'm at a bit of a loss at this point how to work around it. Even when it was working performance was not great and subject to regular lag spikes whenever too many explosions went off.
- ux266478 10mo agoI totally get why they did, having had to support Mac for an in-house engine. Apple is by far the most painful platform to support out of the big 3 if you're not using turnkey tools, and they don't make up for it with sales outside of iOS. The extra labor is hard to justify already, and then we get to technical deficiencies like MoltenVK, plus social deficiencies like terrible support. It's just a really hard sell all around.
- ndsipa_pomu 10mo agoIt was likely about control. Valve saw that Microsoft was becoming more controlling about the Windows platform and that's what pushed them towards developing SteamOS on Linux as that means that Valve can put resources into fixing anything that they want to. The Apple platform is also under control of a single entity, so it doesn't make too much sense for Valve to care about that (as well as Apple not being known as a gaming platform). What you should do is just buy a SteamDeck for gaming.
- HexPhantom 10mo agoYeah, it's a great example of demand-driven open source work actually landing in places that matter
- Plagman 10mo agoThe Elden Ring stutter work was unrelated to this effort, it was work in vkd3d-proton by Hans-Kristian Arntzen as part of our open-source graphics effort.
- hulitu 9mo ago> They also needed smoother frame pacing and we got a scheduler that Zuck is now using to run data centers. There was a lot of work in Linux scheduling space over the years. Con Kolivas BFS was one example. The issue was that Linus had his own ideas about kernel scheduling which, unfortunately, were very different from the ones of the linux community. And yes. The default linux scheduler sucks.