Documentation update.

This commit is contained in:
Leon Styhre 2021-05-29 13:05:35 +02:00
parent 29dc08e294
commit 4132553c55
3 changed files with 46 additions and 14 deletions

View file

@ -12,12 +12,16 @@
* Added a fullscreen game media viewer * Added a fullscreen game media viewer
* Added a new video player based on FFmpeg * Added a new video player based on FFmpeg
* Added a 60 FPS frame rate upscaler option to the video player which results in slightly smoother playback for low frame rate videos (e.g. 24 and 30 FPS)
* Moved to the SDL GameController API which gives numerous improvements to the controller handling * Moved to the SDL GameController API which gives numerous improvements to the controller handling
* Default controller configuration is now applied, input configuration should rarely if ever be required any longer except for deliberate button customization * Default controller configuration is now applied, input configuration should rarely if ever be required any longer except for deliberate button customization
* Added support for selecting the controller type (Xbox, Xbox 360, PS4, PS5 and SNES), which changes the help icons, help text and the input configuration tool icons and text * Added support for selecting the controller type (Xbox, Xbox 360, PS4, PS5 and SNES), which changes the help icons, help text and the input configuration tool icons and text
* Added an option to limit the input in ES-DE to only the first controller (does not affect the emulators) * Added an option to limit the input in ES-DE to only the first controller (does not affect the emulators)
* Removed the startup notification regarding default keyboard mappings being in use, instead default mappings are now considered the recommended input configuration * Removed the startup notification regarding default keyboard mappings being in use, instead default mappings are now considered the recommended input configuration
* The controller input configuration is not automatically started any longer if there is no es_input.cfg file or if there are no applicable configuration entries in the file * The controller input configuration is not automatically started any longer if there is no es_input.cfg file or if there are no applicable configuration entries in the file
* Increased the max allowed size for images when scraping, which should now only downscale files which really need it (like enormous marquee images when scraping from TheGamesDB)
* Changed the resampling algorithm for image downscaling for the scraper from bilinear to Lanczos which results in noticeably sharper images
* Added a configurable option to automatically retry scraping up to five times in case of ScreenScraper TLS errors (error message "SSL peer certificate or SSH remote key was not OK")
* Changed the button for jumping to a random system or game and added a setting for disabling the functionality altogether * Changed the button for jumping to a random system or game and added a setting for disabling the functionality altogether
* Added navigation sounds for some actions where it was missing, such as when attempting to add folders, placeholders or systems to custom collections * Added navigation sounds for some actions where it was missing, such as when attempting to add folders, placeholders or systems to custom collections
* Changed the custom collection "Jump to" navigation sound to the select sound instead of the scroll sound * Changed the custom collection "Jump to" navigation sound to the select sound instead of the scroll sound

View file

@ -27,7 +27,7 @@ The code has some dependencies. For building, you'll need CMake and development
All of the required packages can be installed with apt-get: All of the required packages can be installed with apt-get:
``` ```
sudo apt-get install build-essential git cmake libsdl2-dev libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev libfreeimage-dev libfreetype6-dev libcurl4-openssl-dev libpugixml-dev rapidjson-dev libasound2-dev vlc libvlc-dev libgl1-mesa-dev sudo apt-get install build-essential git cmake libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libcurl4-openssl-dev libpugixml-dev rapidjson-dev libasound2-dev vlc libvlc-dev libgl1-mesa-dev
``` ```
**On Fedora** **On Fedora**
@ -488,8 +488,10 @@ As macOS does not have any package manager which would have handled the library
``` ```
libavcodec.58.dylib libavcodec.58.dylib
libavfilter.7.dylib
libavformat.58.dylib libavformat.58.dylib
libavutil.56.dylib libavutil.56.dylib
libpostproc.55.dylib
libswresample.3.dylib libswresample.3.dylib
libswscale.5.dylib libswscale.5.dylib
libfdk-aac.2.dylib libfdk-aac.2.dylib
@ -515,7 +517,9 @@ cd emulationstation-de
tools/macOS_change_dylib_rpaths.sh tools/macOS_change_dylib_rpaths.sh
Found file libfreetype.6.dylib - changing to rpaths Found file libfreetype.6.dylib - changing to rpaths
Found file libavcodec.58.dylib - changing to rpaths Found file libavcodec.58.dylib - changing to rpaths
Found file libavfilter.7.dylib - changing to rpaths
Found file libavformat.58.dylib - changing to rpaths Found file libavformat.58.dylib - changing to rpaths
Found file libpostproc.55.dylib - changing to rpaths
Found file libswresample.3.dylib - changing to rpaths Found file libswresample.3.dylib - changing to rpaths
Found file libswscale.5.dylib - changing to rpaths Found file libswscale.5.dylib - changing to rpaths
``` ```
@ -575,12 +579,14 @@ This will be the directory structure for the installation:
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/EmulationStation /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/EmulationStation
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libSDL2-2.0.0.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libSDL2-2.0.0.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavcodec.58.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavcodec.58.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavfilter.7.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavformat.58.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavformat.58.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavutil.56.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libavutil.56.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libfdk-aac.2.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libfdk-aac.2.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libfreeimage.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libfreeimage.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libfreetype.6.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libfreetype.6.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libpng16.16.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libpng16.16.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libpostproc.55.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libswresample.3.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libswresample.3.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libswscale.5.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libswscale.5.dylib
/Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libvlc.dylib /Applications/EmulationStation Desktop Edition.app/Contents/MacOS/libvlc.dylib
@ -636,16 +642,20 @@ This is certainly not perfect as the versions of the libraries are hardcoded ins
Simply run `otool -L EmulationStation` and verify that the result looks something like this: Simply run `otool -L EmulationStation` and verify that the result looks something like this:
``` ```
EmulationStation: ./EmulationStation:
/usr/lib/libcurl.4.dylib (compatibility version 7.0.0, current version 8.0.0) /usr/lib/libcurl.4.dylib (compatibility version 7.0.0, current version 9.0.0)
@rpath/libfreeimage.dylib (compatibility version 3.0.0, current version 3.18.0) @rpath/libavcodec.58.dylib (compatibility version 58.0.0, current version 58.134.100)
@rpath/libfreetype.6.dylib (compatibility version 24.0.0, current version 24.2.0) @rpath/libavfilter.7.dylib (compatibility version 7.0.0, current version 7.110.100)
@rpath/libSDL2-2.0.0.dylib (compatibility version 13.0.0, current version 13.0.0) @rpath/libavformat.58.dylib (compatibility version 58.0.0, current version 58.76.100)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0) @rpath/libavutil.56.dylib (compatibility version 56.0.0, current version 56.70.100)
@rpath/libvlc.dylib (compatibility version 12.0.0, current version 12.0.0) @rpath/libfreeimage.dylib (compatibility version 3.0.0, current version 3.18.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) @rpath/libfreetype.6.dylib (compatibility version 24.0.0, current version 24.4.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0) @rpath/libSDL2-2.0.0.dylib (compatibility version 15.0.0, current version 15.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 23.0.0)
@rpath/libvlc.dylib (compatibility version 12.0.0, current version 12.0.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.4)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1)
``` ```
If any of the lines that should start with @rpath instead has an absolute path, then you have a problem and need to modify the install_name_tools parameters in es-app/CMakeLists.txt. If any of the lines that should start with @rpath instead has an absolute path, then you have a problem and need to modify the install_name_tools parameters in es-app/CMakeLists.txt.
@ -658,6 +668,12 @@ This is the section in es-app/CMakeLists.txt that would need to be modified:
``` ```
add_custom_command(TARGET EmulationStation POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} add_custom_command(TARGET EmulationStation POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL}
-change /usr/local/lib/libavcodec.58.dylib @rpath/libavcodec.58.dylib
-change /usr/local/lib/libavfilter.7.dylib @rpath/libavfilter.7.dylib
-change /usr/local/lib/libavformat.58.dylib @rpath/libavformat.58.dylib
-change /usr/local/lib/libavutil.56.dylib @rpath/libavutil.56.dylib
-change /usr/local/lib/libswresample.3.dylib @rpath/libswresample.3.dylib
-change /usr/local/lib/libswscale.5.dylib @rpath/libswscale.5.dylib
-change /usr/local/opt/freeimage/lib/libfreeimage.dylib @rpath/libfreeimage.dylib -change /usr/local/opt/freeimage/lib/libfreeimage.dylib @rpath/libfreeimage.dylib
-change /usr/local/opt/freetype/lib/libfreetype.6.dylib @rpath/libfreetype.6.dylib -change /usr/local/opt/freetype/lib/libfreetype.6.dylib @rpath/libfreetype.6.dylib
-change /usr/local/opt/libpng/lib/libpng16.16.dylib @rpath/libpng16.16.dylib -change /usr/local/opt/libpng/lib/libpng16.16.dylib @rpath/libpng16.16.dylib
@ -841,7 +857,7 @@ Copy the include files for cURL, FFmpeg, FreeImage, FreeType, GLEW, pugixml, Rap
You may need to create the SDL2 directory manually and copy the header files there. You may need to create the SDL2 directory manually and copy the header files there.
For FFmpeg, copy the directories libavcodec, libavformat, libavutil, libswresample and libswscale. For FFmpeg, copy the directories libavcodec, libavfilter, libavformat and libavutil.
It should then look something like this: It should then look something like this:
@ -853,10 +869,9 @@ freetype/
ft2build.h ft2build.h
GL/ GL/
libavcodec/ libavcodec/
libavfilter/
libavformat/ libavformat/
libavutil/ libavutil/
libswresample/
libswscale/
pugiconfig.hpp pugiconfig.hpp
pugixml.hpp pugixml.hpp
rapidjson/ rapidjson/
@ -874,10 +889,13 @@ Copy the files to the `emulationstation-de` build directory. Most of them will c
``` ```
avcodec-59.dll avcodec-59.dll
avcodec.lib avcodec.lib
avfilter.lib
avfilter-8.dll
avformat-59.dll avformat-59.dll
avformat.lib avformat.lib
avutil-57.dll avutil-57.dll
avutil.lib avutil.lib
postproc-56.dll
swresample-4.dll swresample-4.dll
swresample.lib swresample.lib
swscale-6.dll swscale-6.dll
@ -928,8 +946,10 @@ lib /def:libvlc.def /out:libvlc.lib /machine:x64
``` ```
avcodec-59.dll avcodec-59.dll
avfilter-8.dll
avformat-59.dll avformat-59.dll
avutil-57.dll avutil-57.dll
postproc-56.dll
swresample-4.dll swresample-4.dll
swscale-6.dll swscale-6.dll
FreeImage.dll FreeImage.dll

View file

@ -804,6 +804,10 @@ If this setting is enabled and a folder has its flag set to be excluded from the
Enabling this option causes folders themselves to be included by the scraper. This is useful for DOS games or any multi-disk games where there is a folder for each individual game. Enabling this option causes folders themselves to be included by the scraper. This is useful for DOS games or any multi-disk games where there is a folder for each individual game.
**Auto-retry on peer verification errors**
ScreenScraper sometimes has issues with its TLS certificates which causes searches to randomly fail. It's normally resolved within a few days, but in the meanwhile activating this setting will have the scraper automatically make up to eight additional attempts when this error occurs. That is normally enough to complete the search, but if not, just press 'Retry' in the error dialog and ES-DE will try eight more times. This setting applies to both the single-game scraper and the multi-scraper. The following error notification dialog and corresponding es_log.txt entry is displayed when this error occurs: "Error downloading thumbnail: SSL peer certificate or SSH remote key was not OK".
### UI settings ### UI settings
Various settings that affects the user interface. Various settings that affects the user interface.
@ -1119,6 +1123,10 @@ With this setting enabled, the taskbar will be hidden when launching ES-DE, and
This is really a last-resort setting if ES-DE freezes when launching games. This issue seems to only occur on Windows 8.1 and older but that's not fully confirmed. ES-DE will behave a bit strange with this option enabled so keep it disabled unless you absolutely need it. This is really a last-resort setting if ES-DE freezes when launching games. This issue seems to only occur on Windows 8.1 and older but that's not fully confirmed. ES-DE will behave a bit strange with this option enabled so keep it disabled unless you absolutely need it.
**Upscale video frame rate to 60 FPS (FFmpeg)**
With this option enabled, videos with lower frame rates than 60 FPS, such as 24 and 30 will get upscaled to 60 FPS. This results in slightly smoother playback for some videos. There is a small performance hit from this option, so on slower machines it may be necessary to disable it for fluent video playback. This setting has no effect when using the VLC video player.
**Per game launch command override** **Per game launch command override**
If enabled, you can override the launch command defined in es_systems.cfg on a per-game basis. It's only recommended to disable this option for testing purposes, such as when a game won't start and you're unsure if it's your custom launch command that causes the problem. If enabled, you can override the launch command defined in es_systems.cfg on a per-game basis. It's only recommended to disable this option for testing purposes, such as when a game won't start and you're unsure if it's your custom launch command that causes the problem.