37 comments

[ 3.0 ms ] story [ 106 ms ] thread
If compatibility isn't an issue (I have yet to have any compatibility problems with my Steam Deck), I don't see why they shouldn't move to SteamOS. However, I fear a future in which people develop games on Linux targeted directly at SteamOS: I find C++ development to be far better with First party Microsoft tools (Visual Studio, MSVC, DirectX, DirectXTK) than on Linux. I vastly prefer Microsoft style APIs to Linux style APIs (DirectX over OpenGL especially, though Vulkan is ok), and I have yet to find a C++ development environment that I like as much as Visual Studio. With solution files, vcpkg, and project files native to Visual Studio, managing projects and dependencies has become a breeze in Windows. Comparably, few IDEs on Linux provide comparable debugging tools or good UI (CLion being the only one I can think of, though I personally hate most of Jetbrains' UI) and cmake is such a poorly designed tool and syntax to me, I would hate to have to deal with it directly than just having vcpkg manage the builds and dependencies for me (though I think vcpkg is compatible with Linux). I don't mind targeting Linux as a platform via Proton, but I would really hate to have to write Linux specific bindings for a game
Unity started as a game engine on macOS with monodevelop as the official IDE

I think you overestimate the number of game developers who depend on Microsoft's tools, game engine devs who target Xbox/PS5/Switch, sure, vendor tools require windows, but for 1 engine dev, you find 100 game devs

Besides, cross compilation is a solved issue nowadays, all it takes to target Linux, Windows, mobiles or console is a checkbox in Unity/Unreal/Godot

https://steamdb.info/tech/

This data speaks for itself

DirectX 12 wasn't a huge success, except for Xbox; wich sells 3x less than both PS5 / Switch [1], you don't see it anywhere else

Vulkan gets on on both Windows/Linux, but also Switch and Android, so if you are a small indie studio who work on your own engine, Vulkan makes a lot more sense

.. and even cloud gaming ;) https://www.phoronix.com/news/Amazon-Linux-Graphics-Jobs

.. even for Ubisoft, even for their Windows release https://www.ubisoft.com/en-gb/game/rainbow-six/siege/news-up...

[1] - https://www.vgchartz.com/

I'm not talking about the industry in general, I'm talking about my personal preferences. I like to use C++ with Visual Studio and DirectX. I would hate to find myself in a position where I had to develop everything in Linux for compatibility reasons. I hate the fact that some web dev tools only run on Linux or Mac right now and I have to use WSL2 (bun), I would really hate to see game dev go the same direction. Personally, I like Windows as a platform and I don't go out of my way to target Linux or Mac
> Unity started as a game engine on macOS with monodevelop as the official IDE

It certainly did not.

Unity only added Mono to their stack when they went cross platform, during their Mac OS X days, they only supported Boo and JavaScript for scripting.

Boo ran on Mono though. Their flavor of JavaScript, UnityScript wasn’t even remotely similar to standard JS besides syntax, it also ran on Mono. I vaguely remember them trying Python initially but IIRC Boo and “JavaScript” were always based on Mono.
So I went into some archelogy, turns out we were both kind of right. Me less so.

Unity 1.0 did not have .NET in the picture in 2005, however they went cross-platform already in Unity 2.0 around 2008, so Mono was anyway part of the story early on.

> but I would really hate to have to write Linux specific bindings for a game

What are you upset about? You’re worried people will target windows to target steam? Or worried people will…target Linux?

I'm worried that SteamOS would make Linux to default target and game development platform and that a lot of tooling would shift in the direction of Unix-likes and the Windows + DirectX ecosystem would wither as a result. I want windows to continue to be a good platform for game development and not have to move over to an ecosystem I find really grating
That’s a bold strategy. We’ll see if it works out for you.
It's not like everyone's going to switch to Linux immediately. I think Windows will stay on desktop for a while. On a side note, what about Windows APIs do you like? I always thought they were a disorganized mess.
Within DirectX I like the usage of types compared to OpenGL, where everything is GLuint. I like the explicit management of state and the use of views on resources to bind the same memory to different contexts. I vastly prefer HLSL to GLSL also. I know there's vulkan, but my experience was going to DirectX 11 from OpenGL 3+

Within Win32, it's similar though there's an overuse of HANDLEs. I like initializing things as structs and I like that ComPtrs provide built in memory management. A lot of posix APIs feel underpowered (semantically designed around reading files from tapes), and Microsoft often provides a safe _s version of most of them (Yes, some of which are part of the C standard library and some of which are not). There are various Win32 APIs I like (IOCP, for example), and it's all tied together with MSVC and the static analyzers available to the compiler (SAL). I don't think GCC has anything even close to SAL. I also haven't found a C++ IDE I like nearly as much as Visual Studio. I used to hate jetbrains UI but I actually tried IntelliJ recently and they redesigned the entire thing to be quite nice now, so maybe clion is nice (but I'm not willing to pay for it).

I also VASTLY prefer powershell to bash

Nah. A Windows handheld has far less game compatibility issues than SteamOS does, which even the article admits, and can also be used as a Windows machine to run apps if docked or accessed through RDP.
Yeah, but then I'd have to use a windows machine with all its spying goodness.
and lose those sweet windows oem kickbacks?
> Yes, a Windows installation means a gaming portable is compatible with almost every PC game ever made, including many that still don't run on SteamOS for one reason or another. But SteamOS's robust Proton compatibility layer means an ever-expanding list of thousands of games are certified as at least "Playable"

That's the pitch? Some games that run fine on Windows 'might' work acceptably on SteamOS?

SteamOS doesn't do anything besides play games distributed on Steam. There's absolutely no benefit for a Windows OEM to drop it for an OS that has < 1% market share.

Not everybody has the luxury of purchasing different computing devices for different use cases. An ASUS ROG will play games (Steam + everything else), but it's also a real computer you can write programs on or school papers with.

We need to reverse the tide of electronic products getting dumbed down every year in the name of "user experience".

SteamOS literally has a desktop mode, standard KDE, and you can install any applications that are in Arch repos or served as flatpaks.
> SteamOS doesn't do anything besides play games distributed on Steam.

Handling input from the gamepad and having a massive library of community contributed controller configs is a massively underrated selling point, imo.

Dude you can write papers and code and whatever you want on SteamOS. Linux is pretty awesome.
This is straight up false.

SteamOS is not limited to playing games distributed on Steam. It's a Desktop PC running an optimized interface by default. You are always just three button presses away from launching Desktop Mode and installing whatever you want, as long as its either made for Linux or runs using a compatibility layer.

I'd even argue that a device like the Steam Deck, with its open approach in almost every design choice, is a counterexample for "dumbed down devices". It has an easy-to-use UI for people who don't want to fiddle around with it, sure. But as even its operating system is, for the most part, open source, you have many more possibilities than you have on a proprietary platform like Windows if you want to tinker around with it.

I don't know how to drop this without sounding snarky but it's definitely true for at least some people:

A Linux based desktop is often quite literally better as a real computer for regular people to get things done with than a Windows machine.

It's kind of a weird horseshoe: Obviously for a lot of power users Linux is better, but I'd also argue that Linux is a much better proverbial "grandma" operating system as well; she can do A LOT with simply a working browser.

Assuming no prior knowledge KDE-plasma powered PC is easier to use for the average user (mostly browser-only) compared to windows these days

Windows just really became a mess UI-wise, not only in its settings menu but it is bleeding to their user-facing stuff. The task bar is a mess, the notifications overlay is a mess, the startup menu is a mess, the copilot integration is a clusterf* if the user doesn't know what copilot is, the sharepoint integration is a mess, the popups to create and sign in with windows are a mess, all the useless microsoft built-in apps get in the way. Not to mention all the crapware OEMs add to the mix. Many of these problems also plague MacOS (and Ubuntu!)

Windows is going to die because most people don't need all this crap, they need to double click an application (usually the browser) and just run it. Maybe they need to task switch being applications and do some file management sometimes.

The enterprise and home operating system business as a whole is going to die, likely taking mobile OSes with them if anti-competitive legislation catches up. There is no money to be made. Big companies are sponsoring open-source Linux improvements that trickle down to consumer space for free.

Who knows, it is quite possible proper desktop applications like games will just start being shipped as bundled microkernels and loaded in a virtualised environment in whatever platform, or web assembly really takes off and we start seeing wasm-first apps being distributed outside the browser. It seems we are heading towards this direction of platform agnostic applications.

As a hobbyist game developer, I would love to see the field move away from being so windows focused. It's pretty annoying that every other kind of development I do works well enough across all platforms, but when I want to do game dev I pretty much have to boot into windows.

And as a game user, I would also just rather have games be cross platform, than use whatever OS specific optimizations happen now. But I've also never really cared too much about having high framerates, high resolution, millions of polygons, etc.

Riot Games recently announced that Vanguard, their kernel-level anticheat, is going to be required to play League of Legends soon. There was a considerable Linux community for League at r/leagueoflinux, and they are obviously upset. But regular users are also rightfully upset and stated their intent to give up league if this goes through.

Vanguard must be launched during boot, and has to remain running 24/7 in order to launch and play the games. Not to mention that Riot Games was bought by Tencent... TikTok mass surveillance spyware was bad enough. Fat chance I would ever let the CCP pwn my personal rig with 24/7 running kernel-level malware/spyware that can never be validated because it's obviously closed-source.

damn think of the pwn possibilities there -- kernel level right from boot, and updated regularly, without having to obfuscate. red team wet dream.
It isn't only Windows, we also have XBox (ok, a Windows flavour), PlayStation (a FreeBSD fork), Switch (a mikrokernel OS with POSIX like stuff), Android (a Linux where no one ports games to GNU/Linux from), iOS/macOS (NeXTSTEP derived OS).

Many of those, with UNIX like OSes, could easily port their games to GNU/Linux (specially the Android NDK ones), they don't because it isn't worth it, monetary speaking.

I'd argue the Windows API at this point is a stable platform that can be targeted to deliver for Linux gamers.

The Linux native ports keep breaking because of outdated dependencies, while Wine/Proton offers a stable experience that keeps getting better (most recently the Wayland support).

It seems to me that releasing native Linux games at this point cost more than it's worth.

I've had a Steam Deck for about 1.5 years now, and I've been running SteamOS via HoloISO for 8 months now on my ITX lounge PC and it's amazing.

It's easy enough that the kids and wife can pick up the Deck or power on the PC and get a gaming environment that's nicer to use than the PlayStation's.

Hogwarts gave a bit of a problem on the Deck, but the desktop was fine and luckily none of use want to play any of the online crap that requires anti-cheat. Couch co-op and competitive is much more fun.

Whishful thinking, Windows games are better played on Windows.

It is going to be netbooks all over again.

Flashbacks to smoother Linux gameplay on Linux for elden ring.
Most likely a driver issue, not really OS related, as any game developer will attest with their GPU scars.
A game issue in Elden Ring's case specifically. It suffered from bad shader compilation stutters (even up to 900ms in the initial area). Valve solved the issue on Steam Deck by distributing a precompiled shader cache with the game.
Shader compilation issues is another way of saying driver issues.
Yes but Microsoft isn't fixing it, valve is. Support changes quality.
Other games running on same hardware and same drivers go around it one way or another.
I don't get some of these Windows fan comments on here.

There are plenty of Windows handhelds if you really want that awkward interface.

For a large percentage of us, we don't need Windows to play all of our games. I don't have any which doesnt work on the Deck (there were a few teething issues but they've now gone).

Why are you so angry that there is choice and we can use what we want, and you use what you want?