Slashdot Mirror


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

25 of 201 comments (clear)

  1. Re:Stop fragmenting by Anonymous Coward · · Score: 5, Insightful

    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.

  2. Re: Stop fragmenting by Anonymous Coward · · Score: 4, Insightful

    Wow...slightly different toolbars.

    such doom
    horrible fragmentation
    can't use

  3. Re:Only nVidia? by EmperorArthur · · Score: 5, Interesting

    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
  4. Sounds good by gweihir · · Score: 5, Interesting

    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.
    1. Re:Sounds good by lordofthechia · · Score: 3, Interesting

      and some games.

      The games they've got. Over 300 last I checked + "more AAA titles coming soon".

      --
      Georgia Tech, the leader in Chia(tm) technology.
    2. Re:Sounds good by VortexCortex · · Score: 5, Interesting

      Not to mention, as an indiegame dev who cares more about the game than the money and creates cross platform code using GNU/Linux, I might just say screw purchasing iHardware and lose the additional time sink of build/test on Win. There's a few other developers I know of similar mindedness, so if the audience isn't non-existant you may see Linux exclusive games too. In my instance I'd just concentrate on the Linux build to get it out the door (as I always do), but put the testing on other platforms off until interest/demand warrants it.

      Since I started with an OS abstraction layer and use the GNU toolchain everywhere, there's no such thing as porting between platforms -- setting up cross compiling is a one shot deal; However, there's nothing like testing on the metal. Porting changes even without the cross compiler suite is just "git pull && make" on any platform GCC runs on; I could use LLVM, but the point is that I'm not compiling with multiple different compilers with their own quirks to work around; FLOSS means vendor lock-in isn't a concern there. It's a shame that Apple makes it illegal for me to install their OS on my superior yet cheaper hardware. I can't justify buying separate lower spec systems just for OSX gamedev given their market share, and even setting up the cross compiling from Linux is a bit questionable, so while it's doable I avoid it. Linux and Windows allow installation on whatever they'll run on, even VMs in most cases.

      Now that consoles are basically just neutered PCs where the functionality is sold back to you at a premium: Fees for multiplayer & P2P chat? Charging for publishing i.e. making their platform valuable? While ads are on the dash, wtf? And considering that heterogeneous computing is coming to desktops, mobiles, etc. I think this last console generation was it for me. Upgradeable game system? Yeah, it's just a full featured personal computer. FINALY! One thing I don't hear many folks talk about is the huge potential for tons of actual user generated content with SteamOS (PC) games in contrast with consoles; Not just gloating over social media screenshots and vids of in-game footage... You really need a desktop interface to get down and dirty with some wicked modding;

      As a modder from way back, all of my game dev efforts are mod centric. I have mods I made for games decades ago that still play great today. If we want gaming to be realized as the full expressive medium it can be, we need to stop the practice popular in the last decade of birthing games and giving them DRM death sentences. I'm less concerned about this aspect on SteamOS than a console. EG: My Xbox 360 can see my friend's console. We'll be connected and chatting with each other. The consoles both know we have the original Halo 2 in the tray, and all the game needs is to be given the IP of the other client to play online -- And yet you can't do this on XBL, they turned off the Halo2 server; You have to purchase a newly released version of the game. That's asinine. Fire up a VPN w/ system link (or XLink Kai), BLAM, online multiplayer without XBL. What the fuck, MS. Might as well not be paying for your planned obsolescence non-service.

      One day the Halo 3 server will be cut off, and all of the Halo Tracks we modders spent lots of time building and playing for that game will be unplayable online. Without emulators, our hardware will crap out too. This kills the game. Game devs and players benefit most if games can run everywhere forever, but most console makers are directly opposed to the game industry's benefit: They benefit if games can only be played in one place for a limited period of time. I really hope SteamOS takes off and breaks the cycle of needless game death. Art should not have needless death sentences applied.

    3. Re:Sounds good by pcolaman · · Score: 3, Interesting

      Valve has already commented that they will be porting all of their engines over to Linux, so I doubt that it'd be long before Portal 2 is offered as a native game in Linux rather than having to play through the streaming service.

  5. Re:Stop fragmenting by gweihir · · Score: 5, Insightful

    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.
  6. Always AUFS ... by Pinky's+Brain · · Score: 4, Interesting

    How many downstream projects get screwed when one of the kernel devs decides to ignore AUFS and "accidentally" breaking it? There are no more excuses. Union mount/overlay is fucking vapourware ... the farce has gone on long enough, mainline AUFS already.

    1. Re:Always AUFS ... by Baki · · Score: 3, Interesting

      Yes I discovered AUFS a while ago and it is really great.

      I use it to backup to 5 disks (of various sizes).
      Need to backup 10TB to a bunch of disks, but in the case of a disaster I want to be able to read individual disks without setting up a (software) raid array when restoring from an emergency. So I joined 5 disks of various sizes, 10TB in total, together with aufs and write to the aufs device. Aufs ensures that files are written on one of the disks, the one with the most space left.

      Later I can take an individual disk and find part of all files on int, or put them together in an aufs-setup and restore in one go.

      Raid-JBOD has the drawback that loss of one disk (in the backup set) means loss of all of them.
      Raid-5 is more complicated and fragile for restores, and wastes 1 disk for parity, which is not required for a backup (the live system already is raid-6).

      (and yes, I've got two backups).

  7. Re:UEFI excludes too much by Anonymous Coward · · Score: 5, Informative

    Reddit solved this yesterday.

    http://www.reddit.com/r/SteamOS/comments/1su4t1/uefi_requirement_with_steamos/

  8. Re:Only nVidia? by Pinky's+Brain · · Score: 4, Informative

    No, you haven't been paying attention ... the beta boxes are NVIDIA and eventually they want reference designs with all the major graphics architectures.

    http://www.forbes.com/sites/jasonevangelho/2013/10/09/valve-confirms-official-amd-powered-steam-machines-for-2014/

  9. P state driver audio issues? by deviated_prevert · · Score: 5, Interesting

    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
    1. Re:P state driver audio issues? by 0123456 · · Score: 3, Funny

      Sound is one of the reasons I've never used a Linux distro for long as a desktop OS any of my computers.

      Maybe you should try a distro released after 1993.

    2. Re:P state driver audio issues? by PopeRatzo · · Score: 4, Interesting

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

      Buddy, that is very smart. I've written here on several occasions about my annual efforts to use Linux as a main production machine in my DAW setup. I've been using it for streaming samples and rendering and off-loading effects and other processing (via Cockos' Reaper) but it never was ready for prime-time. UbuntuStudio and Debian and others, and there were always problems.

      I think it's interesting that today I noticed that Valve has started selling a DAW program called "Ohm Studio" through Steam. Wouldn't it be great if there was some connection to SteamOS? I'd love for it to become a solid platform for music production. Plus, when I get tired after my 30th take, I can unwind with a little Dota2.

      I'm glad you posted this, because I'm not really enough of a Linux maven to have made the connection/

      --
      You are welcome on my lawn.
  10. Re: UEFI excludes too much by tysonedwards · · Score: 3, Insightful

    uefi is not "restrictive". In fact, it provides quite a bit of additional functionality that never existed in BIOS. The only thing that has come from it that has been "restrictive" is a permissive feature called SecureBoot, also known as allowing for code signing to take place. Valve does not have code signing turned on in SteamOS, so that doesn't even impact you at all.

    Or are you saying restrictive in the sense that it only shipped by default on x86-64 computers for the past 4 years?

    --
    Thirty four characters live here.
  11. Call it flame bait if you must by sgt+scrub · · Score: 4, Funny

    They combined 3 of the things I hate the most. Games that require a Steam account, a Steam account, and Microsoft employees. I'm expecting to find out they are being side funded by Sony.

    --
    Having to work for a living is the root of all evil.
  12. tl;dr stfu foad lrn 2 troll n00b by gman003 · · Score: 5, Informative

    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

    1. Re:tl;dr stfu foad lrn 2 troll n00b by pcolaman · · Score: 3, Interesting

      You said it much better than I could ever have hoped to. I've been a big Windows guy since 3.1 (maybe partially because for a while I didn't know any better) but lately Windows 8 has made me realize that Windows 7 will probably be the last version I will have installed on any of my systems voluntarily. I have a Win8 laptop (preinstalled) that I now have dual boot with Ubuntu 13.10 and I have considered more than once wiping Win8 off and making it a completely Ubuntu laptop. Seeing SteamOS has made me an even bigger believer in what Valve is doing for PC gaming because as far as I can tell, Microsoft is the worst enemy to the PC as a gaming platform and that's only going to get worse.

      Perhaps this is partially to help push the XB1 forward as a "better choice" than the PC for gaming. Perhaps it's just ineptitude on Microsoft's part. Probably it's a bit of both. But either way, I think as my children get older and I start teaching my kids how to code and how to work with computers at a deeper level than launching netflix and playing plants vs. zombies that it'll be primarily with some sort of *nix based system (not Mac OS X though, they've just become overpriced PC's with specialized software). As a matter of fact, my goal is by the time my kids are over 10 they'll know how to write basic C programs and use make along with gcc, and they'll feel as comfortable using terminal as they will using a GUI.

  13. Re:No not really by lordofthechia · · Score: 3, Informative

    How many of those 9,000 windows steam games run on the consoles? (BTW it's closer to 3,000 - 3,500 unique windows games - excluding DLC).

    Somebody that already has a gaming PC (presumably with Steam) isn't the target demographic of this push. Folks who want console level convenience but would be open to saving money buying on Steam are. And what will they see when Steam Machines launch early next year?

    PS4 169 Total Games released and announced
    XBONE 77 Total Games released and announced
    Steam Machine 300+ games already released (and purchasable) *and* more coming soon.

    Then look at the other features you'll get with a Steam Machine (and Steam):

    * Steam Sales

    * Steam gifting (give your grandkids a Steam Machine then send them games through steam from your home PC/Tablet/Phone, etc)

    * Access to player mods (Steam Workshop)

    * Free online play (MMO's w/ monthly fees not included)

    * Equal or better hardware depending on your budget

    * Upgradeable hardware

    * Made with COTS HW -> easily fixable

    * Games you purchased on your Steam Machine are tied to your account, *not* your machine. On the road? Open your laptop and pick up on your games where you left off.

    * Ability to play 3rd party/unlicensed titles without jailbreaking

    * Compatibility with PC hardware (that works with Linux). Mouse and KB anyone?

    * Compatibility with XBOX 360 and PS3 controllers (and surely XBOne and PS4 to come)

    * Full desktop mode!

    * Controller that's nearly as precise as using a mouse (and miles ahead of the console controlers.

    * Devs can issue patches for free! (looking at you Microsoft)

     

    --
    Georgia Tech, the leader in Chia(tm) technology.
  14. Re:Stop fragmenting by cheekyjohnson · · Score: 3, Funny

    It takes a real man to post using a Slashdot account.

    --
    Filthy, filthy copyrapists!
  15. Re:Stop fragmenting by Zynder · · Score: 4, Insightful

    Speaking of........
    FOR THE LOVE OF [insert deity], do NOT buy your significant other a Sybian. I don't care if you are hung like a mule and fuck like a pornstar on a kilo of meth, you absolutely CAN NOT compete with the power of the Sybian. Hit up xhamster sometime and watch some of those videos. Some of those ladies are having a damned seizure, fall off of the things like a drunken cat on the back of a couch, forget how to speak English and break out into some kind of demon language, and some even appear to end up with some kind of amnesia and are cross-eyed. If you were barely ranking in the "mediocre" category, this will ruin your sex life forever because it'll really put just how bad you actually are right in a big ol WW2 air raid spotlight. Some of us just can't cope with that reality....is it dusty in here? *sob*

  16. Re:Um... by SCPRedMage · · Score: 4, Informative

    Umm... no, no it wasn't. Valve hired the guys behind Narbacular Drop, who then worked at Valve to create Portal using many of the same concepts, but Portal was developed entirely by people who earned their paychecks working for Valve at the time they were working on the game.

    In other words, Valve didn't buy the game, they bought the team.

    --
    My sig can beat up your sig.
  17. Re:Stop fragmenting by Anonymous Coward · · Score: 3, Informative

    Well, you could read the article. I don't know about you, but I'd rather not run aufs, use system V init, or run much of anything in realtime. The code itself is the explanation for why they are doing it that way, at this point, and let's be clear: you're not a game developer and this is not for you.

    Since it's clear you are vastly ignorant, I am compelled to explain that there is a step in between when the source code is made available, and when packages are available in the distribution of your choice. Currently Valve et all have released some source code that they have been working with. There would not be anything stopping you nor anyone else from creating a set of packages from that source code.

    However, since they're starting with lots of kernel-level changes and continuing with aufs and a custom compositor, you're probably not going to ever have a good experience just installing SteamOS packages in another distro. The real-time patches are probably the biggest obstacle. It's as if there's a reason why they're calling it SteamOS instead of Steambuntu.

    If after you've read the article you fail to comprehend it please feel free to take up the topic again.

  18. Re:No not really by aiadot · · Score: 3, Interesting

    How many of those 9,000 windows steam games run on the consoles? (BTW it's closer to 3,000 - 3,500 unique windows games - excluding DLC). Somebody that already has a gaming PC (presumably with Steam) isn't the target demographic of this push. Folks who want console level convenience but would be open to saving money buying on Steam are. And what will they see when Steam Machines launch early next year? PS4 169 Total Games released and announced XBONE 77 Total Games released and announced Steam Machine 300+ games already released (and purchasable) *and* more coming soon.

    Technically you are correct when you point out the number of games. But I don't think that doesn't really mean a lot. The PS Vita has over 1300 games available for it on the PSN and look how great its doing. I'd rather buy a platform that has one game I want than a platform with thousands that I don't.

    Have a handful of system sellers is more important than having 100s of games no one cares about. Those 300 games? Mostly old Valve first party and indies that are available everywhere. A good chunk of hot PC games(Blizzard games, LoL, Minecraft, Origin) are not even on Steam, and even if those games were on Linux I find it hard to imagine the average joe sideloading the apps (basically the Android/Google Play situation).

    I think the extra competition by the Steam Machines are a great opportunity for traditional console makers to review some of their outdated practices and offer more interesting products. Currently the only reason I buy consoles alongside my gaming PC are for the exclusives games(and the lack of which is also the reason I'm not interested on Steam OS). And because of that I wish them good but yeah, they will have to do something about that library. As for the other features, while interesting, they're secondary. Game consoles are for games. Steam machines are just open gaming consoles.