Under the Hood of SteamOS
jones_supa writes "SteamOS has been further inspected to see what kind of technical solutions it uses. The Debian-based OS uses Linux 3.10, shipping with a heap of patches applied, with the most focus being on real-time-like features. The kernel is also using aufs and they seem to be sitting on some bug fixes for upstream on top of that. The kernel is not using the new Intel P-State driver, with the reported reason being, 'it causes issues with sound being choppy during BigPicture trailer video playback.' SteamOS is using SysVinit as its init system. The desktop is backed by X.Org server 1.12.4 and a custom desktop compositor which seems to be a 4,200-line patch on xcompmgr. Catalyst and Mesa components can be found on the system, but so far only NVIDIA is officially supported. The system boots into Big Picture Mode, but the user can drop into a GNOME desktop. Responsible for a great deal of the kernel changes, SteamOS compositor work, and other SteamOS code is Pierre-Loup A. Griffais, a.k.a. 'Plagman'. He was a NVIDIA employee dealing with their Linux support. Another Valve employee doing lots of the SteamOS system-level work is John Vert, who up until last year was a Microsoft employee since 1991. There's also other former Microsoft employees on Valve's Linux team, like Mike Sartain."
Forking/Fragmenting is good when it solves a problem. Not when the differences are between using different conventions.
So... "A Linux-based gaming console" is a problem best solved by stock Ubuntu/Debian, rather than fine-tuning aspects of the OS to handle gaming demands that a desktop or server machine doesn't have? What are you getting at? Of course you fork something if you have a new use case.
Seriously, the iThingamajig audience has already taught me to hear "fragmentation" in the same tone of voice and significance as a Fox News pundit saying "destroying America" (voice: "whiny, desperate, and entitled"; significance: "zero"). You're not helping.
so far only NVIDIA is officially supported
This seems odd to me, as I thought that the actual Steam/Valve hardware would be using AMD APU's?
Might be, but when you're doing early prototyping you go with what the developer knows, and in this case the dev used to work for NVIDIA.
I'm excited about the RT patches myself. I'm hoping one day that whole branch can get merged into the mainline kernel.
So lets pretend that we've just completed writing this code, as opposed to having just completed sabotaging it -Altera
Debian is a rock-solid foundation, that is just missing drivers. As to the custom-kernel, I have been doing that with Debian for over 10 years with no problems at all, except for some very recent issue with kernel include paths. (Which can be fixed by just using older kernel headers.)
Now they just need AMD GPU support and some games.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
They are not fragmenting, they are deriving. As long as they offer their patches back to Debian or the upstream from there, everything is fine.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Reddit solved this yesterday.
http://www.reddit.com/r/SteamOS/comments/1su4t1/uefi_requirement_with_steamos/
Interesting that Intel's frequency scaling causes audio pops so they disabled the p state drivers at the kernel level. As such this release might work well as a DAW if one were use Ardour or ecasound with jack. I am thinking about setting it up for this purpose and seeing what kind of RT performance it will achieve. Ubuntu Studio is interesting but far to convoluted and difficult to modify to ones liking. Seeing that this system is using sysvinit, coding called functions will be much easier to script and run. It would be really great if it can be tweaked to do high bit rate audio recording and broadcast in realtime streams over networks. Nice to see they are paying close attention to audio problems caused by the system at the kernel level, this release could become much more than just a gaming platform.
This message was not sent from an iPhone because Peter Sellers really was a deviated prevert without a dime for the call
You've basically revealed yourself as a moron who doesn't know what he's talking about but thinks he knows better than everyone else anyways.
SteamOS is an OS designed not just for gaming, but for a specific subset of gaming - using a controller and television instead of a mouse, keyboard, and monitor. The UI needs to be significantly different. You know how everyone bitches whenever an OS tries to reinvent the UI so that it works on both tablets and computers? This could have been the same situation, but Valve was smart enough to realize "hey, nobody wants to use a 10-foot UI on a 23" monitor, and nobody wants to type with a controller when they have a keyboard. Instead of pissing off our existing users *and* alienating the new target audience by making a compromise that fails at both, let's have two completely separate modes".
That's what SteamOS is designed for - a difference user interaction method. Or to be more precise, that's what Big Picture Mode (the Steam mode that SteamOS boots to) is. Big Picture Mode can be enabled as the default on any Steam install (Windows, OS X or Linux), and it's relatively simple to get Steam to launch by default as well.
However, SteamOS includes more than just a few default UI settings. There's the incredibly simple installation script - it offers very little customization, but it requires almost zero knowledge outside "getting your computer to boot off media instead of primary disk". That's essential for this particular niche, but would you want Debian dumbed down like that?
Or the stripping of unneeded crap. As I read TFA, I learned they built a rather customized compositor focused on game performance. Doesn't work too well in windowed mode, but it works well for fullscreen with UI overlays. Does that sound like something Debian ought to use?
Same for their kernel tweaks (some realtime scheduling stuff and disabling things that caused bugs with games), or their stripped-down install, or the dozens of other changes people are still trying to find.
But here's the thing - they are making almost all of this available as patches. It's open-source, except for Steam itself and the improved proprietary drivers. If Debian sees a use for these changes, they can merge it in. But to counter your inevitable repetition of "just make it a patch shit-gargler", you need to look at Valve's logic.
They saw Windows 8, and they were afraid. They realized that as long as PC gaming was reliant on one company (Microsoft) for an essential component, and that company has not just apathy towards PC gaming, but an outright reason to try to kill it in favor of their higher-profit-margin console, no matter how well Valve did at making games or keeping Steam running, their business could be destroyed. And with the Metro stuff and the locked-down app store, they saw a direct death threat. Shortly afterward, they started pushing their Mac port harder, and started work on the Linux port.
Given that history, would you really expect them to make themselves reliant on someone else for their console? Their thinking is basically "if we control our own OS, even if every other OS maker turns hostile to our market segment we can still keep it running". They have no problem with people running Steam on Windows or Ubuntu or Debian or fucking Slackware for all they care - but they want to make sure that there's at least one OS that will *always* be there to play games on. Hell, they even recommend Ubuntu+Steam for the old desktop experience, not SteamOS. Nobody is going to be rebooting into SteamOS - they'll be running it as the only OS on the machine because it's the only one that's usable on that machine's setup.
But everything I just said was kind of pointless, because you don't understand the very issue you're bitching about. Fragmentation on Android is a problem because programs that use new features do not work on old versions. Fragmentation of window systems or other APIs is bad because you have to write a new version for each system. And desktop Linux dislikes f