Kodi Community Forum
RetroPlayer Test Builds (updated for Nexus) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Game support (https://forum.kodi.tv/forumdisplay.php?fid=292)
+--- Thread: RetroPlayer Test Builds (updated for Nexus) (/showthread.php?tid=173361)



RE: RetroPlayer Test Builds (updated for Nexus) - garbear - 2023-07-17

Looks like the lockup is due to a mutex I added. I'll put out another test build without the mutex. That should fix the problem. I'll let you know when the build is up.


RE: RetroPlayer Test Builds (updated for Nexus) - garbear - 2023-07-18

New round of builds! I added a cool new feature - controllers in the GUI are highlighted in realtime when you push buttons! The highlighting is also proportional and fades gradually in and out when you press analog triggers/analog sticks.

https://github.com/garbear/xbmc/releases

Image

Image


(2023-07-16, 11:52)sunlollyking Wrote: Using the new port manager i've been trying to test out rumble through my 8bitdopro2. However every time i try switch to the DualShock control profile i get a system lockup and and a reset. Not sure if you're aware of it. Here's a log:
https://gist.github.com/sunlollyking/1cd475693ba680bded25f11386a447d8
 
This should be fixed now. Can you give the latest 2023-07-17 builds a try?


RE: RetroPlayer Test Builds (updated for Nexus) - sunlollyking - 2023-07-18

I'll get some logs posted up in the next few hours some weird behaviour noted.

Loaded up Metal Gear Solid (PCSX ReArmed) use case here is that i wanted to try out Rumble and Analog and this being a game that uses both!
As soon as i switched the control profile to Dualshock analog, i got a LE restart
EDIT - Here's the log https://gist.github.com/sunlollyking/22f8939b60532b8f8770e9eb684af7cc

I then loaded up a new PS1 game to load. I can see my control profile now being listed as Dualshock Analog but my controls didn't work (I thought i had a profile saved, maybe i didn't) This waited about 20 seconds before causing an LE restart. I also saw strange behaviour where within PCSX i've got the bios screen enabled (for nostalgia purposes only) and the last 1 second of audio would play on loop for about a minute or two into the game actually loading over the top of the game audio.
EDIT - Here's the log https://gist.github.com/sunlollyking/d72b8a2d1e8815ce26ccc48dbc2a7fa1
Outside of that the new changes within port setup with the ability to see your own control works great!


RE: RetroPlayer Test Builds (updated for Nexus) - OmniBlade - 2023-07-18

Once the player manager is ready, it would be nice if we could configure if contollers rearranged their order or not, with controllers conencting/disconnecting taking any vacant spots. It would also be nice if wireless controllers with indicators of which controller they are changed their LED state to reflect where they are in the order (though I suspect that will require platform specific chicanary).


RE: RetroPlayer Test Builds (updated for Nexus) - garbear - 2023-07-19

Another day, another build! This time I've fixed the crashes when changing controllers. Also, when you select a controller in the Player Viewer, you can change the controller's settings:

Image

(2023-07-18, 10:50)sunlollyking Wrote: Loaded up Metal Gear Solid (PCSX ReArmed) use case here is that i wanted to try out Rumble and Analog and this being a game that uses both!
As soon as i switched the control profile to Dualshock analog, i got a LE restart
EDIT - Here's the log https://gist.github.com/sunlollyking/22f8939b60532b8f8770e9eb684af7cc

I then loaded up a new PS1 game to load. I can see my control profile now being listed as Dualshock Analog but my controls didn't work (I thought i had a profile saved, maybe i didn't) This waited about 20 seconds before causing an LE restart. I also saw strange behaviour where within PCSX i've got the bios screen enabled (for nostalgia purposes only) and the last 1 second of audio would play on loop for about a minute or two into the game actually loading over the top of the game audio.
EDIT - Here's the log https://gist.github.com/sunlollyking/d72b8a2d1e8815ce26ccc48dbc2a7fa1
Outside of that the new changes within port setup with the ability to see your own control works great!

I found the problem in the new player manager code. Can you give my 2023-07-18 build a try?

(2023-07-18, 14:37)OmniBlade Wrote: Once the player manager is ready, it would be nice if we could configure if contollers rearranged their order or not, with controllers conencting/disconnecting taking any vacant spots.

Now that selecting a controller opens the Peripheral Settings dialog, I consider the Player Viewer feature-complete. I would PR it in this state.

Going forward, the next step is to transform the Player Viewer into a Player Manager. How would configuration and controller ordering work?

(2023-07-18, 14:37)OmniBlade Wrote: It would also be nice if wireless controllers with indicators of which controller they are changed their LED state to reflect where they are in the order (though I suspect that will require platform specific chicanary).

Yes, this requires interacting with the OS's joystick driver. Totally doable, but one of those "nice-to-haves" that I can get to once the main Player Manager is complete.


RE: RetroPlayer Test Builds (updated for Nexus) - sunlollyking - 2023-07-19

Im still getting a crash when trying to change. This time the behaviour is as follows
Load up metal gear solid (via savestate) pscx rearmed.
Then tried to switch the controller profile from dualshock to something else and it restarts. I'll try provide a log later in the day.
Interestingly my controller supports rumble, I've enabled it in pcsx settings and I feel the rumble when I sync it to Kodi but I can't get it to trigger in any games. Any thoughts?

Great output the last few days ! You're so so close !


RE: RetroPlayer Test Builds (updated for Nexus) - OmniBlade - 2023-07-19

So in my mind and based upon how the player viewer already looks the selection would work like the old EA games on the SNES and Megadrive where you have controllers unassigned and can move them across to which team that controller will control players on.

You work out which icon corresponds to your controller and move it to the slot you want it to connect to in the emulated system.


RE: RetroPlayer Test Builds (updated for Nexus) - garbear - 2023-07-19

(2023-07-19, 09:35)sunlollyking Wrote: Im still getting a crash when trying to change. This time the behaviour is as follows
Load up metal gear solid (via savestate) pscx rearmed.
Then tried to switch the controller profile from dualshock to something else and it restarts. I'll try provide a log later in the day.

From what I've seen in the logs, it looks like a core error that I have to debug. I can't load debug symbols on Windows due to the core's compiler. Linux crashes on the first frame. macOS has a black screen, and I can't reproduce the crash when switching controllers. I'm not sure what left to try.

(2023-07-19, 09:35)sunlollyking Wrote: Interestingly my controller supports rumble, I've enabled it in pcsx settings and I feel the rumble when I sync it to Kodi but I can't get it to trigger in any games. Any thoughts?

I can look into rumble support though. What game can I use to test rumble?

(2023-07-19, 19:41)OmniBlade Wrote: So in my mind and based upon how the player viewer already looks the selection would work like the old EA games on the SNES and Megadrive where you have controllers unassigned and can move them across to which team that controller will control players on.

You work out which icon corresponds to your controller and move it to the slot you want it to connect to in the emulated system.

I pulled up FIFA and saw how it worked. I'll do something like this.


RE: RetroPlayer Test Builds (updated for Nexus) - sunlollyking - 2023-07-19

Metal Gear Solid and Gran Turismo 2 are good ones for rumble


RE: RetroPlayer Test Builds (updated for Nexus) - garbear - 2023-07-20

Update on the Player Manager. I think I figured out how it will work. I added a row for "Players" that shows their avatar, along with the virtual port that they're assigned to:

Image

Pressing left/right on the controller in this window will reassign the controller to a different virtual port/avatar, but the player will stay constant. You can also select a controller in the controllers list, and map it to multiple virtual ports/avatars (e.g. a single keyboard can control multiple virtual ports).

The vertical column can be seen as each player's "buttonmap". The vertical column can contain multiple (maybe partially-mapped) controllers. And controllers can be mapped to multiple virtual ports/avatars. This way, we have many-to-many controller mapping.

Clicking on the "Player" row lets you configure players individually and remap them to different virtual ports:

Image

Pressing left/right in the player list will reassign your player account to a different virtual port. When you return to the main window, your "buttonmap" will have travelled left/right with your avatar.


RE: RetroPlayer Test Builds (updated for Nexus) - garbear - 2023-07-25

So when faced with the inevitable, that my Player Viewer would be lost without upstream inclusion, I've PR'd the thing: https://github.com/xbmc/xbmc/pull/23548

Hopefully its unfinished state will find someone useful.

Any feedback is helpful in getting it merged.

Test builds for all platforms are here: https://github.com/garbear/xbmc/releases


RE: RetroPlayer Test Builds (updated for Nexus) - sunlollyking - 2023-07-25

Cool - i'll get it installed. I take it no further features going into Kodi 21. This will most likely be it ?
Did you manage to look at Rumble at all ?


RE: RetroPlayer Test Builds (updated for Nexus) - corus - 2023-07-25

Hi,
first thank you very much for your effort in enhance Kodi for Gaming!

I just started to explore the ability of Kodis retroplayer and came through some questions (I'm sure some of them are already answered in this thread, but I couldn't find them).

1. As far as I understood, currently there is no opengl support in Kodi's retroplayer but you added this in your builds?
2. N64 and Wii (Dolphin?) or PlayStation 2 emulators need opengl support, so if you support it, those emulators are working?
3. When I use your libreelec builds, do I still get updates from libreelec?
4. Are you builds for Nexus already good enough for daily usage? (Aside from gaming, so normal usage like watching TV, shows, YouTube etc)

I've got a new 13. Gen Intel NUC with an i3 and would like to test your builds but without having much trouble in daily usage.


Thank you.


RE: RetroPlayer Test Builds (updated for Nexus) - garbear - 2023-07-25

(2023-07-25, 12:42)sunlollyking Wrote: I take it no further features going into Kodi 21. This will most likely be it ?

I spend 2 or 3 months on Kodi each year, July is drawing to a close but later this year I'll return and create more. I'm really happy with the state of v21 though.

(2023-07-25, 12:42)sunlollyking Wrote: Did you manage to look at Rumble at all ?

Not yet, rumble is top of my list when I'm able to sink time into Kodi next.

(2023-07-25, 13:00)corus Wrote: 1. As far as I understood, currently there is no opengl support in Kodi's retroplayer but you added this in your builds?
2. N64 and Wii (Dolphin?) or PlayStation 2 emulators need opengl support, so if you support it, those emulators are working?

We don't have GL emulator support yet, needed for the 3D games. It's really hard because Kodi is a super complicated mulithreaded GL program itself, not a basic emulator that only does GL rendering.

(2023-07-25, 13:00)corus Wrote: 3. When I use your libreelec builds, do I still get updates from libreelec?

No, because then you would lose my specializations, but if you ever want a new or updated build just come here and ask. It's also harmless to update from my build to a vanilla LibreELEC release.

(2023-07-25, 13:00)corus Wrote: 4. Are you builds for Nexus already good enough for daily usage? (Aside from gaming, so normal usage like watching TV, shows, YouTube etc)

Yes, I purposefully keep my 20.2 builds as stable as the latest Nexus release. Aside from games there's no difference. It looks like I'm doing builds for everyone but I'm really doing builds for my own daily usage Wink


RE: RetroPlayer Test Builds (updated for Nexus) - KOPRajs - 2023-07-26

(2023-07-25, 22:19)garbear Wrote: We don't have GL emulator support yet, needed for the 3D games. It's really hard because Kodi is a super complicated mulithreaded GL program itself, not a basic emulator that only does GL rendering.

Any good news regarding this? I'm watching the status of the PR for removing the global VAOs with hope that when it gets merged, we can finally get the libretro GL support. Is it still possible to get it into v21?
 
(2023-07-19, 19:41)OmniBlade Wrote: So in my mind and based upon how the player viewer already looks the selection would work like the old EA games on the SNES and Megadrive where you have controllers unassigned and can move them across to which team that controller will control players on.

Actually, the sport games (even the new ones and even on PC) are where this idea came from. Except that the default for Retroplayer should be to have all controllers assigned automatically.
 
(2023-07-20, 04:56)garbear Wrote: Clicking on the "Player" row lets you configure players individually and remap them to different virtual ports:

It looks nice, but what exactly is the purpose of the player profile except to set the avatar? It seems to add a lot of complexity, but I can't imagine a real usage of it.