The forum

SteamOS

OS

Author Replies
Jump to the page: 1 - 2
krissi Monday 30 September 2013 at 19:35
krissiAnonymous

Hi community

So Steam is planing on new linuxOS and i just want to know what you think about that. And is this ubuntu based or have they told that yet or is it there own ?
izberion Tuesday 1 October 2013 at 7:50
izberionAnonymous

It is based off of Debian, though they would be taking a lot out or changing stuff and making it pretty much their own. So far it only means good new for PC gaming, Linux in particular since every game native to SteamOS will be native to Steam for Linux, which is the Steam version SteamOS will be running of course.
Ronin DUSETTE Tuesday 1 October 2013 at 20:26
Ronin DUSETTE

I think its dope. Im so glad Steam entered the linux market finally, as now its making Nvidia, Wayland, X, and everyone else get off of their ass and get crackin' on new features. Its a very exciting time for us *NIX users!! :D

Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Daerandin Wednesday 2 October 2013 at 15:05
DaerandinAnonymous

I am also very happy about this, because I most of all hope this means more game devs will start making Linux versions for their games. I am beginning to have hope now regarding The Witcher 3.
krissi Wednesday 2 October 2013 at 19:10
krissiAnonymous

O_o i didn't even know of wayland and mir. And now the time has finally come for Linux to shine :D
booman Friday 4 October 2013 at 20:54
booman

Did Valve make the SteamOS public so we could try it out?

I think its a GREAT move and if I didn't have a Super Computer it would be a great alternative with the Steambox.
Not to mention I don't have to re-purchase games that have been converted to Linux.
Now they run in Windows and Linux.

Anyways, the more attention Linux gets in the gaming world the better!

DJ - "Dope" means "good" right?

† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
Ronin DUSETTE Tuesday 22 October 2013 at 19:34
Ronin DUSETTE

Yes. hahaha. "Dope" means good. Im from California. lol. Sorry about that.

Well, Im not going to comment on Mir at this point, as its a very controversial subject. Suffice to say, Wayland is going to replace X in the VERY near future, and X will run only when needed as a Wayland client. Trust me, this is a VERY good move, and a long time in the making. Its going to be great.

Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
booman Tuesday 22 October 2013 at 20:12
booman

Agreed.
I did some reading and had no idea how old "X" really was and all they have done is patched it for years. I know re-writing something that already works is not the best idea, but sometimes it really helps eliminate recurring bugs.

† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
Ronin DUSETTE Tuesday 22 October 2013 at 20:37
Ronin DUSETTE

Yeah. I have been reading the hell out of source code and docs, and I would consider myself VERY knowledgeable about the graphics stack and X now. Not a dev, but yeah.

Basically, all X does is get in the way now. X has to do way too much. Back in the day, it did drawing, input selection, etc etc etc.. Now, if you take a look at /var/log/Xorg.0.log, you will see a bunch of EXTENSIONS being loaded. These extensions do the work that X used to do. X was not built with an API that would allow changes as dramatic as this, so these extensions granted framebuffer alloc. to things requesting OpenGL, input (now handled by evdev and udev), rendering (Xrender), screen control (Xrandr, Xineram, etc.), blah blah blah. These extensions now handle the brunt of the load, and now X is just getting in the way.

Wayland is basically going to replace X, as now everything graphics related is now moving to kernel-space, such as ModeSetting (KMS, or kernel mode setting), DRI, DRM, DMA, and pretty much anything that has to do with hardware control, allocation of memory, framebuffers, and all of that, so X is not needed, but we still need something to display with. Wayland comes in and can communicate native with the kernel, and still have the security.

Now, what happens to X? It gets pushed up to upper layers. For instance:

Right now, when you start X by itself, you get a blank screen. Then, X needs a window manager. This is all taken care of in say, KDE, as it has KDM (display manager), KDM (window manager), and of course the whole rest of the desktop environment. When you open a game, it makes a call to X, requesting access and a framebuffer to draw on to. This gets processed and bounced around a whole lot before finally, a window opens, allowing your game to run. This window is (for games) an openGL window, sitting on top of X, which is why you can drag it around in windowed mode.

This is ok, but not anymore, considering the needs of modern computers. Composite isnt just for pretty effects; it gives an agnostic layer to draw things on to. Sounds great? It is; on paper. X does this well now because of the extensions that have been hacked into X to do so.

Wayland simplifies this by replacing X, running Weston (a compositing window manager, like KDM), and when a program wants to to access a program, it takes about half the steps to request, allocate, and display on the screen, via a layer above the actual desktop, in the window manager. The good part about this, is that, because Wayland will take advantage of render nodes and all of the other cool stuff that is being done with DRM, GEM, and the rest of the graphics stack, and will always use this layer.

XWayland is X for Wayland. It does the same thing; a program needs X, it makes a call to wayland, and wayland spawns a rootless X server, and lets the program run in that window. Yes. X running in a window (or full screen, but its still just a window on top of wayland/weston), just like OpenGL apps request resources to X. Wayland just does it more efficiently.

One thing I found interesting, is basically, when you click on something on your screen, you arent REALLY clicking on that image. Its a pixmap that is displayed to you, and when you click, you are seeing a layer, but your clicks go through that layer to the manager underneath, that was tracking your mouse movements. 

Think about it like this. Ever mess around with multiple X screens, and you get them messed up when placing them, and you can see the mouse on multiple screens, but when you right-click on one screen, it will only bring up them menu on 1 screen, and never the others? This is because you are SEEING layers, which should be separate screens, BUT, you are really sending click events to the first one, but simply seeing a mirage that should be the other screen, but its still sitting on top of the other one.. If that makes any sense. lol

Like, you ever notice that when an OpenGL windowed app crashes, it can turn black or when you move it, it doesnt refresh until it stops? Well, the system needs to actually redraw that, and has to wait, either for the program to start responding, or you stop moving the window. This is why it looks like crap on my systems when you drag openGL windows around on a compositing window manager. It cant really keep up with everything thats going on.

Wayland CAN do this, and if an OpenGL app crashes, it wont crash your whole desktop like X so often does. JUST the window crashes, and your desktop runs fine, as its simply a layer on top of everything.

This is how I understand it, anyway. If you REALLY want to see how this works, read stuff at a lower level. Read about DRM, DRI, GEM, and KMS. This will really give you in-depth understanding at what exactly this stuff does, and why X needs to be replaced with something that is extensible, stable, and up-to-date with todays tech needs.

**trying to catch breath**

Lol.

Edited by RoninDusette


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
booman Tuesday 22 October 2013 at 20:48
booman

Very nice read DJ.
Starting to appear a bit confusing with rootless X server running a program in its layer, then running virtual desktop from Wine and then the game.
Lots of layers going on... but I like the crashing capabilities you mentioned.
I'm tired of going to the Shell just to kill a program because it crashed my whole desktop.

† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
Ronin DUSETTE Tuesday 22 October 2013 at 21:05
Ronin DUSETTE

Those layers wont matter. X running NOT as root, means that it leaves all of the KMS and graphics stuff up to the kernel, and just basically has a window to display X-related things.

It is VERY much like a virtual desktop in Wine, if not the same concept. It gives itself a native environment, drawn into a window. X will still use everything its used to, so its not going anywhere right now, and will assure backwards compat. with older software that isnt or wont be ported to Wayland. If you run Wine apps in Wayland via XWayland, you will not notice a difference: Full screen games will be full screen, and windowed games will appear in a window. If it crashes, that window dies, and thats all. Move on with life. lol

Think about it this way:

Linux is pretty much fully controlled via command line and whatnot. Your software, obviously with some workarounds here and there, will work just fine, software will compile, etc etc etc..

The GRAPHICS layer ABOVE thise (X and Wayland) are where the changes are happening. Your wine app should still start. Its just now, Wayland will intercept the request, see that it wants X, and then allocate a framebuffer (via render nodes, controlled by DRM, GEM, and a few other acronyms) and draw it to an off-screen buffer, then display where it is asked to. Now, since the linux graphics stack will pool all graphics and FB resources together at a kernel level, there is no more card0, card1, etc etc etc.. (In terms of controlling resources. There is will still be an abstraction of this, but instead of card0 and all of that, it will be probably in /dev/dri/card0 or /dev/dri/dri0 or something like that).. Its all a giant pool of resource, and clients (programs that need to show you graphics in this case) just say "I want to draw this, at this resolution, this depth, on this screen, and Ill let you know if I want to do more", and the kernel allocates its resources according to the request via DRM, DRI, and GEM, then KMS sets the mode of the hardware, if needed, for full screen apps. Or something to that effect. Documentation for things THIS current (the last year) is not very solid yet. lol

Edited by RoninDusette


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Ronin DUSETTE Tuesday 22 October 2013 at 21:15
Ronin DUSETTE

I'm tired of going to the Shell just to kill a program because it crashed my whole desktop.

Quote


Yeah. Thats always been a pain in the arse. Though, I gotta say, I love doing stuff via keyboard and command line. Lol. Makes me feel like a real nerd. I cant live my whole computer life via one finger (aka the mouse pointer) :)

Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Ronin DUSETTE Tuesday 22 October 2013 at 21:18
Ronin DUSETTE

Also, Petch, Tinou, MulX, or anyone else that is more experienced programmer, feel free to correct me if I am incorrect in anything. Ive been studying VERY hard learning OOP, as well as studying lower-level linux components like KMS, kernel modules, DRM, etc.,  and am about to start learning C, because I want to start doing Linux development in general, as well as contribute code to Wine and POL (yes. still learning Python). I can write pretty simple programs, and can get a pretty dope website designed, but yeah. Still learning. :D

Edited by RoninDusette


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Ronin DUSETTE Tuesday 22 October 2013 at 21:27
Ronin DUSETTE

Good example:

[url]http://www.phoronix.com/scan.php?page=news_item&px=MTQ5MjU[/url]

This was JUST posted. Like, right now. I refreshed the page, and there it was. lol. This is how fast the graphics stack is moving, now that Steam and other gaming dev are stepping up to the plate. I really think that the 2 BIGGEST things to get devs to replace X, and upgrade the graphics stack are: Ubuntu and Steam. Steam is easily the biggest distributor of digital media (games) on the planet. No one sells more games than Steam on the internet like they do. Ubuntu is VERY user friendly, compatible with damn near everything, and is most peoples first linux distro nowadays. With more users, more demand for up to date features. 

What was the first distro to get native Steam support? Ubuntu (and Debian, of course). As soon as Steam came out for Linux, graphics drivers started coming out with WAY more features with every release, and kernel releases and all of that are now leaning toward graphics management enhancement. Lets also not forget the epic, and unforeseen, release of docs/souce by Nvidia to the Nouveau (and FOSS community) regarding their GPUs. The only thing in the Nvidia driver package that I can find that is not distributed with source is the actual binary kernel module. The rest of the kernel-facing components source (like nv-linux.h, nv-drm.c, etc.) come with the Nvidia drivers you get from their website, which is sweet, and though not official to patch, can be modified before compilation. Every day there are new patches and releases. I keep a second hard drive running arch, just to reformat and compile things to break them and test. hahaha. 

Now more than ever, AMD and Nvidia (intel is fine, as they are open-source anyway) need to put the pedal to the metal and get up to par with kernel releases and changes in DRM and all of that jazz. 


This particular article will get rid of a lot of things, like DRI, AGL, and all of that. Those are all there to rock OpenGL, but since this rewrite will allow GLX to talk directly to libGL in whatever form its in, via EGL (which is what I understand is going to be the main, underpinning backend) and a few others. Idunno. Im a super nerd, so this is super exciting for me to see all of these changes. Its a very exciting time to be a Linux super-user. 

Im just happy to see that someone lit a fire under every linux-graphics-related developers ass, and now its full steam ahead for graphics in Linux. Especially for gamers (and multigpu, multi-card, multi-monitor users like me. lol)

Edited by RoninDusette


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
booman Tuesday 22 October 2013 at 21:49
booman

Its great to see these big companies focusing more on Linux development. I knew it would be games that would push all of this forward.
Nothing else really gets as much attention and raises the bar like games.

It means they are seeing revenue possibilities too!

† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
Ronin DUSETTE Tuesday 22 October 2013 at 21:51
Ronin DUSETTE

Its great to see these big companies focusing more on Linux development. I knew it would be games that would push all of this forward.
Nothing else really gets as much attention and raises the bar like games.

It means they are seeing revenue possibilities too!

Quote from booman

For reals. I told cats a while back that Linux would dominate Windows (it already does in most other countries) for gaming for various reasons, but yeah. Gaming was for SURE the catalyst (pardon the AMD pun). lol

Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
booman Tuesday 22 October 2013 at 21:56
booman

I just ordered parts for my Dads computer. Not a gamer, but $624 including Windows 8.1
I could have saved him $100 by using Linux.

That is my line to pursuade people to Linux.
"Save $100 on your next computer"
or
"Scared of Windows 8, try Linux for free"
or
"Windows won't run your old games? Linux will"

The only reason I started messing with computers is because of games.
I'm in full-time IT and I owe it all to games.

† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
Ronin DUSETTE Tuesday 22 October 2013 at 22:03
Ronin DUSETTE

haha. same here. I broke and fixed my first computer at ~8 or 9 years old, learned BASIC at 10, HTML at 12, and played video games since then, and all of the time in-between. Started using Linux in 2007 at a job working on Linux servers, then someone mentioned Kubuntu, I tried it, loved it but kde was buggy, switched to regular Ubuntu, and never looked back.

Im actually a smarter, WAY more advanced technician because of it, not to mention that I have the sexiest computer around these parts, and RARELY have to use Windows anymore. Linux and open-source, as it odd as it sounds, literally changed my life in a MAJOR way. The way I think, software that I use, my whole computing experience and moral status changed in a way I never imagined. Man, that seems so weird to see what I just typed, but I stand by it.

Linux and open-source, for me and probably others, has made my life better all around.

Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Ronin DUSETTE Tuesday 22 October 2013 at 22:07
Ronin DUSETTE

Another good example of performance after migrating to Wayland/Xwayland solutions:

http://www.phoronix.com/scan.php?page=article&item=fedora20_wayland_preview&num=2

This is couple of weeks old, and this stuff is still in testing, but this is how far we have come, and how close we are getting.

Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
booman Tuesday 22 October 2013 at 22:39
booman

Im actually a smarter, WAY more advanced technician because of it, not to mention that I have the sexiest computer around these parts, and RARELY have to use Windows anymore. Linux and open-source, as it odd as it sounds, literally changed my life in a MAJOR way. The way I think, software that I use, my whole computing experience and moral status changed in a way I never imagined. Man, that seems so weird to see what I just typed, but I stand by it.

Linux and open-source, for me and probably others, has made my life better all around.

Quote from DJYoshaBYD
Kinda the opposite for me...
Since my first PC build, I always felt that it should be less expensive and more compatible.
So now I refurbish PC's, donate them, have free LAN Parties, help friends/family for free and work full-time on servers/workstations.

For me, Linux confirmed what I've always felt about computer.... 
  • Have fun
  • Learn
  • Develop anything
  • Help others

† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
You are here: Index > General discussion > SteamOS