Jump to content
LaunchBox Community Forums

Plex Arcade


tribe fan

Recommended Posts

It looks like Plex is now a player in the gaming front end race:

https://www.plex.tv/arcade/

I’ve been using Plex for a while and always thought it’d be a great platform for running retro games. Did not see this ever happening though. It definitely doesn’t have the eye candy of HyperSpin or Big Box, but the fact it uses libretro cores to launch adds a lot of extra functionality from within the frontend (I’ve never understood why other frontends don’t use libretro cores to bypass the whole extra layer of an ahk powered launcher). The ability to stream games is an intriguing feature too.

Why doesn’t Launchbox rely on libretro cores for game launching? It could still allow for the ability to add external emus, but use libretro cores by default. 

Link to comment
Share on other sites

12 minutes ago, tribe fan said:

It looks like Plex is now a player in the gaming front end race:

https://www.plex.tv/arcade/

I’ve been using Plex for a while and always thought it’d be a great platform for running retro games. Did not see this ever happening though. It definitely doesn’t have the eye candy of HyperSpin or Big Box, but the fact it uses libretro cores to launch adds a lot of extra functionality from within the frontend (I’ve never understood why other frontends don’t use libretro cores to bypass the whole extra layer of an ahk powered launcher). The ability to stream games is an intriguing feature too.

Why doesn’t Launchbox rely on libretro cores for game launching? It could still allow for the ability to add external emus, but use libretro cores by default. 

With the new Plex Arcade you still have to go and download the cores, so not really any different to Launchbox in that regard, this is due to licensing reasons, you cant supply retroarch or its cores with a paid product. Launchbox has a paid option, and in order to use the Plex Arcade you have to pay a monthly subscripion, $2.99 for existing Plex Pass users, or $4.99 if you don't have a Plex Pass subscription, so due to the license Retroarch uses it cant be provided with products that charge for there use.

Link to comment
Share on other sites

So Launchbox could still maintain the software as a paid service, but require users to download the cores externally? I don’t see that as a dealbreaker as long as the frontend itself was able to seamlessly manage the cores. The extra functionality like save state and controller management from within the front end makes it an intriguing option over what it is now: basically an emulator Swiss Army knife. I can imagine Launchbox being a simplified version of Retroarch with way more dumbed down menu options and all the eye candy we enjoy now. 

Edited by tribe fan
  • Like 1
Link to comment
Share on other sites

The Retroarch team has been very clear that they do not want Retroarch used in this way. So basically, any company that does (including Plex) is doing so legally (at least *arguably* legally), but they're doing it against the wishes of the Retroarch team.

It's worth noting that we *did* reach out to the Retroarch team a while ago to discuss this as a possibility. They actively discouraged it.

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...
21 hours ago, Pixelpiper said:

It's not only legal, it's not even remotely against the terms of the GPLv3 license (IMO, Libretro team can suck it). It IS however kludgy as hell to have to use Retroarch itself to do the core downloading - but I suppose it's easier than telling people to go to github to pull cores manually. The RA front end exists as en example, others are supposed to make their own front ends, which is what Plex are doing, even if their current offering isn't full featured yet.

I don’t think it’s a huge deal having to manually download the cores. There’s even third party software like stellar updater that can automatically pull all the core updates from the repository for you. My bigger issue is with the way Plex is using libretro if it is in fact against their wishes. If I’m understanding correctly, they don’t want libretro cores used outside the RetroArch ecosystem?

Link to comment
Share on other sites

1 hour ago, Pixelpiper said:

No, that's not it. Libretro is a cross-platform API (in their own words), with Retroarch as the reference Front End (it shows what can be done). RA is not the end-goal of Libretro, it's a concurrent project that makes use of Libretro but anyone can implement the API and use cores into their own front ends without Retroarch. That's entirely the concept of the project.

Commercial products can't use the Retroarch front end because its license is GPL v3.  But licensing for the Libretro API is MIT, which absolutely allows commercial use.

Plex should not be using Retroarch at all, even if they're not providing it - It's not against the terms of the GPLv3, but definitely goes against the spirit in that its use (by the customer) is supporting someone else's paid/commercial venture. But they can (and should) use Libretro cores and API.

That really begs the question as to why it’s not implemented by more frontend projects. There’s a libretro core for virtually every retro console imaginable now. I don’t know anything about the coding aspects, but it would seem to greatly enhance the functionality of the frontend. Launchbox is incredible at what it does now, but I’d think implementing libretro cores directly would allow for more seamless game launching and the potential for other features native to the frontend (save states and input control to name two). I imagine it being an emulator GUI on steroids while simplifying a lot of retroarch’s more complex features (input lag, filters, etc.).

  • Like 1
Link to comment
Share on other sites

Just now, Pixelpiper said:

I think he means it would allow a developer to implement their own. A LOT of work.

Yeah, a lot of work for no reason when a user can simply unzip Retroarch anywhere on there PC and direct Launchbox at it, no need to spend that time and money on re-inventing the wheel.

Link to comment
Share on other sites

11 minutes ago, Pixelpiper said:

There are a number of projects with support, including Kodi.

https://docs.libretro.com/development/frontends/

I think availability or lack thereof comes down primarily to one thing: The enormous amount of work.

If you're thinking of an Open Source project, then you have existing ones to compete with for manpower. If you're going it alone, it's a lot less work to write patches for existing projects than to start your own. And if you're going it alone, you're also not likely to be able to handle a commercial project at the scale needed - unless you have deep pockets to hire help. But then, see above regarding competition from free projects. :)

That all makes sense. I’m probably misunderstanding/underestimating how much of the heavy lifting retroarch is managing in conjunction with the cores. I’ve checked out Ludo frontend (which is similar to what I’m describing), but it’s very visually minimalistic. Would be cool to see that project evolve into something more closely resembling Big Box. Could another nonstarter for this kind of project be the potential for negative attention from the big game developers? They can’t argue against developers writing software that emulates their old hardware, but I could see where they’d take issue with software that emulates their hardware AND borrows their art assets. Maybe keeping the frontend software separate from the emulation software is how all of this has managed to stay out of legal crosshairs?

Link to comment
Share on other sites

  • 1 month later...
On 1/29/2021 at 10:56 AM, tribe fan said:

Has anyone tried streaming Big Box using any of these methods? If so, how was your experience?

I've used GeForce Experience with Moonlight and it is one of the finest options because it was lag free and butter smooth and supports custom resolutions matching your device. You can set that up to stream across the internet through your router as well.

Link to comment
Share on other sites

4 minutes ago, Hifihedgehog said:

I've used GeForce Experience with Moonlight and it is one of the finest options because it was lag free and butter smooth and supports custom resolutions matching your device. You can set that up to stream across the internet through your router as well.

I’ve been messing around with Moonlight a bit and have been really impressed. How do you handle controller inputs on the guest device with Big Box and each emulator? Do you have bind them again using the guest device’s controller? If that’s the case wouldn’t you need separate Launchbox builds to support each guest device’s controller?

Link to comment
Share on other sites

50 minutes ago, tribe fan said:

I’ve been messing around with Moonlight a bit and have been really impressed. How do you handle controller inputs on the guest device with Big Box and each emulator? Do you have bind them again using the guest device’s controller? If that’s the case wouldn’t you need separate Launchbox builds to support each guest device’s controller?

In my case, I use XInput all around. I have my emulators (RetroArch, Dolphin, Cemu, Xenia) set up to use XInput, so I can switch interchangeably pretty easy since it is XInput no matter what and they are see them as Xbox controllers either way. I also set up x360ce (version 4.17.15.0) to convert DirectInput into XInput to merge/combine/overlap my physical cabinet controls and wireless gamepads. That is to say, I can use either my cabinet's pushbuttons and joysticks or turn on my wireless gamepads and play with them, or even use all at the same time interchangeably! I then hide their actual physical DirectInput from everything else but x360ce using White Knight to prevent ghost duplicate inputs from the DirectInput sources.

Edited by Hifihedgehog
Link to comment
Share on other sites

7 minutes ago, Hifihedgehog said:

In my case, I use XInput all around. I have my emulators (RetroArch, Dolphin, Cemu, Xenia) set up to use XInput, so I can switch interchangeably pretty easy since it is XInput no matter what and they are see them as Xbox controllers either way. I also set up x360ce (version 4.17.15.0) to convert DirectInput into XInput to merge/combine/overlap my physical cabinet controls and wireless gamepads. That is to say, I can use either my cabinet's pushbuttons and joysticks or turn on my wireless gamepads and play with them, or even use all at the same time interchangeably! I then hide their actual physical DirectInput from everything else but x360ce using White Knight to prevent ghost duplicate inputs from the DirectInput sources.

Interesting. I’ll have to do some research. This might sound very remedial, but can any third party controller be recognized as xinput? And if you do that, Moonlight controls should work straight out of the box?

Edit: And in the case of Dolphin, do you just use profiles for each game instead of using a genuine Wiimote with something like the dolphinbar?

Edited by tribe fan
Link to comment
Share on other sites

 

On 3/25/2021 at 12:15 PM, tribe fan said:

Interesting. I’ll have to do some research. This might sound very remedial, but can any third party controller be recognized as xinput? And if you do that, Moonlight controls should work straight out of the box?

One word of clarification. Moonlight uses XInput already so it works as along as you set up everything as XInput. Yes, if you set up x360ce in combination with White Knight, any DirectInput controller can be used as an XInput one. In fact, you can combine or join multiple controllers into one virtual controller as I explained above including wireless and Bluetooth ones. x360ce, in its latest releases, uses ViGEmBus so you no longer use DLLs but instead run the application and the virtual controllers are seen system wide. White Knight, though, is necessary again to eliminate the duplicate DirectInput button presses so only the XInput buttons presses are seen by other applications. A word of caution: don't use x360ce's HidGuardian implementation because it still has bugs needing to be worked out and doesn't work reliably.

On 3/25/2021 at 12:15 PM, tribe fan said:

And in the case of Dolphin, do you just use profiles for each game instead of using a genuine Wiimote with something like the dolphinbar?

So Wii is actually the one console I have not gotten fully figured out yet for my setup and this as far as the Wiimote is concerned. I have a Wiimote but I have not gotten around to those details yet but will eventually. For Wii games that support GameCube controllers, though, I just use my XInput controls that are already set up for GameCube for those Wii games. That currently is the extent of my Dolphin setup.

Edited by Hifihedgehog
Link to comment
Share on other sites

This is all awesome info. I’m definitely going to work on completely integrating Moonlight in my setup. It was so awesome streaming retroarch from the htpc in my den to the fire stick in my living room with no perceptible input lag. Really makes you wonder why anyone would pay money for Plex Arcade at this stage in the game.

Dolphin is definitely tricky as certain games completely rely on motion controls. I’ll probably end up either limiting my big box build to Wii games that can be played exclusively with xinput controller profiles and ditch the dolphinbar altogether or have two separate entries for Wii on the main menu (one for motion controls when playing directly on my htpc with the dolphinbar and one used only for streaming purposes). The latter is a little clunky, but might be the best option for my purposes. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...