Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IAGL does not work with XBOX One or iOS #42

Open
zach-morris opened this issue Jan 26, 2019 · 16 comments
Open

IAGL does not work with XBOX One or iOS #42

zach-morris opened this issue Jan 26, 2019 · 16 comments
Labels
cant fix Can't fix this issue without other supporting applications changing

Comments

@zach-morris
Copy link
Owner

zach-morris commented Jan 26, 2019

The addon does not yet work with XBOX One (XBONE) or iOS. Main reasons:

  1. The sandbox environments for both of these OS's prevent sending any external launch commands - external launching is pretty much a no-go for these systems.
  2. In order to use Retroplayer you need to install binary game addons, which out of the box are not compiled for these two systems as far as I know
  3. I dont have an xbox one, so I cant develop for it

It's possible that there's a workaround for 2, in that someone could either compile their own, or manually build the addon using RAs buildbot binaries, but since I dont have an xbox, I cant try this.

f there is someone with an XBOX One interested in helping me develop for the system, please send me a note!

@zach-morris zach-morris changed the title Addon does not work with XBOX One IAGL does not work with XBOX One Jan 26, 2019
@lefty420
Copy link

lefty420 commented Feb 2, 2019

I have an xbox one dude what do you need ? :)

@zach-morris
Copy link
Owner Author

zach-morris commented Feb 2, 2019

Well, first you'd need both Kodi and Retroarch installed, then it's really only a matter of validating the required command to send to launch a game.
Some info on how that works is here, and here

From IAGL, you would enter a manual command line entry something like:

RetroArch /L "path_to_game"

In a perfect world it would be that easy. One I don't know what the command line format is/should be. Second I don't even know if UWP allows for execution of commands like this at all. There would be some experimentation required for both. Maybe someone else out there has suggestions on what the command line format might be? Perhaps @krzys-h since he added the pull request for Retroarch XBox One Port

@krzys-h
Copy link

krzys-h commented Feb 3, 2019

  1. While both RetroArch and Kodi work on the Xbox One, you can't use RetroArch inside Kodi there yet AFAIK. I doubt this will change due to legal reasons - Microsoft does not allow emulators on the Store, so if Kodi wants to stay on the store it can't have support for any emulation features in the UWP version and RetroArch is only available if you run the console in dev mode and sideload the app manually.
  2. UWP is very sandboxed, you can't simply launch a command, you can't even access most of the filesystem using standard Win32 APIs. The only way I can think of would be to launch the other app with an URI handler (retroarch://something/here/but/probably/not/file/path/because/sandboxing).

@krzys-h
Copy link

krzys-h commented Feb 3, 2019

Oh, and I forgot to mention: if you don't have an Xbox to test, the UWP version on Windows 10 runs 99.9% the same as it would on Xbox (that's why they call it UNIVERSAL Windows Platform :P)

@drinfernoo
Copy link

@krzys-h Kodi being in the store probably has very little to do with emulation, since Kodi 18.0 now comes bundled with libretro compatibility, and regardless, IAGL is only a conduit through which Kodi can launch RetroArch.

@zach-morris
Copy link
Owner Author

zach-morris commented Feb 3, 2019

Thanks @krzys-h, understood dev mode would be a requirement. I'll look into UWP on windows.

After some more investigation, I'm fairly certain this is not possible as krzys-h suggested. UWP permissions don't allow launching an external process from a UWP application for security reasons.

Retroarch would have to implement URI / deep linking support, which I actually suggested quite a while ago for android (since android launching is a mish mash depending on the flavor of OS that's being used), but i dont think there's much interest at this point to make it work that way.

@krzys-h
Copy link

krzys-h commented Feb 5, 2019

@drinfernoo The Store version does not afaik, even if it did it wouldn't work since there is no way to load cores because you can't load dlls that were not bundled in the main .appx file itself.

10.13.10

Products that emulate a game system are not allowed on any device family.

https://docs.microsoft.com/en-us/legal/windows/agreements/store-policies

The addon downloader doesn't even show emulators as an option:
image

@zach-morris zach-morris added the cant fix Can't fix this issue without other supporting applications changing label Apr 12, 2019
@Doctor1577
Copy link

Am working on it

@Doctor1577
Copy link

Working on te bundling non store kodi version to appx bundle will let you know

@weednbeer
Copy link

hi everyone ... i was wondering if in developer mode it was possible to add emulators in the kodi add ons section ... should it do that? I know that Microsoft is blocking on the store version but on a developer version it might be possible ??

@binoeza
Copy link

binoeza commented Aug 21, 2020

First at all, sry my bad English!

I try a method without Dev mode to grab the retroArch! Only download the portable version, put it in a external drive (like an SD or pendrive), configure in IAGL and "voilà"! But can't push the command to execute the ROMs... I'm a completely noob in programing commands, so can't help more than it! If someone have skills to write the commands, and try it! Send me a message

@lukeraw93
Copy link

lukeraw93 commented Jan 27, 2021

Hi all, (noob alert) please forgive.

After some intresting messing around over the last couple of days i have managed to install KODI with IAGL & Retroarch onto my Xbox in dev mode. i have succesfully downloaded a ROM via IAGL and rather than booting retroarch through kodi, i ran it standalone and was able to use a USB drive to store roms from IAGL downloaded via the xbox to be ran in the retroarch app seperatley.

The only issue im currently encountering and i suspect this is due to the drive being external is the VFS error when trying to play larger games, So far i have ran sega mega drive roms with no problems. i also managed to run a "small" playstation one game.

In theory i was going to change the download path in KODI to a location on the Xbox where i could then use retroarch to run them seperatley, however due to the nature of the UWP system the only place i can get retroarch to locate that KODI also has access to is an external device. So far i have only used a USB pendrive, i have toyed with the idea of tring it with an external HDD but i fear the same thing would happen with the VFS error.

So all in all, ive a small work around for smaller games but thats all.

P.S forgive me if this is already known and used method, i am very new to this.

Thanks

UPDATE: So ive realized the VFS error is due to the core emulator im using PCSX. so i changed to Beetle PSX in the cores and was able to sucessfully boot from usb drive a game i had downloaded from IAGL in KODI. i had a few issues with crackling sound however which i will further look into.

Another Idea i had was using the Xbox built in browser microsoft edge. so i logged into to remote connection via Edge on the xbox went into the file browser and was succesfully able to move a game i had downloaded from IAGL in KODI onto my pendrive, into the Retroarch Downloads folder. this then allowed me to play the game with PCSX, which in my opinion is a ot smoother.

@zach-morris
Copy link
Owner Author

zach-morris commented Jan 28, 2021

@binoeza , yes it's the command that is explicitly the problem. Kodi cannot execute external commands on an XBOX given the sandbox security in place. This is the same reason IAGL doesn't work on an iPad.

As you and @lukeraw93 mentioned, you should be able to download games to a location and then open RA and launch them from there. V19 of IAGL should be able to save to network locations (like an SMB network share) as well, so if the XBOX can mount a network share that might be another way to get it to work.

@lukeraw93
Copy link

lukeraw93 commented Jan 28, 2021

@zach-morris yeah not a bad idea, it may eliminte the VFS error and would be quicker than having to upload via the remote connection feature on xbox, i'll try and set up a network location from windows 10 and see if the file explorer XBOX Dev mode defaults to will recognize it, i'll update this as soon as i know the result.

UPDATE: So far i dont think its possibe within the XBOX default file browser to connect to a network location unfortunatley, i thought i had been able to solve the issue of not being able to save roms to a location that RetroArch can access within the XBOX its self (Rather than having to rely on external storage). So after installing RetroArch to the XBOX in dev mode click the options button on the app its self and go to details, change the way the app is recognized from APP to GAME. This alows RetroArch to access the full file system of the xbox thus being able to set the default ROM location to the location i set IAGL in KODI to download to! Unfortunatley because of the way the file system is set up it (retroArch) still classes anything apart from its U:/ drive as an external device....so still get the VFS error. Unfortuntley i cant get KODI to be able to set up the download path into the U:/ Drive directory where retroarch wants its roms.

the only other way i found around this was to use BEETLE PSX as its supports VFS however the emulation doesnt seem to run very well, i have horrendous Audio, have changed the latency and still crackling and delayed. i have also tried to use RetriX to no avail.

on a side note. I would reccomend to anyone wishing to store large quantitys of games to expand the storage used by the xbox in DEV mode to their required size before installing RetroArch as changing this will remove installed apps.

@lukeraw93
Copy link

Working on te bundling non store kodi version to appx bundle will let you know
@Doctor1577
Did you manage to develop this?

@weednbeer
I found a list of test-builds including UWP if thats any use to anyone?
http://ftp.igh.cnrs.fr/pub/xbmc/
Maybe one of these has emulator support?

@zach-morris
Copy link
Owner Author

zach-morris commented Jan 28, 2021

Within Kodi directly, I've found that there is a VFS addon for UWP for SMB support. That doesn't help outside of Kodi however. In theory that would let you connect to the share within Kodi, and if you were using Kodi game addons instead of RA, then it would all work. I'm not sure if there is any official source for UWP binary game addons for kodi.

I have an unofficial place for kodi game addons, see here. However, I'm not sure what the requirements are for a UWP binary addon and if 'windows' is just a drop in replacement for them or not, but I can look into it. There are currently Windows addons that the script builds, and since there are UWP retroarch cores, then there could in theory be UWP Kodi Game addons in the same way.

I don't have an xbox to develop on though, so I'd be shooting in the dark.

I might be able to spin a couple of test addons. In retroarch, what does the setting show for an url for:
Network>Updater>Buildbot Cores

@zach-morris zach-morris changed the title IAGL does not work with XBOX One IAGL does not work with XBOX One or iOS Feb 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cant fix Can't fix this issue without other supporting applications changing
Projects
None yet
Development

No branches or pull requests

8 participants