currently the forum gets flooded with people having the same exact issues like
-rom encryption
-gpu not supporting open GL 3.3
-the need to dump system archives and fonts
-lack of knowledge about citra's ability to emulate tilting motion (gyro sensor)
my suggestion would be to
-add warning to warn the user about ROM encryption (already implemented apparently but is broken ATM according to https://github.com/citra-emu/citra/issues/2268)
-warn user if their gpu does not support openGL 3.3 (same as above implemented but is broken)
-warn user about the need to dump the system home folder
this can be done by looking for specific log errors
[ 11.818456] Debug.Emulated
eason: PANIC
[ 11.834715] Debug.Emulated
d program broke execution!
and
[ 4.095480] Service.FS core/hle/service/fs/fs_user.cpp:OpenFileDirectly:130: failed to get a handle for archive archive_id=0x2345678A archive_path=[Binary: 02030100db00040000ffffff01000000]
-notify the user about the tilting support with a one time only notification (a check box that includes "do not show this again" would be nice) when a game attempts to access the gyroscope function.
this would reduce the amount of repeated posts on the forums and help find real bugs in the software
easy, but bored... developers never see this kind of errors :)
Here's a fun fact: We already have logs that warn about most of these, people just ignore them.
There's a pretty yellow log that tells you that the shared font is missing.
The emulator reports the OpenGL version on startup.
The emulator shows a pink-ish error when a ROM is encrypted.
Users just don't like to read.
@mailwl This is not as easy as you think. Take this for example:
warn user about the need to dump the system home folder
...
[ 4.095480] Service.FS core/hle/service/fs/fs_user.cpp:OpenFileDirectly:130: failed to get a handle for archive archive_id=0x2345678A archive_path=[Binary: 02030100db00040000ffffff01000000]
This requires a proper interface between core and frontend so that core can report a generic message via frontend-defined message box, which is not as trivial as just calling MessageBox whereever you want.
well, frontend can provide some set of callbacks, which core just call in some situations.
For example - one for file not exists, another for swkbd need enter text...
If you place these user notifications on-screen, not the console, with a decent interval before fading or being overwritten, users will notice and care (except that tilting one, that is just annoying handholding you can't 'fix').
For example, PPSSPP does it (also for not obvious user initiated things like 'toggle alternate speed') and such.
A popup is just too much when you only need to make them notice and check the actual log if they don't remember and want to fix (though i hesitate to describe people with such damaged short term memory).
Most helpful comment
Here's a fun fact: We already have logs that warn about most of these, people just ignore them.
There's a pretty yellow log that tells you that the shared font is missing.
The emulator reports the OpenGL version on startup.
The emulator shows a pink-ish error when a ROM is encrypted.
Users just don't like to read.