ChimeraOS / chimeraos

A Steam Big Picture based couch gaming OS
MIT License
1.6k stars 115 forks source link

Problems with Retroarch under Chimera #858

Open Slybo opened 6 months ago

Slybo commented 6 months ago

8BitDo Ultimate (wireless) Controller does not work in Retroarch and SteamDeckOS sees it as an "Xbox Wired Controller" There is no default controller Hotkey to open the Retroarch menu and some settings will not save. I managed to wrestle back most of my control over RetroArch but only in desktop mode, it's as if GameMode is hardcoded to override the retroarch.cfg. Some directories are in a locked location and others are in home/gamer/.config. Why not put them all there? I can't get MegaBezel Shaders to work, I can't choose my own cores, N64 game won't load, and I can't enable Ozone without it defaulting back to rgui. I don't understand why ChimeraOS seemingly takes so much control away from the user. Unless I'm missing something, I find the conceit very off-putting.

Also, not every game has a complete set of graphics for the banner/poster/icon... The webUI should allow you to upload or drag&drop your own custom graphics in these instances.

npaladin2000 commented 6 months ago

If this is the functionality you're looking then maybe EmuDeck is a better option for your use case. Chimera's web app is for smaller collections, and yes, it's hardcoded to override the RetroArch.cfg file. The idea is to make Retroarch completely invisible to the user; it's not for power users.

alkazar commented 6 months ago

8BitDo Ultimate (wireless) Controller does not work in Retroarch and SteamDeckOS sees it as an "Xbox Wired Controller"

We use the libretro/retroarch-joypad-autoconfig project for controller configurations. Your controller is probably not included. You can still drop your own controller configuration files into the RetroArch config folder. Configuring your controller by running retroarch in the command line from the desktop should do it.

There is no default controller Hotkey to open the Retroarch menu and some settings will not save. I managed to wrestle back most of my control over RetroArch but only in desktop mode, it's as if GameMode is hardcoded to override the retroarch.cfg.

Yes, Chimera takes the configuration files in /usr/share/chimera/config/ along with the overrides in ~/.config/chimera and applies the results to several of the RetroArch configuration files. Without doing this, we would be stuck with RetroArch defaults which are not sufficient for a good out of the box experience IMO.

The RetroArch menu is disabled for various reasons:

Some directories are in a locked location and others are in home/gamer/.config. Why not put them all there?

You can simply copy the "locked" files into ~/.config/chimera and they will be overridden with your changes. We can't ship files in the user's home directory like that, updates wouldn't work for example.

I can't get MegaBezel Shaders to work, I can't choose my own cores, N64 game won't load, and I can't enable Ozone without it defaulting back to rgui.

Shaders should work. I have successfully configured shaders manually in the past. I started work on adding some shader configuration options to the web ui, but it appears Steam itself will be introducing its own shader options in the future which will probably be easier for people to use so I have stopped work on this for now.

I am working on being able to change emulators and cores through configuration files as we speak. It is actually already possible to do, but is very cumbersome.

I don't understand why ChimeraOS seemingly takes so much control away from the user. Unless I'm missing something, I find the conceit very off-putting.

Sorry it doesn't work for you. But it sounds like it is not for you. We are trying to create a simple, clean experience with good defaults that work for folks who don't need to know anything about RetroArch or ever see it. If you have suggestions for better default configurations, I am open to it.

Also, not every game has a complete set of graphics for the banner/poster/icon... The webUI should allow you to upload or drag&drop your own custom graphics in these instances.

This is a feature I had to drop temporarily after redesigning things to include all the new graphics added by Steam with the Steam Deck changes. I plan to re-introduce this at some point.

alkazar commented 6 months ago

One thing we could do quite easily is add an option to our configuration file or perhaps an environment variable which when enabled will not apply the Chimera configuration to RetroArch, thus enabling you to freely configure RetroArch through its own menus.

rzippo commented 6 months ago

This may be OT about the issue per se, but I have some opinions on the current take of "good defaults for regular users, not power users" of the project.

The problem is that often, things just happen to not work, and that may simply be because you as developers cannot feasibily think of and fix everything all at once, or it may be totally out of your control. However, to find that in such cases we are left without the power to fix things by ourselves can be pretty annoying.

The state of things with Linux is not ready for everything to work out of the box without user intervention. This is imho clearly why the Steam Deck, of all things, was provided with a full desktop that allows people to run software and scripts to do all those things that are hard or impossible to do from a strictly gaming console interface.

But on Chimera, the "distressed common user" is already too far off the mark and will be blocked from making things work. To ask to go and install some other OS because these annoyances are by design is not a good take.

My most frustrating example is Transport Fever 2, a Steam game that for some obscure reason does not use Steam Cloud. So I had to setup a shared folder on my NAS to move my saves between desktop and Deck. When it came to Chimera, well it does not support the SMB protocol which I was using because it is thought to be unnecessary. So I wasted hours trying to find and install the missing components to access that smb, none of which worked, before finding out that both Chimera and my NAS supported NFS and used that as a workaround.