Update new firmware update (future SZ v1.74) - please help testing


notaz

Certified Guru
Joined
Aug 23, 2005
Messages
4,913
Location
Lithuania
Website
notaz.gp2x.de
  • kernel: updated to 3.2.78
  • kernel: the vsync code has been rewritten: multiple programs can now wait for vsync, it now works correctly when LCD is off and TV-out is on
  • kernel: added a new custom adaptive vsync ioctl
  • kernel: added a new custom ioctl to read the line counter
  • kernel: changed the LCD timings to reduce the VFP<->vsync window. Possibly reduced flicker in 50Hz mode too.
  • kernel: enabled the xpad (xbox/xinput compatible gamepad) driver (no idea why it was off...)
  • kernel: it's now possible to map memory at virtual address 0 (might be useful for some emulators)
  • kernel: fixed a SD card read corruption (reported by dgame)
  • kernel: the default SGX driver should no longer crash when display is turned off (usually when lid is closed) and 3D program is running
  • SDL: now uses the new adaptive vsync when SDL_OMAP_VSYNC is enabled
  • bluez: /etc/bluetooth/audio.conf defaults changed to enable the socket API. Note that this disables the dbus API, so you may need to edit the file if you need it. See http://www.lightofdawn.org/blog/?viewDetailed=00031 for more info.
  • fixed bluetooth suspend (patch by urjaman)

It all started when TomB contacted me about issues with vsync that he has been having (it's hard to do vsync when pandora is barely fast enough for the game without trashing performance) and I realized I often have trouble with that too. So I've thought of and implemented some kernel hacks to deal with it, after that collected some other fixes and here is the update.

I'm a bit worried about the new LCD timings because I think there are at least 3 different LCD types in various pandora batches. I'm also not sure about the 50Hz mode flicker, it sometimes doesn't show for me even with the old timings, I hope some Amiga fans can report if it helps or not.

So far it's a "System -> Upgrade pandora OS" update only, but if someone wants a full reflash I can build that too.
 
Last edited:
Just updated to SZ 1.73 Update 7 on my CC Pandora and (without other test) all is fine.

Thanks notaz:cool:
 
Oh, that sounds interesting!
I'll test it!

I hope nxengine will work a bit better, scrolling is anything but smooth right now :)
 
successfully upgraded. Nothing exploded so far.
 
I updated my CC. Tested a bit a few game (including F1-Spirit that swith LCD to 50Hz mode) and had no issue so far.
 
Just updated, first issue I seen is with Snes9x EX. Loaded a game and it shows a little white box in the upper right corner, going back into menu has all the menu textures corrupted (white boxes) exiting fixes it temporarily, reloading reproduces it. Started happening after I updated this morning.

GC pandora, haven't done any troubleshoot on it yet. Will try clearing app data and trying agian.

EDIT: nope that made it worse, unplayable video corrupted
EDIT2: had to kill all my save states, working now. Don't know if there's any correlation
EDIT3: nope something is definately corrupting my save states
 
Last edited:
Just updated, first issue I seen is with Snes9x EX. Loaded a game and it shows a little white box in the upper right corner, going back into menu has all the menu textures corrupted (white boxes) exiting fixes it temporarily, reloading reproduces it. Started happening after I updated this morning.
Which version is that? There are several on the repo.

Sounds more like SGX driver, maybe you changed it recently?
SGX driver problems are pretty much unfixable, the only thing you can do is try a different one.
 
I think it's his build 15, whatever was updated earlier this month. Was playing just fine up until I updated system software.

https://repo.openpandora.org/includes/download.php?app=snes9xex_ptitseb

The video corruption appears to just be a side effect of data written to SD getting corrupted. Will test some more things.
EDIT: deleted the app, redownloaded, cleared app data, cleared save states, problem returns.

The other SNES emulators i've tried so far remain unaffected.
 
Last edited:
I think it's his build 15, whatever was updated earlier this month. Was playing just fine up until I updated system software.

https://repo.openpandora.org/includes/download.php?app=snes9xex_ptitseb

The video corruption appears to just be a side effect of data written to SD getting corrupted. Will test some more things.
EDIT: deleted the app, redownloaded, cleared app data, cleared save states, problem returns.

The other SNES emulators i've tried so far remain unaffected.

Have you tried both versions of SNES EX that come in the PND? I have found the older version to be highly unstable in the latest release. While I am suspicious of my save states, it sounded like others were having issues as well. I have not yet tested with deleting my save states to see if the issue is corrected.

This could be OS related, but I have noticed issues with SNES EX on a unit that is still running SZ 1.72, so I am wary of blaming the OS here.

I'll try to test tonight if I can to see if deleting save states fixes things for me.
 
kernel: the default SGX driver should no longer crash when display is turned off (usually when lid is closed) and 3D program is running

how did you achieve that?
[doublepost=1456743900,1456743421][/doublepost]
I hope nxengine will work a bit better, scrolling is anything but smooth right now :)

Just tested in new firmware, no change. NXengine's problem is with the way the engine deals with scrolling, not with the Pandora :)
[doublepost=1456743963][/doublepost]
SDL: now uses the new adaptive vsync when SDL_OMAP_VSYNC is enabled

Does it mean that all PNDs have to be updated to take advantage of this if they use SDL ?
 
Does it mean that all PNDs have to be updated to take advantage of this if they use SDL ?
That environment variable is already in use on some PNDs to fix tearing. I believe all this is implying is it will now use an adaptive vsync method if using it.
 
any example of PND using this flag? I don't remember seeing it before.
Honestly though that is what I used opentyrian to fix some tearing issues, But looking at my start up script that may have been just "SDL_OMAP_FORCE_DOUBLE_BUF".
 
EDIT: deleted the app, redownloaded, cleared app data, cleared save states, problem returns.

The other SNES emulators i've tried so far remain unaffected.
I've tried it and it worked fine like 8 times in a row. Then did a reboot and got the symptoms you reported on first try. Booted the old kernel, it then worked a few times but crashed the SGX driver on third try.

By the looks of it it's the app's fault. Probably some random memory corruption which either hits critical parts of the program or not based on luck. When it hits the SGX driver (the driver blob lives inside of the program as a .so file, not kernel) it either breaks graphics or causes SGX hang, after which all hell breaks loose. The fact that 1.53 version of the same emu is unaffected supports this guess.

how did you achieve that?
The driver blob comes with some open source glue code (the kernel part). That particular problem was in the glue code (TI's adaptation layer by the look of it).

Does it mean that all PNDs have to be updated to take advantage of this if they use SDL ?
Only if you want to use vsync. Note that it's only useful in limited number of cases, similar like on the PC.

any example of PND using this flag? I don't remember seeing it before.
It's been implemented and documented for many years:
http://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=sdl_omap.git;a=blob;f=README.OMAP;hb=HEAD#l65

An example PND is Giana's Return. There are plenty more.
 
Just reflashed to 1.73 (to get the SD card goodness) and then upgraded to 1.74. Tested SNES9x-EX before and after, and the newer build worked fine in both.

I also happened to test Snes9x4P and noticed that it takes a lot longer after you exit the emulator to get back to picklelauncher since 1.73, compared to 1.72. 1.74 is no slower though.

I also tested Kroniax, which I had trouble with tearing before on my TV out only GHz unit. This is now much improved and almost silky smooth, thanks!
 
I've tried it and it worked fine like 8 times in a row. Then did a reboot and got the symptoms you reported on first try. Booted the old kernel, it then worked a few times but crashed the SGX driver on third try.

By the looks of it it's the app's fault. Probably some random memory corruption which either hits critical parts of the program or not based on luck. When it hits the SGX driver (the driver blob lives inside of the program as a .so file, not kernel) it either breaks graphics or causes SGX hang, after which all hell breaks loose. The fact that 1.53 version of the same emu is unaffected supports this guess.
Thanks for looking into this, if ptitseb doesn't see this I'll pass him a note.

In the mean time I'll use 1.53 or a different emu
 
Last edited:
I also happened to test Snes9x4P and noticed that it takes a lot longer after you exit the emulator to get back to picklelauncher since 1.73, compared to 1.72. 1.74 is no slower though.
It's also the app's fault. When you are in the menu, it keeps writing to the sound buffer while keeping the audio paused. When you exit it waits for the sound buffer drain out (play) and that's what causes the delay. If you enter the menu and quickly exit you won't get the delay.

I also tested Kroniax, which I had trouble with tearing before on my TV out only GHz unit. This is now much improved and almost silky smooth, thanks!
Well at least that worked.

Can anyone who had the LCD flicker in 50Hz mode check if it improved?
 
Back
Top