EmulationStation - in Advanced System Options - adding emulation resolution

Hello,

In Emulation Station is there a file I can modify to have in the GameLists >> (select) Advanced System Options, then under “Enable Maximum Performance” have “Emulation Resolution” and have the value pass to the emuelecRunEmu.sh script? It would be good to be able to set resolutions for specific game lists.

I checked the emulationstation project and it should be in “es-app/src/guis/GuiGamelistOptions.cpp” but it doesnt seem to contain code to configure emulator options. In EmuElec is there a patch being applied to mod the EmulationStation or is there a fork for it?

1 Like

Hello,

Can I get these changes made in emuelec-emulationstation?

I have not compiled yet but it should work. Basically it will allow video_mode to be set per emulator and make it so the video mode can be passed along to emuelecRunEmu.sh. I’m going to make a display.sh file that grabs these values and can switch the resolutions back and forth.

Why not open a PR?

Also please TEST your changes before you submit the PR.

You can follow this to open a PR if you are not familiar:

just change it to the emuelec-emulationstation repo and EmuELEC branch

Ok, I’ll test my changes and open a PR when I get some free time.

In the meantime here is the sh script to change the various resolutions that can be set by emuelec.

See:

How do I include elecemu-station once its comiled into EmuELEC?

Also compiling emuele-emulationstation I get a compile error.
UPDATE: I disabled the flag ifdef for the function in platform.h and it compiled ok.
Update2: No it didnt, how do I pass the flag -D_ENABLEEMUELEC=1 to make?
Update3: I just changed this in cmakelists.txt

# emuelec
#if("${ENABLE_EMUELEC}" STREQUAL "1")
  add_definitions(-D_ENABLEEMUELEC)
#endif()
[ 80%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/components/AsyncReqComponent.cpp.o
[ 80%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/components/RatingComponent.cpp.o
[ 81%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/components/ScraperSearchComponent.cpp.o
[ 81%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/components/CarouselComponent.cpp.o
[ 81%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/guis/GuiMetaDataEd.cpp.o
[ 82%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/guis/GuiGameScraper.cpp.o
[ 82%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/guis/GuiGameOptions.cpp.o
[ 83%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/guis/GuiGamelistOptions.cpp.o
[ 83%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/guis/GuiGeneralScreensaverOptions.cpp.o
[ 83%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/guis/GuiMenu.cpp.o
[ 84%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/guis/GuiSettings.cpp.o
/home/joslan/Documents/emuelec-emulationstation/es-app/src/guis/GuiMenu.cpp: In member function ‘void GuiMenu::openSystemSettings_batocera()’:
/home/joslan/Documents/emuelec-emulationstation/es-app/src/guis/GuiMenu.cpp:1586:33: error: ‘getShOutput’ was not declared in this scope
   currentTimezone = std::string(getShOutput(R"(/usr/bin/emuelec-utils current_timezone)"));
                                 ^~~~~~~~~~~
/home/joslan/Documents/emuelec-emulationstation/es-app/src/guis/GuiMenu.cpp:1588:27: error: ‘getShOutput’ was not declared in this scope
  for(std::stringstream ss(getShOutput(R"(/usr/bin/emuelec-utils timezones)")); getline(ss, a, ','); ) {
                           ^~~~~~~~~~~
[ 84%] Building CXX object es-app/CMakeFiles/emulationstation.dir/src/guis/GuiScraperStart.cpp.o
es-app/CMakeFiles/emulationstation.dir/build.make:854: recipe for target 'es-app/CMakeFiles/emulationstation.dir/src/guis/GuiMenu.cpp.o' failed
make[2]: *** [es-app/CMakeFiles/emulationstation.dir/src/guis/GuiMenu.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:412: recipe for target 'es-app/CMakeFiles/emulationstation.dir/all' failed
make[1]: *** [es-app/CMakeFiles/emulationstation.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

How do I in EmuELEC point the emuelec-emulationstation project to my modified one?
Do I edit package.mk ?

Yes you need to edit the package.mk or create a patch and place it in a folder named patches in the packages/sx05re/emuelec-emulationstation