Game Emulators: Difference between revisions

From Elvanör's Technical Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 5: Line 5:
* Configuration and setup of a PS 4 controller is completely automatic and out of the box if the proper ebuild has been installed.
* Configuration and setup of a PS 4 controller is completely automatic and out of the box if the proper ebuild has been installed.
* F1 returns to the main menu from a game.
* F1 returns to the main menu from a game.
* Starting from RetroArch 1.8.5, Ozone is now the default theme. You can revert back to the XMB theme (which I find nicer) if needed. On LibreELEC, the Ozone theme does not work well.
* Starting from RetroArch 1.8.5, Ozone is now the default theme. You can revert back to the XMB theme (which I find nicer) if needed. On LibreELEC, the Ozone theme does not work well at all and should be replaced by XMB.
 
== Advanced configuration ==
 
* The code matching a controller to its profile seems very buggy. I've looked at the source and it matches only on name, not with vendor id and model id which seems extremely dangerous. As a result, a PS4 controller (only the v2, v1 was fine) did not get a correct association and buttons were totally wrong. To solve this, I removed the problematic .cfg files so that RA could only associate the controller with the right profile.
 
== Logs ==
 
* The logs mention which core is used for a particular ROM / game. This can be very useful.
* Associations of a controller with its profile (and path) are not logged, contrary to what the documentation says. Maybe this was done in the past.
 
== Issues with LibreELEC distribution ==
 
* Some cores do not work at all as they have unresolved symbols.
* Removing a core from Kodi add-ons interface is dangerous, some leftovers breaking stuff are present after a removal. I had to manually remove via SSH some files to get other cores working again.


= Nintendo NES =
= Nintendo NES =

Revision as of 10:02, 30 November 2020

RetroArch

  • RetroArch is a front-end system / framework for several emulators. It's a very good piece of software.
  • To use it on Gentoo, install every component via ebuilds (emulator cores, shaders, joypad configurations). Using the system automatic installer does not work (at least not out of the box) on Gentoo. Note that RetroArch is not available on main repository but on overlays.
  • Configuration and setup of a PS 4 controller is completely automatic and out of the box if the proper ebuild has been installed.
  • F1 returns to the main menu from a game.
  • Starting from RetroArch 1.8.5, Ozone is now the default theme. You can revert back to the XMB theme (which I find nicer) if needed. On LibreELEC, the Ozone theme does not work well at all and should be replaced by XMB.

Advanced configuration

  • The code matching a controller to its profile seems very buggy. I've looked at the source and it matches only on name, not with vendor id and model id which seems extremely dangerous. As a result, a PS4 controller (only the v2, v1 was fine) did not get a correct association and buttons were totally wrong. To solve this, I removed the problematic .cfg files so that RA could only associate the controller with the right profile.

Logs

  • The logs mention which core is used for a particular ROM / game. This can be very useful.
  • Associations of a controller with its profile (and path) are not logged, contrary to what the documentation says. Maybe this was done in the past.

Issues with LibreELEC distribution

  • Some cores do not work at all as they have unresolved symbols.
  • Removing a core from Kodi add-ons interface is dangerous, some leftovers breaking stuff are present after a removal. I had to manually remove via SSH some files to get other cores working again.

Nintendo NES

  • The best current one (2019) seems to be fceux. It has full-screen OpenGL support which provides nice smoothing. It has some bugs though; for instance NTSC does not work in full-screen, another mode must be chosen.

Previously used

  • fakenes is good, with an excellent GUI and an excellent video support via OpenGL. But recent ebuilds do not compile, and the software seems abandonned.
  • Fakenes is quite slow with good video options (HQ4X). It also must be ran in windowed mode in order to use alt-tab.
  • Mednafen is another candidate. Recent versions are not available in Portage.

Sega Saturn

  • The best one on Linux seems to be Yabause. Although slow, and problematic for sound, it is impressive already.

DOS

  • You must use DOSBox. I did not find yet a good front-end for Gentoo. Write the configuration file yourself, and start the emulator directly on the command-line with as an argument the .EXE you want to load.
  • Press Control-F10 to turn the mouse cursor off (useful for many games). Press Control-F11 or F12 to increase or decrease the CPU cycles. Some old games may need a very low cycle rate. Beware that by default these keys are already captured by KDE.
  • Press alt-enter to switch fullscreen mode.

Rendering and scaling

  • Important settings are fullresolution=desktop and windowresolution=desktop. If fullresolution=original is used, the resolution used for DOSBox will be the one of the game (eg, a very low one), but the graphical chipset may smooth things out and it may turn out to be a correct rendering.
  • If windowresolution=desktop is used, the rendering engine should support scaling. This is the case with OpenGL, but on Gentoo I cannot seem to get OpenGL to work correctly.

Obsolete

  • dboxfe was a front end available in Portage. It's no longer there.

Commodore 64

  • Vice 1.22 is good, however I had problems with keyboard keys and speed (while reading the disks).

SCUMMVM

  • Excellent emulator to play LucasArts games as well as other ones such as Legend of Kyrandia.
  • Don't select the ALSA driver as a sound driver (for some reason it then says it cannot find the MIDI port). Select the Adlib driver or the default one.