Release SuperZaxxon - Beta 3 released


Is it me or does the SNES9x emulator still play audio when going into suspend?
It needs to flush the audio chip's buffer when it shuts down. You might get a half second or so of audio as it does so, followed by a pop. Or do you mean that even while suspended and the screen is out it continues to play sounds?
 
Code:
setenv bootargs root=/dev/mmcblk0p1 rw rootdelay=2 vram=6272K omapfb.vram=0:3000K psplash=false

ext2load mmc 0 0x80300000 /lib/uImage

bootm 0x80300000


I didn't know about a /lib/uImage in pre-SZ releases.


-EDIT: Indeed i made a mistake.


I just don't remembered i updated this card with SZb1.


It was right when coming back from the trip. After that i made no upgrade.


Sry for the false alarm ^^.
 
Last edited by a moderator:
The direction of your guess is the only plausible explanation if the Pandora was indeed in proper Standby and not only in Low Power Mode BUT nevertheless the game has progressed as much as real time happened. Maybe some games calculate everything which happened in that long execution pause at once on resume, (and drop quite many many thousand frames to catch up).
Yeah I think that's exactly what's going on, it all depends on how the games are coded to react to large time jumps.


Super Geometry Dust: Sounds like a problem with SGX driver, I already know it can't suspend properly while 3D is active, not much can be done here because it's a closed blob for the most part.


Standby test in various PND applications + dmesg: Not much [to say], except that most of things you tested fail to suspend properly, I'm guessing it's related to sound, no ideas how to fix that at the moment.

So for the most applications the Pandora cannot properly suspend while 3D or sound is active?


This would affect a majority of applications! A solution would be appreciated!


The only app which suspended correctly in terms of power management was GNU Jump, but then again it failed concerning correct resume of game state.


Summarized: NONE of the tested games supsended/resumed properly in terms of power management and game state!


Details question from the dmesg log: What are the 2 power domains per_pwrdm and core_pwrdm which almost never enter target state 1 (exception: GNU Jump)? And what is target state 1?


And what about this:


keyboard: can't emulate rawmode for keycode XXX


XXX in my dmesg logs mainly being 139 191 193


Already filed bug FS#249 long ago, please look at it!
 
Summarized: NONE of the tested games supsended/resumed properly in terms of power management and game state!
True, although there is nothing I can do about game state, freezing time is not an acceptable solution as that will break other programs, as well as make system clock lag. If you run those games on Linux laptop and suspend the laptop, you'd get the same result on resume.


Could maybe think of some method to notify suspend to programs and post some sample code in wiki how to handle it, but I doubt it will help much, as most games are ports from PC where nobody cares about suspend.

Details question from the dmesg log: What are the 2 power domains per_pwrdm and core_pwrdm which almost never enter target state 1 (exception: GNU Jump)?
Parts of the OMAP chip roughly speaking, you can check the 3500-page "OMAP35x Applications Processor Technical Reference Manual" (TI Literature Number: SPRUF98V) if you are interested in details.

And what is target state 1?
Probably refers to this, it's TI code:


http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blob;f=arch/arm/mach-omap2/powerdomain.h;h=0d72a8a8ce4d36a00ce23fcfbe297d6087854c0f;hb=pandora-3.2#l29


I haven't measured it, but even with these failures current draw should be a lot lower than low-power mode on the old kernel.

And what about this:


keyboard: can't emulate rawmode for keycode XXX


XXX in my dmesg logs mainly being 139 191 193


Already filed bug FS#249 long ago, please look at it!
It used to do this on every keypress, on the new kernel it doesn't seem to, haven't really investigated. It would take full time job to deal with everything here, it would be good to at least bring all remaining features (like scaler filters) to the new kernel before starting with lower impact bugs.
 
Sound recording does not work with Beta 3. In Beta 2 I used


arecord -f cd -V mono -D hw:0,1 file.wav


But now I got arecord: pcm_read:1617: read error: Input/output error
 
Sure wish we had cryopid working on ARM targets:


http://cryopid.berlios.de/


This would be the ultimate solution: all PND-launched apps are cryopid'd on power-change, and defrosted on power-up ..
 
Isn't there a way to use bash job control before and after a suspend ?
How's that supposed to help with time jump problem?

Sure wish we had cryopid working on ARM targets:


http://cryopid.berlios.de/


This would be the ultimate solution: all PND-launched apps are cryopid'd on power-change, and defrosted on power-up ..
Would not help with the problem porg is reporting, time jump would still occur and game logic would still be confused.
 
Last edited by a moderator:
Hello


After I reported the freeze problems, I've flashed the beta again.


To prevent a bad flash, I've downloaded and unziped the files again.


Settings, I 've made are OP 5, CPU max. 1050 MHz, but running default @ 600 for the test.


Lid-Close-Setings to: "Go into low power mode"


WLan connected.


The same result. After exact 10 minutes, the Pandora freezed on kernel 3.2. LED for WLAN goes off and the Power LED looks like the device is in low power mode. Screen is on.


Is it possible, that a hardware error can only be there on the new kernel, but not on the old one ?


That's the output after the flash. (sorry for the big picture )

20120413_161430.jpg
 
Last edited by a moderator:
Would not help with the problem porg is reporting, time jump would still occur and game logic would still be confused.
would this still allow for more graceful suspend and potential power savings?


given that it would not change the way certian apps handles time progression
 
Concerning game logic:

  • Agreed: Messing around with the system clock just to aid apps with resume-problems is certainly not an acceptable solution.
  • I think the solution is to define the sleep/wake signal standard accompanied with documentation & sample code, and for those apps who do not implement it, to push the responsibility to the user, and to pause the game, before suspending the whole device, and hoping that the game resumes better then.


Concerning why "parts of the OMAP chip" (per_pwrdm and core_pwrdm) do not go to sleep properly for the most applications is worth further investigating. Don't you think? As mentioned GNUjump and MiniMenu suspend correctly, so they seem to be not at all utilizing or correctly utilizing "parts of the OMAP chip". (From your previous post, I thought that the mentioned parts are the "sound and the 3d" "parts of the OMAP chip", thatswhy my "details inquiry". Not out of curiosity, but just to know whether these parts are causally connected to 3D and sound, as I thought this is what you were hinting at.)
 
Last edited by a moderator:
Notaz, out of curiosity: How well does your own maintained PND software handle suspend/resume, both concerning game logic and entering standby properly?
 
Isn't there a way to use bash job control before and after a suspend ?
How's that supposed to help with time jump problem?
Dunno, was a blind idea ^^. I never used any form of suspend, even on laptops so it's all new here for me.


I suppose this is a problem encountered on other platforms ? If yes maybe there's some tricks other ppl found ? (blind idea, again)
 
Hmm, the old powersave mode sent a sigpause to all running PNDs, right?


Why not do the same before going into suspend?


That should be a standard, right?
 
I've found that neither of my USB hubs seem to work on the new kernel, but they work fine on the older one. I got a new wired mouse today, and found something else interesting on the old kernel. My wireless mouse would disable the nubs for all actions, but the wired mouse doesn't, can use either for mouse pointer movement.


(null)
 
I didn't know that command, my Linux knowledge is very limited indeed! Do I need to input this every time?


Thanks for the info(I know I've repeated some of the info across different threads!)
 
Last edited by a moderator:
Back
Top