[Feature Request] Some solutions for UWP on Xbox One
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Hi everyone,
First of all I want to apologize for my English and I hope that I can convey “clearly” some ideas.
The UWP applications on Xbox One have limited the possibility of overwriting data on the disk as you will know and therefore I propose a solution that unfortunately will involve adding some lines of code in RetroArch.
To be able to download/load new cores or simply add bios of some emulators on Xbox One is not possible and this is because it is not possible to write data (copy) into the directory where the installed application is located. However, it is possible to read data that is in an external storage device connected to the console (USB hard drive or pendrive). Therefore, if in the RetroArch itself an alternative routes established by the user could be established in the RetroArch configuration we could find a solution to this problem.
For example, you could establish an extra directory to store cores and it is the RetroArch itself that finds them and decides if you add it to the list in case it is a new core not located in the current default directory, or omit it because the core of the alternative directory is a higher version. The user can thus add and update the cores of the version of RetroArch installed in the console.
Another example, with the BIOS, could be that after verifying that the default System directory is empty, it should be so, that you could check an alternative system directory where the user has copied the dc folder with the dreamcast emulator bios. As you can see it is a viable and profitable solution of the alternatives that UWP technology offers us on Xbox One.
This is not all, it could also be used to load custom textures, among other uses and in this way skip this obstacle of UWP on Xbox One.
I know that someone is going to say that Microsoft does not allow RetroArch in its store and why you should spend time adding these features to the UWP version. Microsoft has raised a “non-generational” future among its consoles, this means that what works today on Xbox One will work on Xbox Series X and possibly on the next Xbox. With each new Xbox console there are more resources available for applications and emulators, which will work better and better. There is no doubt that emulators that work poorly on Xbox One fat work better on Xbox One X due to their power increase, and now with Xbox Series X the CPU is going to take a big leap with Zen 2. I think it has been a It is right to bring RetroArch to Xbox One and that for the first time in history you can use homebrew software on a console without having to hack it using only the Developer Mode, which will continue to be the same in the future.
My experience as a programmer does not go beyond being a rookie in c #, messing around with UWP and Unity Engine technology. I do not have the knowledge to face a modification of this magnitude and provide functionalities in c to the RetroArch project. What I can give you is this solution that I have seen that could overcome some obstacles that are present today in the UWP version of RetroArch for Xbox One.
I await your comments and thank you for making RetroArch what it is. Greetings.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points; start by locating the UWP/Xbox storage and core/system directory discovery paths. Done would mean user-configured alternate storage locations can be searched for cores, BIOS, and textures on UWP/Xbox One, with the requested precedence behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100