mupen64plus-libretro-nx icon indicating copy to clipboard operation
mupen64plus-libretro-nx copied to clipboard

[META] Standalone

Open m4xw opened this issue 4 years ago • 18 comments

We will want to provide a easily extendable, very fancy GUI. Nobody should have a excuse not to use this core. The actual Interface will be Qt5/Qml, everything else must stay C/C++. Extensive debugging utils and frameworks for modders will need to be created, these will feature a native UI, while the fancy variants will all be custom designed. I will keep first-class libretro support, no matter how this goes, but this will open the doors for more specialized tricks as well as being a prototyping stage.

Help from designers would be appreciated, let me know if you want to help.

m4xw avatar Sep 19 '19 09:09 m4xw

@mudlord Interested? This will also be the first integration for multi-plugin support before it goes into libretro.

m4xw avatar Sep 19 '19 09:09 m4xw

@hhromic fwiw I will also be targeting Pi4 first class support for this, earlier variants will be better off with RetroArch tho. Standalone isn't about perf tho, just having more freedom and faster prototyping.

m4xw avatar Sep 19 '19 10:09 m4xw

@m4xw this sounds like a very good idea, kudos! Regarding targeting the Pi4, if more generically GLES2 is also a target, there is no reason to not target the RPI3B imho. With KMS/DRM/EGL programming for they both is very similar.

How do you plan to build this standalone? custom OS or on top of an existing OS?

Btw.. the RPI foundation recently released a beta for a 64-bits kernel they plan to eventually release officially, initially for RPI4 but also works in RPI3 with some quirks. I expect them to have it for both platforms when fully released.

hhromic avatar Sep 19 '19 12:09 hhromic

@hhromic UI will be Qt5/QML running on top of whatever (can make a distribution but it isn't really required) UI will primarily target GLES3 but GLES2 is compatible. Would it be possible to integrate it into retropie or is it strictly for cores?

m4xw avatar Sep 19 '19 13:09 m4xw

@m4xw yes it's absolutely no problem to integrate it into RetroPie, as it is very flexible. Don't forget that RetroPie is nothing else but a collection of shell-scripts to setup whatever retro-related, including compilation, installation and configuration.

However, RetroPie is strictly based on official Raspbian releases, so whatever is integrated must work with that first. Also beware that RetroPie does not have X11 installed, so your Qt application must use EGL or the like for window management.

So in summary, make the application work on official Raspbian with no X11 and it can be easily integrated in RetroPie (and also used without RetroPie). Let me know if I can help once you have something running.

hhromic avatar Sep 19 '19 13:09 hhromic

@hhromic It uses eglfs/kms/GBM, there should be no issue then ;)

m4xw avatar Sep 19 '19 14:09 m4xw

When will it come out? And is there already a test release? And how will the gui look like?

ghost avatar Feb 18 '21 16:02 ghost

AFAIK there is no ETA.

For this reason and others, I did my own libretro core loading thing to compensate, though it still lacks many things the public might want, like post process shaders.

mountnside avatar Feb 26 '21 05:02 mountnside

No ETA as usual. Actually didnt find time to work on this for the last 3/4 year

Heres some mockups: image

m4xw avatar Feb 26 '21 11:02 m4xw

I thought what they were looking for was more like something Project64 like. Or even Snes9x. I do wonder how hard it could be sometimes to port einweggerat to Qt, since now my main system is an i9.

I was considering a while back forking parallel, again, and then experimenting with the drastic timing changes which i started on with the auto-count-per-scanline interrupt work. But then that means rewriting both the interpreter and the recompiler. And all interrupt handling.

mountnside avatar Feb 26 '21 21:02 mountnside

I thought what they were looking for was more like something Project64 like

I will support a normal desktop UI as well, i will just make it up as i go tho, for fancy stuff i need reference designs :P The mockups were aimed at "couch potato UI"

m4xw avatar Mar 02 '21 20:03 m4xw

Honestly, I'm really excited for the "couch potato UI". I hate Project64's UI and I am totally looking forward to having this! This would be the first Nintendo 64 emulator with a fancy UI. It's really cool.

Nihilhem avatar Mar 02 '21 22:03 Nihilhem

Its the UI i will implement first (already got a poc for the game view), now with Qt6 tho i need to rework all the effects..

m4xw avatar Mar 02 '21 22:03 m4xw

Awesome. Take your time, I don't want you to burn out and abandon this forever!

Nihilhem avatar Mar 02 '21 22:03 Nihilhem

Also one of the big things i want to push for the standalone UI, is community texture pack integration, including a platform where people can submit them (+ review/moderation)

m4xw avatar Mar 02 '21 22:03 m4xw

Awesome. Take your time, I don't want you to burn out and abandon this forever!

I don't plan to, it's just its low prio since the UI wont work on Switch until I port Qt :P

m4xw avatar Mar 02 '21 22:03 m4xw

Also one of the big things i want to push for the standalone UI, is community texture pack integration, including a platform where people can submit them (+ review/moderation)

Wow, that's certainly impressive. It'd surely make things a lot faster and convenient, so I think it's a great idea :)

Nihilhem avatar Mar 02 '21 22:03 Nihilhem

Awesome. Take your time, I don't want you to burn out and abandon this forever!

I don't plan to, it's just its low prio since the UI wont work on Switch until I port Qt :P

I understand. I don't know anything about this stuff but it does seem to take a lot effort. I'll be waiting!

Nihilhem avatar Mar 02 '21 22:03 Nihilhem