Author Topic: Roadmap : RetroFW/RS97 (Future improvements)  (Read 690 times)

gameblabla (OP)

  • **
  • Posts: 958
Roadmap : RetroFW/RS97 (Future improvements)
« on: March 22, 2019, 08:26:06 am »
Some people had asked (mostly curiously) what improvements that can still be made, even theoretically.
Here's a wish list :

  • IPU dynamic resizing support
Obviously one of the most requested feature and the one that would be the most significant in terms of improvements.
If you have access to kernel source code, you can actually change the virtual screen resolution to anything (256x224 etc...) as it would be then upscaled to 320x480.
But we would need to do it on the fly (We request a certain resolution, RetroFW detects said size and then upscales it accordingly).

Looking at the code, it would require some changes, especially if we want to do it the proper way.
The GCW0 already does this and it's definitely useful for some emulators/games.

  • BGR colorspace support
This one is a bit more specific to some emulators, mainly reGBA and PCSX4ALL.
There are some consoles like the GBA and PSX that natively work in the BGR colorspace.
Since the RS-97 (and other devices) work in the RGB colorspace, this requires some conversion.
Supporting this in the kernel would mean that the code for it can be greatly simplified :
https://github.com/gameblabla/pcsx4all/blob/master/src/gpu/gpulib/vout_port.c#L124
...which obviously results in greater speed.

GCW0 kernel has support for this in the upcoming kernel. There's also a patch for SDL to support this :
https://github.com/gcwnow/buildroot/commit/40685f89fa445b5f6db42ba67bbab3ead654d7a3

  • Support for the 2D accelerator inside of the JZ4760 (Vivante GC200)
The Vivante GC200 is a 2D accelerator that can rotate, resize, and accelerate 2D content.
Definitely not as useful as a 3D accelerator (Vivante refers to it as a compositing accelerator) but given that software rendering is expensive, this could be useful to accelerate the framebuffer.
TonyJih also said that the accelerator could be used to support for LCD screens which are expected to be rotated for landscape. (phone screens)

Etnaviv in the upstream linux kernel has DRM support for it. Stock kernel also has the GPLv2 vivante code but it is currently unknown how to use it from userspace as it is poorly documented.

Supporting the 2D accelerator would mean either to use the upstream linux kernel (doesn't currently support JZ4760 board), or use it in the stock kernel. (would require Tony to support this in the JZ4760 code)

Btw, that's also where the OpenVG claim support comes from.
OpenVG in itself however is not very useful and support for it got removed in Mesa 10.1, it never resulted in wide adoption. (if any)

  • VPU (also MXU related)
The VPU is a MIPS, general purpose cpu core that is intended for accelerating video content.
The only software to make use of it, Mplayer, is provided as part of the stock firmware. It can play back MPEG2 content.
However said Mplayer only targets the first generation of MXU (SIMD 1), not the second one. (SIMD 2)

Similarly related, the MXU is an instruction set that targets said VPU and is designed for video acceleration. This is what Mplayer uses to accelerate such content.

It was not possible to use mplayer on Useless because the rootfs was not compatible with it. (mplayer targets legacy dingux)
However, RetroFW now does have some compatibility with legacy dingux software so it's possible that mplayer works on it again.
(I need to test it and if it works, package it)

The GTE code(3D part of the PSX) in PCSX4ALL part5 also plans to make use of the MXU. This should result in greater speed on 3D games so stay tuned.

adventureFAN

  • *
  • Posts: 208
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #1 on: March 22, 2019, 12:30:53 pm »
Thank you very much for this small insight. Very interesting for me.

But what is BGR colorspace?
Is this the reason why the gba games so bright?
My Handhelds: PSP Vita, PSP (1000), New 3DS, NDS lite, GB SP (without Backlight), LCL GameBoy (RPI3A+ inside), GPD XD (non-Plus) and a RS-97 with RetroFW 1.2 (3.0).

Favorite: LCL GameBoy

gameblabla (OP)

  • **
  • Posts: 958
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #2 on: March 22, 2019, 12:49:16 pm »
But what is BGR colorspace?
BGR and RGB are color formats for the screen. The difference is that they are ordered in a different way. There's also YUV, RGBA etc... Look up on Wikipedia if you want to know more.
The GBA uses BGR555 for the palette in the 8-bits mode and also in its BGR555 bitmap mode.

Quote
Is this the reason why the gba games so bright?
That's unrelated to BGR colorspace. The real reason why was due to the fact that earlier GBA games relied on the fact that the first GBA models had no backlight/frontlight so they oversatured the colors as to look correct on the GBA.


This issue can also happen on real GBAs with backlight mod and Nintendo DSes.
« Last Edit: March 22, 2019, 01:28:56 pm by gameblabla »


gameblabla (OP)

  • **
  • Posts: 958
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #4 on: March 22, 2019, 01:11:50 pm »
opk support inc firmware updates via opk?
In theory possible ? But the GCW0 actually mounts those files while compressed. You may have noticed this already but if you have a huge collection of games/emulators, it would actually become sluggish before it loads the list of games/emus.
Given that the RS-97 is even slower than that, i think that the IPK way is the better alternative.

EDIT: As for firmware updates, these won't be possible on OPKs, due how they work. (they are actually mounted, not decompressed)
We need to have a rootfs at to boot to the OS and GmenuNx and all.
Also kernel area is writed protected so even if the rootfs could be updated, we can't touch the kernel.
« Last Edit: March 25, 2019, 12:48:52 am by gameblabla »

www123

  • *
  • Posts: 15
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #5 on: April 17, 2019, 07:41:16 am »
THANKS. I VERY LOOK FORWARD IT.

adventureFAN

  • *
  • Posts: 208
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #6 on: April 17, 2019, 09:25:45 am »


This issue can also happen on real GBAs with backlight mod and Nintendo DSes.
It is possible to add a color filter to ReGBA?
My Handhelds: PSP Vita, PSP (1000), New 3DS, NDS lite, GB SP (without Backlight), LCL GameBoy (RPI3A+ inside), GPD XD (non-Plus) and a RS-97 with RetroFW 1.2 (3.0).

Favorite: LCL GameBoy

gameblabla (OP)

  • **
  • Posts: 958
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #7 on: April 17, 2019, 11:12:49 am »
It is possible to add a color filter to ReGBA?
Yeah it would be possible but i'm not too familiar with that process nor how to get the de-saturation right...

hutzero

  • *
  • Posts: 8
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #8 on: April 17, 2019, 02:35:41 pm »
In my opinion 2D accelerator is very necessary for RS-97 Plus because there are so many screen-tearing effect. Hardware framebuffer in kernel is the best way to go. I saw this issue in the new Bittboy too. I hope you will succeed it in the near future.

Fishcakes

  • *
  • Posts: 57
Re: Roadmap : RetroFW/RS97 (Future improvements)
« Reply #9 on: April 17, 2019, 04:11:50 pm »
As always gameblabla, thanks for taking the time to do this and giving us a general idea of whats to come.

Id still like to say that id love to see tv out and i know im not alone on that one. We already talked about it, but i figured id mention it here in the hope(however slim) that it is eventually added.

 Hope you and the other devs know how much we appreciate the hard work.

 

Post a new topic