dragoonDorise / EmuDeck

Emulator configurator for Steam Deck
GNU General Public License v3.0
2.91k stars 211 forks source link

[feature request] xemu support #24

Closed Spidy123222 closed 2 years ago

Spidy123222 commented 2 years ago

The xemu core is a original Xbox emulator that is LLE based emulation which uses a hdd,bios,eeprom (if none used it auto generates one that is bound to the hdd image) to run. They have a internal updating system to update the emulator and don't know if it would interfere with stuff. It supports arguments from command line during launch to boot a game. It currently can run on the steamdeck via the flatpack and I'm unsure if you can just build to arch Linux natively (no flatpak) would have to look at that (likely possible would have to ask about that on their discord).

Minor Limitation: from last I heard mango hud doesn't work on it and using other external fps/mspf measurement programs don't work because it just captures the emulated monitor refresh rate. Xemu has its own one in debug and in video. Other possible limitation idk if it is one I don't currently own a deck yet saving up but the update system.

Current development: currently the developer (mattboregson) is making a big picture mode where it is a gamepad experience for bigger screens hints the name.

Website: https://xemu.app/

GitHub: https://github.com/mborgerson/xemu

Commandline arguments: https://xemu.app/docs/cli/

Snapshots: https://xemu.app/docs/snapshots/

Ideal config: default settings.

popsUlfr commented 2 years ago

Xemu was the first xbox emulator I fiddled with on Deck but I ran into some weird issues like the bootup animation being excruciatingly slow and haven't been successful with the .iso I had of Jet Set Radio Future to get it to run.

Then I looked into Cxbx-Reloaded which is way easier to get up and running and leaner on the system. Jet Set Radio Future plays nicely with it.

I made a pull request #23 to add support for this emulator into EmuDeck.

But I'll definitely take some more time to go back to xemu and try to figure things out, since it has a bigger playable list of games for now.

Spidy123222 commented 2 years ago

Xemu was the first xbox emulator I fiddled with on Deck but I ran into some weird issues like the bootup animation being excruciatingly slow and haven't been successful with the .iso I had of Jet Set Radio Future to get it to run.

Then I looked into Cxbx-Reloaded which is way easier to get up and running and leaner on the system. Jet Set Radio Future plays nicely with it.

I made a pull request #23 to add support for this emulator into EmuDeck.

But I'll definitely take some more time to go back to xemu and try to figure things out, since it has a bigger playable list of games for now.

Make sure you aren't using just a regular iso. Because you need it be using xiso files (you can use extract iso) for the games. Not quite sure why you are having intro being slow. Maybe try the flatpak by itself to see if it was just how it was used on emudeck. You can chat in the xemu discord also about the emulator. I was aware of the PR you did before I did original post. I wasn't sure what you meant by feature rich because xemu has good amount of features. There is not really much you would need to use for Xbox emulation on enhancements if that was what you were meaning.

From what I saw xemu runs jet set fine also, it's not that particularly hard of a game to emulate. I get the leaner part, the focus of xemu atm is balancing compatibility and atleast playable on mid/higher end systems atm. They do add some per performance improvements and would add more when compatibility is even better.

popsUlfr commented 2 years ago

Make sure you aren't using just a regular iso. Because you need it be using xiso files (you can use extract iso) for the games.

Yep, I know I created an xiso with the extract-iso tool, it would show the Please insert disc... otherwise. But it's maybe something with the european version and needing to create an adequate eeprom (which I tried but haven't had success with for now...). (extract-iso was also needed for Cxbx-Reloaded to get the game as loose files instead of an .iso with the .xbe accessible)

Maybe try the flatpak by itself to see if it was just how it was used on emudeck.

It's the flatpak xemu I've been using.

I wasn't sure what you meant by feature rich because xemu has good amount of features.

Xemu is incredibly barebones with its settings (you mostly need to rely on an external eeprom editor to do most changes). While Cxbx-Reloaded has extensive input, video, audio, eeprom settings and speed hacks right from the interface. It also works out of the box without needing bios and such to get going since it reimplements it all itself. Of course I'm in no way trying to badmouth or downplay the xemu project, it's really impressive. It's just that I had an easier time getting a game running with Cxbx-Reloaded than with xemu for now.

Other than that at least EmulationStation should detect .iso files in your xbox rom folder and let you run them with xemu if you install it as a flatpak on the steam deck.

I'll fiddle some more with xemu next time I get the chance, to get to the bottom of the issues.

EDIT: looking back I think I might have been too harsh in my wording of my commit about xemu compared to Cxbx-Reloaded, that really wasn't my intention arf... :disappointed:

Spidy123222 commented 2 years ago

Make sure you aren't using just a regular iso. Because you need it be using xiso files (you can use extract iso) for the games.

Yep, I know I created an xiso with the extract-iso tool, it would show the Please insert disc... otherwise. But it's maybe something with the european version and needing to create an adequate eeprom (which I tried but haven't had success with for now...). (extract-iso was also needed for Cxbx-Reloaded to get the game as loose files instead of an .iso with the .xbe accessible)

Maybe try the flatpak by itself to see if it was just how it was used on emudeck.

It's the flatpak xemu I've been using.

I wasn't sure what you meant by feature rich because xemu has good amount of features.

Xemu is incredibly barebones with its settings (you mostly need to rely on an external eeprom editor to do most changes). While Cxbx-Reloaded has extensive input, video, audio, eeprom settings and speed hacks right from the interface. It also works out of the box without needing bios and such to get going since it reimplements it all itself.

Of course I'm in no way trying to badmouth or downplay the xemu project, it's really impressive. It's just that I had an easier time getting a game running with Cxbx-Reloaded than with xemu for now.

Other than that at least EmulationStation should detect .iso files in your xbox rom folder and let you run them with xemu if you install it as a flatpak on the steam deck.

I'll fiddle some more with xemu next time I get the chance, to get to the bottom of the issues.

EDIT: looking back I think I might have been too harsh in my wording of my commit about xemu compared to Cxbx-Reloaded, that really wasn't my intention arf... :disappointed:

You are fine I understand the struggle. Just a recommendation just use a modified bios because stock bios don't seem to work fully because of drive emulation.

Xemu is incredibly barebones with its settings (you mostly need to rely on an external eeprom editor to do most changes). While Cxbx-Reloaded has extensive input, video, audio, eeprom settings and speed hacks right from the interface. It also works out of the box without needing bios and such to get going since it reimplements it all itself.

Yeah I completely understand with some of those. They avoid hacks because they want true emulation, I've been suggesting adding a hacks thing so no one has to use cheat engine to do it without patching a iso with like a 16:9 patch. Speed hacks is usually a benefit with HLE emulators like cxbx-reloaded but LLE can just needs to be incorporated like pcsx2. Video I'm not sure what's really needed but resolution scaling so they likely had same thought I did, idk anisotropic filtering. Audio yeah there is some settings that should be toggle able like the audio settings which is in a ini file. You don't technically need a eeprom editor. You can just put a dashboard on the hdd image and change eeprom settings. However I do feel a build in eeprom editor would be nice. They don't really get many pr's for such features. They usually have to do it themselves.

Godsbane commented 2 years ago

@Spidy123222 let me know that the config for this is changing format.

Will need to update that.

Spidy123222 commented 2 years ago

@Spidy123222 let me know that the config for this is changing format.

Will need to update that.

already has changed from ini to a different format. https://github.com/mborgerson/xemu/commit/dc669aca4157298cc035b79aad8889cdbb7d0237

The contents I believe are same however.

dragoonDorise commented 2 years ago

Xemu added on v17