OpenGL Game OS

What do people do most of the time by there home computers? Play games and surf the web… implement a stupid webbrowser and you have it all!
But if all of you are going to lower you to M$ standards, so go ahead. The power of a “game os” should be something like this:
You boot the OS. A nice nifty little GUI pops up allowing you to install and play games. It’s not allowing you to set up an ftp or anything similar. It’s designed to run games… and another thing talking about speed… The drivers for the hardware of this os should be OpenSource as well. You all must know that nvidia gained a lot of performance only by updating the drivers… A bet that there are allways “hackers” out there that could squeeze something more out of that. Drivers to this OS should be game specific, don’t take me wrong now! The game specific driver is far from needed to run the game at already high framerate but it allows those “hackers” to push the driver even more for that specific game and hardware. Didn’t nvidia do that to Q3, rendering themselves more points from the hardware test software? Another thing is that very often needed calculations like the crossproduct and other geometrical calculations should be in some way speeded up. I don’t know if that’s possible in software. but if it were it would be real cool. I could understand that all of you thinks that the whole ideá about developing a genuine game os is to much work. But here comes the trouth… Does anyone belive that it will be possible to run todays finest games on tomorrows OS? Not even the already classic game “Silver” is runnable in XP.
If all of you don’t care about the future, don’t blame me for trying to stop you.

“- But she is still moving.”

It’s true that TCPA won’t prevent you from running your favourite application or OS. The real problem is that that it can prevent you from accessing content using that application or OS even if you are ready to pay for it. It’s not just the licensing, TCPA is tied with lots of Microsoft patents so implementing it in an OS will not be free or will require you to sign an NDA. Had TCPA been an open technology that everyone is free to implement I would be much more enthusiastic about it.
But of course people will find a way around it. Probably the Bochs x86 PC emulator project will get quite a boost from this TCPA thing.

Enthusiastic???About what?A technology whose only purpose besides protecting big people’s money and making the allready sucking x86 arch suck even more is to disgrace the word ‘trust’?
Anyway uzu,driver development requires a lot of lowlevel knowledge of the actual chip,etc. so I doubt a genral purpose ‘hacker’ could do better than the proffesionals at nvidia,mainly because it’s not just a matter of coding skills.
And if your problem is M$ standards maybe it would be better to simply support linux which anyway can be made to do what you want instead of introducing a new(new arch,new binary formats,new filesystems) OS for wich everyone has to code new drivers,etc. which propably won’t happen.

Originally posted by zeckensack:

Maybe this will prove useful: http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html

LOL, that’s the same url I posted in the beginning of the thread…

Besides, that guy sounds like a total paranoid…

After all this …
What if I told all of you that this OS that I propose for, already do excist? And that it’s not Windows or Linux dependent. That it can read both NTFS,FAT and ext2,ext3. And that there are implementation making it possible for windows and linux to read the allocation table for this OS? More or less making it possible to develope 3 “exe” files. One for Windows one for Linux and one for this os. And the only reason that none of you have ever heard of it is because it’s developed by 5 university students in sweden, as a funny thing to do! And by the way what if I told you that a Geforce 3 benchmarked 127% better on this OS than on Windows, and 154% better than on Linux.

I did not mean the comments to the effect that someone ‘does not know how multitasking works’ personally. There is a general misunderstanding among some that the overhead of preemptive multitasking is significant. These are ussually the same people who think that high-priority tasks are faster than low-priority ones when the answer is much more complicated.

Any, as for Palladium (how did that get brought up anyway ^_^), there is nothing keeping you from writing an application which uses Palladium to help encrypt the data which -you- are creating. This means you can use Palladium to protect your data from the government (OF COURSE, THIS DEPENDS ON THERE NOT BEING A BACKDOOR). Sorry for the all caps. Its just that if it does have a backdoor then I am totally against it. As long as everyone can create Paladium apps, and anyone can setup a certificate signing service, then Palladium is just another tool that I may or maynot use. I’ll decide on a per case basis if I want to use a Palladium enabled application (it is a deal after all, what do I get for my money, if the deal is bad then I won’t take it).

To understand what I mean by certificate signing services, you have to understand taht all they really do is act as a root of trust. They say ‘We know this guy is not a hacker who wants to break your computer’ so they sign the certificate and you decide that you trust whoever they trust. ANYONE can do this as long as they are trustworthy. The movie industry could create one, but so could I if people would trust me ^_^.

What do people do most of the time by there home computers? Play games and surf the web… implement a stupid webbrowser and you have it all!
I for one use my computer mostly for working on my thesis. I also like to play games. Should I install a new OS that doesn’t let me do all of the hundreds of things that I use my computer for just so I can get 61 fps instead of 60 fps? And it takes more than a stupid web browser to surf the web. You need stupid modem drivers, stupid TCP/IP support, etc. So now you have to get modem manufacturers to develop drivers for this new OS too.

The drivers for the hardware of this os should be OpenSource as well.
Why would nVidia want to make their drivers OpenSource™? So ATI could copy them? This is not going to happen.

Another thing is that very often needed calculations like the crossproduct and other geometrical calculations should be in some way speeded up. I don’t know if that’s possible in software. but if it were it would be real cool.
What does this have to do with an OS? It sounds like you’re talking about a software library. Perhaps you should focus your efforts on developing an open-source platform-independent SDK for games.

The bottom line is many current OSes are suitable for playing games.

I still think that a gaming OS is a nice idea.
Actually there are already many of them but for consoles only. There are many gamers who prefer consoles over the PC for playing. One reason for this is certainly the ease of use of consoles. You plug in your disc, press the on button and your in the game…that easy. Of course it is something else for a PC since the hardware can be very different but user friendlyness should be a key goal next to performance for this OS.
Actually you don’t necessarily have to install your OS if you don’t want to. You could just boot it from CD like it is possible with special linux distributions.
About the performance. I don’t know much about how processes and tasks are handled but somehow I can’t imagine that a very specialized system won’t be faster than a generic one. Another example is RAM. Windows XP for example is eating tons of it and these hundred ore more MB could be used to create cooler effects for your game (e.g. dynamic normalmaps).
One last thing would be that such an OS had a standarized and hopefully powerful API that would make it much easier for developers to create common things (e.g. a built in math library optimized for the current system).

About the pure gaming O/S: I don’t see the point. I am using my computer for more than just gaming. Ok I’m not the lambda user, but if you can’t use your pc for gaming+net+small office (letters and so on…) without rebooting, what’s the point?

About Ms’s sh|t: yep, that’s really dangerous. Knowing Ms, I would not be surprized if they were trying to kill all the FSF/OS/freeware communities. After all they kept on trying to slow down GL, on having (somehow illegual) attempts at killing competitors, etc…

Hey, people from usa in this forum: what are you waiting for kicking out a bit the politics that takes all these stupid/lame/dangerous/… decisions?

This is my opinion :

Forget now the idea to build a gaming OS : the most importante thing today is not to create island on wich you will sold few poor games, but build library that run on many platforms, ease the working of programmers that have to ports her games on all platforms to get max money back. Today, this is a non sense to want to build a new OS for gaming only, because you have three big OS that take 99,9 % of the PC gaming market, and the other parts are Consoles.

The actual success story in gaming third party product are middleware like the best 3d engines, sound engines and physics engine, but low level API will stile be DX and OpengGL for graphics. One of the best gaming platform wich offer a cross plateform development on both console, Mac and PC is Renderware.

For me, the future way is the higly integrated game development system, but this is my research way…

Regards,

Gaby

Its called linux.

Dump windowz its crap. My FPS on linux is about 500 fps while on windows its about 200fps. Games run better its all free. Its perfect for games.

LaBasX2 your obvious are the only one on this board that are not totaly against a pure game os. I don’t know why everyone else seams to hate it… specialy when none of you are most likely not good enough programmers to develope one. So why complain … saying that it’s to much work… who the fu*k told you that you had anything to do with this? Most likely you all are lame…
So LaBasX2 remember my words… you will see a pure game os on the free market… thrust me!

Originally posted by uzu_manga:
LaBasX2 your obvious are the only one on this board that are not totaly against a pure game os. I don’t know why everyone else seams to hate it… specialy when none of you are most likely not good enough programmers to develope one. So why complain … saying that it’s to much work… who the fu*k told you that you had anything to do with this? Most likely you all are lame…
So LaBasX2 remember my words… you will see a pure game os on the free market… thrust me!

todays pc systems are damn complex, and todays os take full advantage of it, eighter windows and linux. you don’t loose by running apps in the background at all… i’m coding a full cpu eating realtime raytracer… and i have say at one scene 12 fps (i know… i developed on the p3 500 till now, just starting to live with my 2.66 giga now ), then i started winamp, listened to some ogg (uses a bit more power to encode than mp3, but is much bether…), and surfed the web, had outlook to check mails, etc… and i got… 10fps… i lost 2. for a full cpu using raytracer… in a game, you loose about 1 frame.

whats the use of that os if you can just start your games in windows, and it works. (or in linux)…

just thinking of the memory management, all that stuff. playing ut2003, i can feel every time harddrive access happens… if you code your os yourself, you have to develop stuff like virtual files in ram, streaming reading, filemapping, all that stuff windows/linux supports for fast access of large data (wich is important for games… you want loading bars? you want them IN_A_LEVEL? no…).

you think coding that os wich outperforms linux and windows by much is easy? you worked too long with operating systems wich do the hard job for you just to be fast… if your game is slow, its the hardware…

about the opensource drivers… not even the linux drivers of nvidia are opensource…

the idea is neat, but its useless.

and i don’t want to reboot. why should i have a stable system then? or do i need 2 pc’s then? while developing the game… one for running the current compilation, one for developing… then i bether get an xbox…

Well the only clear advantage I can think of for a pure gaming OS is that you’ll just put a CD in your drive and run the game.So for pure gamers this might be cool,but… who the heck spends all that cash for a PC and expects to use it as a console?And besides I’d like to hear the reason why uzu (who’s sure we all are useless) wants to code a new OS.Do you have anything against the unix specs?Don’t you like monolithic kernels?Maybe this superOS needs a microkernel.My point is you can get the linux kernel and make it do whatever you need.Heck you can even flash it on the bios chip and have the computer boot in a few secs.Why a totally new OS?Don’t you like the support allready there?Do you want to have to convince the whole industry to make new drivers,new compilers,new everything?

I am a fairly good programmer, and because of that I know that it would take me years to develop a game OS. It took years for Linux to become 1/10 of what it is today (I remember using pre 1.0 systems).

Have you ever considered that the reason everyone hates the idea of a game specific OS is because we know what we are talking about? I am going to just come out and say that the idea is both bad and wrong.

Even a gain of 10 to 25 percent in performance is not worth losing everything that one can do with a windows or linux or mac platform. 10 to 25 percent is not worth losing 99.9999 percent of your audience. 10 to 25 percent is not even worth rebooting.

The way I upgrade, I ussually gain 100 percent performance all around because I do it every 2 years all at once. 2 years is a lot less time than it will take to develop a new OS.

If you are such hot stuff, then please, create at least a boot floppy or CD-ROM for the beginnings of your new OS. At least then we could know you are serious. Otherwise you have absolutely no base on which to insult us.

Building a good game OS is probably just as easy as tweaking the Linux kernel build to only contain stuff which is good for gaming, and then putting together a Linux distribution which only contains stuff good for games. Do a bunch of testing to see if any part of Linux is not optimized for games and create a few patches for the Kernel.

If you are so hot on this then do it! It would be easy to create a bootable CD-ROM that people could put in their drives and run just like a PS2.

But, until you have gotten at least that far, I would not bother people with visions of grand projects. If everybody hates it, then either you have to convince them, or realize that the idea is actually bad.

But if you can dual boot into this game OS, then Windows is for Windowed applications, and the game OS is for playing fullscreen games. Gee, that sounds an awful lot like the relationship between Windows 3.1 and DOS.

Actually, I was thinking about this same exact thing. What I was really desiring was essentially Linux without X, but with really nice OpenGL drivers, and support for fullscreen SDL, I guess. And probably something like Roger Wilco built into the OS.

Carmack said that it’s possible to double the performance of a game, if you’re running on a known platform. Well, a game OS would certainly get you a lot closer to being a “known platform.”

In a former lifetime, I developed for Java applets, so from that experience, let me say this : FORCE UPGRADES. Make the OS detect new major versions of itself, and refuse to run. I don’t care about minor versions, but every time there’s a new major version, EVERY USER should have to upgrade. (To the extent that the user is still connected to the Internet…) That makes it so much easier to develop for a platform that it’s not even funny.

There are many famous people in history who had a vision and although everybody else thought they were crazy, these people didn’t get influenced, followed their vision and found out revolutionary and ingenious things.
Of course it is well possible that your gaming OS won’t be a success but that doesn’t necessarily have to be the case. I think, if you have the time, the ambition and especially the knowledge to make a new OS, take it as a project and give it a try. If it will be successful, everything is fine and if not, you have still gained much knowledge and experience in machine-near programming (an area where many coders don’t know much about) that you can use for something else (e.g. a new job).
Personally I must admit that it would be to much work for me to start such a project (although I hacked a bit with boot sectors some years ago ). But if you have the ambition, why not giving it a try? In my opinion, there is not much to lose.

LaBasX2

Originally posted by VikingCoder:
Carmack said that it’s possible to double the performance of a game, if you’re running on a known platform. Well, a game OS would certainly get you a lot closer to being a “known platform.”

he means known hw platform. not software… the os doesn’t mather, the hw does. i don’t want to go back to win3.1 at all. never ever will i do if i don’t need to. you don’t get speed by disabling windows. just, uhm, run your game as full priority thread, you can set that and block the whole windows then… then you have the full power of the cpu… you will not gain speed really except if you are a full dedicated webserver behind, streaming out all you’re gaming life, hd-tv-resolution, or something like that

neighter windows nor linux hurts you in any way. but even so, you see that those, since years developed operating systems, (and both very good today in driver issues) can’t work on every hardware perfectly. why? even while they have very advanced support, still driver support is not easy (thats not because of windows, thats because of the every part of hw has to work with every possible combination of every other existing hw… ouch)…

with a big chance, you can’t even scratch with your own os at the power of your processors. they have complex operatingsystemhw there in (yes they have) and if you don’t use that, you’ll LOOSE_SPEED you would have else. you get that all for free, by using windows. or linux, of course…

what you want is a console. why can you code faster stuff on a console? because you know exactly how it works, and you can set everything in the hw, as you know its there. on a pc, you have to abstract away stuff if you want to run it on different platforms. that slows down. not windows. not linux. and even so, that doesn’t actually hurt performance by much. if your pc is slow, get a bether one, or update your drivers, and it will be fast…

Carmack said that it’s possible to double the performance of a game, if you’re running on a known platform. Well, a game OS would certainly get you a lot closer to being a “known platform.”
Coding for a gaming OS, even if everyone has the latest version, is not the same as coding for a console. Why? The hardware and drivers are different on different PCs. If Carmack was right, then that would explain why games for the N64 looked so much better than PC games at the time. IMO, a gaming OS would only bring you a little bit closer to the simplicity of coding for a console.

Edit: Oops, davepermen beat me to it

[This message has been edited by Aaron (edited 10-25-2002).]

It never ceases to amaze me that so many people want to write the next gaming platform (OS or library) yet so few actually want to write a game. Maybe it’s because games require artistic content and engineers assume they cannot create that.

The idea of a gaming OS platform is horribly flawed. You’d have no drivers unless you could somehow use them from other OSs and your performance would probably closely track theirs or be significantly worse. There would be little benefit for the reasons described in the previous two posts. If you don’t know this going in then you don’t even understand the basic principals and should probably choose a different project.

Try Linux with real-time extensions if you want something suitable. You pay for it with bloat but there’s so much there that should not be underestimated. How about working on a Linux distro with real time extensiosn and only stuff needed for games (what a concept). Build a platform by throwing the increasing bloat away and sticking with a few core libraries required to boot and load a game from CDROM. Make sure you read up on OpenML along the way.

Gaming platforms are now APIs because they need to abstract hardware and operating system differences but it is a double edged sword. If you really wanted to build a gaming platform as described originally you’d have to chose a hardware platform and stick with it and you’re basically starting a console project. That has already been attempted of course. You’ve never heard of it, which speaks to it’s level of success.

The bare bones real-time Linux OpenML platform is interesting, check to see if nobody else has started that project though. It could be a genuinely valuable project and would be about as close in spirit to your original vision as it is realistic to get and still succeed. Hmm… someone must be working on this already.