Minimal Gaming Os Possible?


DaveC

Internal Development
Joined
Mar 4, 2004
Messages
9,208
In another thread I stated that running Sonic on Picodrive ws dropping frames even more than on a Wiz! I just thought it was because things were early but that doesn't sound like the case. If this does that how will stuff like PSX be able to run?

This bit of info was of concern. If Notaz said it it is 100% fact and it is worrysome (sorry Notaz to use your info):

notaz said:
DaveC said:
I noticed these frame drops too. I was quite surprised by this as it actually runs smoother on the Wiz! It drops quite a bit even in a simple game like Sonic 1.
yeah it's the OS, I can't do anything in the emu itself to solve this.

DaveC said:
I am running this from mini menu not XFCE (I boot directly into mini menu) and it still stutters and has an uneven framerate. This probably rules out XFCE wifi issues. Even the unoptimised SNES 9x emu runs more consistant. It is really weird.
NetworkManager is still doing scans even in minimenu.. There is quite a lot of stuff running even in minimenu mode really.

:eek:

Quite allot of stuff running? Network manager? Scans? Even if we are just playing a game? Can't do anything to solve this(emu)?

My question is can there be a mimimal OS running when we start minimenu that disables all of that crap? Is there a way of setting up something so when you just want to play something it suspends all of those other tasks and just single tasks the emu/game?

Developers are going to have to not rely on X to do everything to speed things up but will they take the time? It seems to get to the real performance of the Pandora and not just perform like a stuttering Wiz with a keyboard some thought has to be given to some sort of miniOS.

I know I am not the only one who would like to play games on this with out stuttering and pauses. When we start getting up there in systems like PSX, N64 (Ok this one will probably always have issues), Jaguar, 32X etc it seems we will start to really need all of the oomph possible and running all of these tasks at the same time in the background will start to really become a problem.

So to the OS dev guys, is it possible to make a miniOS that could use minimenu to load to reduce overhead? How will that work when devs of emus and games start relying more and more on having the other bigger OS running? Should there be some kind of standard set now so when/if a smaller OS is made things will still work?
 
Last edited by a moderator:
I'm sure when some tweakers get ahold of the Pandora things will change. I recall ED in another thread said he was able to disable alot of services and trim down the OS further without causing any issues, but at that point they were aiming at stability for mainstream release so he didn't put the changes into the main OS in fear of possibly breaking something that was already working. Scripts can be called upon changing to/from minimenu to disable/enable many of services that would only be used in full desktop mode I'm sure.

There's just been more important issues to deal with besides this kind of optimization.
 
Elanzer said:
I'm sure when some tweakers get ahold of the Pandora things will change. I recall ED in another thread said he was able to disable alot of services and trim down the OS further without causing any issues, but at that point they were aiming at stability for mainstream release so he didn't put the changes into the main OS in fear of possibly breaking something that was already working. Scripts can be called upon changing to/from minimenu to disable/enable many of services that would only be used in full desktop mode I'm sure.

There's just been more important issues to deal with besides this kind of optimization.
I hope you are right. Hopefully Devs will consider that some of this stuff may be disabled so if it is, games won't break.
 
Last edited by a moderator:
Well, I played hours of hours of PicoDrive and SNES already... but I never had any hangs (the gp2x had more hangs....)
I always have WiFi disabled unless I use it, though - as scanning doesn't only need CPU power, but WiFi without a connection eats up your battery life.
So it's best to disable WiFi on boot.
 
I really wasnt expecting this, I love the OS that the pandora has, its looks brilliant, but there really should be a way of disabling almost all of it so we can run emulators to its full potencial, it would be really disapointing that other les powerfull handhelds would work better because they dont have such a profesional OS working in the backgroung.

Emulatos is a huge part of Pandora, hope that we can take full potencial of its capacities to run lots of emulators flawlesly, hope some of the brilliant programers from the comunity come up with a solution.
I want Pandoras hardware to be focusing 100% on the game when I am playing amulators, not 90, 70 or 50% because of the OS.

Hope EvilDragon or other programers addres this ASAP.

Thanks guys. :)
 
Hmmmm this kinda reminds me of the chatter between OS usage for xbox360 and PS3...
Xbox is very minimal only using 3% of the resources, while PS3's was a lot higher (at launch maybe now that's been fixed).

I certainly agree that a very minimal OS for gaming would be a good thing :)
 
I don't think that Linux services, without specific additionnal bug, will cause stutters or slow down or anything. This is an explanation often given to stutters, but I don't really believe in it. It eats up a little bit of memory, but that's all. They don't require a lot of CPU power, the OS does its job well, so you should not run into problems, unless you actually have a specific problem with a specific service which does not run as it should.

I remember having played with PSX, Megadrive or SNES emulators, or games (Quake 2 among others) on 500 MHz PC running Suse/KDE (which is not supposed to be a very lightweight Linux distribution), without any kind of stutters (and I hate stutters, you can be usre I would have seen them if there were there), and I did not have to stop any kind of services.

One problem with X, I think, is vertical synchronisation. I don't think it is possible without specific extensions like DGA (at least the last time I checked, some years ago). I don't know how this problem is handled on Pandora.
 
Well, when doing nothing, the Pandora also only uses 3% CPU Speed.
I doubt you will gain much more speed when using a minimal mode - except for bootup :)
 
just wondering, if os background processes really disturb the programs, why immediatly go for minimal os?
wouldn't an os with realtime abilities be equally good? i know there's a way to add realtime capabilities to your linux os (although i got 0 experience with it), and wouldn't the effect be just as good? having a scheduler that gives your emulator realtime priority and doesn't let anything interrupt it?
 
Racemaniac said:
just wondering, if os background processes really disturb the programs, why immediatly go for minimal os?
wouldn't an os with realtime abilities be equally good? i know there's a way to add realtime capabilities to your linux os (although i got 0 experience with it), and wouldn't the effect be just as good? having a scheduler that gives your emulator realtime priority and doesn't let anything interrupt it?

The goal of RTOS are basically increased reliability isn't it ? So that you can be sure that an operation has been done at a given time. It's goal is not to archive better performance.
I am definitely not an expert but check the wikipedia entry.
 
Last edited by a moderator:
marshal said:
Racemaniac said:
just wondering, if os background processes really disturb the programs, why immediatly go for minimal os?
wouldn't an os with realtime abilities be equally good? i know there's a way to add realtime capabilities to your linux os (although i got 0 experience with it), and wouldn't the effect be just as good? having a scheduler that gives your emulator realtime priority and doesn't let anything interrupt it?

The goal of RTOS are basically increased reliability isn't it ? So that you can be sure that an operation has been done at a given time. It's goal is not to archive better performance.
I am definitely not an expert but check the wikipedia entry.
the goal of a real-time os is to provide some processes the ability to work on timing critical issues. this means they need the ability to prevent being preempted by the scheduler, being interrupted by other tasks... isn't that what we want for our emulators? full control, not being interrupted by os processes (which is causing the framedrops)?
if our problem is memory, the os taking up too much memory, i agree wee need a minimal os
but if it's them getting interrupted by os processes, adding realtime features to the current os would be sufficient. we could keep a full featured os, and provide emus the ability to work as if it weren't there.
 
Last edited by a moderator:
Racemaniac said:
the goal of a real-time os is to provide some processes the ability to work on timing critical issues. this means they need the ability to prevent being preempted by the scheduler, being interrupted by other tasks... isn't that what we want for our emulators? full control, not being interrupted by os processes (which is causing the framedrops)?
if our problem is memory, the os taking up too much memory, i agree wee need a minimal os
but if it's them getting interrupted by os processes, adding realtime features to the current os would be sufficient. we could keep a full featured os, and provide emus the ability to work as if it weren't there.
That's a very complex solution to a simple problem, though.
It would require a lot of testing of a new kernel, and the few emulators that could benefit would have to be rewritten anyway.

I think DaveC was incorrect to call this a "minimal OS", all we're talking about is killing background processes.

EDIT:
I'm not even sure why everyone's clamouring for every scrap of performance already...
The Pandora is a LOT more powerful than the Wiz, and emulators for anything older than the PSX should run fine.
Come back when you have something that is actually being slowed down after optimisation.
 
Last edited by a moderator:
Aninhumer said:
Racemaniac said:
the goal of a real-time os is to provide some processes the ability to work on timing critical issues. this means they need the ability to prevent being preempted by the scheduler, being interrupted by other tasks... isn't that what we want for our emulators? full control, not being interrupted by os processes (which is causing the framedrops)?
if our problem is memory, the os taking up too much memory, i agree wee need a minimal os
but if it's them getting interrupted by os processes, adding realtime features to the current os would be sufficient. we could keep a full featured os, and provide emus the ability to work as if it weren't there.
That's a very complex solution to a simple problem, though.
It would require a lot of testing of a new kernel, and the few emulators that could benefit would have to be rewritten anyway.

I think DaveC was incorrect to call this a "minimal OS", all we're talking about is killing background processes.
afaik, the realtime linux is something that a regular linux kernel runs on top of, with some small modifications. so it would mainly mean porting the realtime linux, not extensively modifying the current kernel. and yes, it might be harder than a minimal os, dunno, but it might be a nice solution :)
 
Last edited by a moderator:
Aninhumer said:
Racemaniac said:
the goal of a real-time os is to provide some processes the ability to work on timing critical issues. this means they need the ability to prevent being preempted by the scheduler, being interrupted by other tasks... isn't that what we want for our emulators? full control, not being interrupted by os processes (which is causing the framedrops)?
if our problem is memory, the os taking up too much memory, i agree wee need a minimal os
but if it's them getting interrupted by os processes, adding realtime features to the current os would be sufficient. we could keep a full featured os, and provide emus the ability to work as if it weren't there.
That's a very complex solution to a simple problem, though.
It would require a lot of testing of a new kernel, and the few emulators that could benefit would have to be rewritten anyway.

I think DaveC was incorrect to call this a "minimal OS", all we're talking about is killing background processes.

EDIT:
I'm not even sure why everyone's clamouring for every scrap of performance already...
The Pandora is a LOT more powerful than the Wiz, and emulators for anything older than the PSX should run fine.
Come back when you have something that is actually being slowed down after optimisation.
The problem is the occasional hiccups in frame rate unrelated to the emulators, being caused by something in the background processes.

Has there been better results turning WiFi off before playing?

I think what would be neat is to kill anything the game/app dosnt need, then restoring after the game/app has exited.
 
Last edited by a moderator:
right now the biggest problem is networkmanager scanning for new nets .. this should be disabled by apps that dont need it (/etc/init.d/network stop) ..

also there is an issue with sound that needs fixing .. underruns on audio threads will cause blocking glitches.

and lastly there is the issue of async writes and sd/nand management .. needs tweaking by apps for maximum performance as well.

so some easy things can be done to smooth it all out. its early days yet ..
 
torpor said:
right now the biggest problem is networkmanager scanning for new nets .. this should be disabled by apps that dont need it (/etc/init.d/network stop) ..

I highly recommend to NOT do it this way, if you really want to do it do it in a wrapper around your original application (as bash script for example). However, turning off the network is really brutal because it's a global action and might prevent other applications from working correctly.
Instead of this those developers who need the extra performance should request something for the PXML so users are warned before and it's cleanly shut down, then restarted when the app quits.
 
Last edited by a moderator:
Er, cant you just have some kind of process prioritisation? Maybe I'm a dickhead (yes.. yes I am) but I like to use core tuner on my PC to make everything low priority and boost the emulator I'm currewntly using on my PC, surely there's a similar thing in linux?
 
a mini-os (dual boot?) would be very appreciated for those who use their pandora exclusively for games.
the advantage is not only for the speed of the games or the cpu charge, but also for a shortest booting time of the pandora

:)

it would be great
 
Back
Top