From 02b887517b14cf608cb727d4b865282679ee383c Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Tue, 14 Dec 2021 18:26:55 +0100 Subject: [PATCH] Documentation update. --- CHANGELOG.md | 2 ++ CONTRIBUTING.md | 22 +++++++++++----------- README.md | 1 - USERGUIDE-DEV.md | 8 -------- 4 files changed, 13 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fbf2004e..f934c3925 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ Apart from all the above, a huge amount of work has gone into fixing bugs, refac * Added proper frame drop functionality to the FFmpeg video player to greatly reduce stuttering on slower machines * Made multiple optimizations to the FFmpeg video player to reduce CPU usage and to increase framerates on slower machines * Disabled the FFmpeg video player hardware decoding option (it can still be built using a CMake flag) +* Significantly reduced the CPU usage on macOS while running in the background * Removed the copying of es_settings.cfg to es_settings.xml as it caused issues when migrating from other EmulationStation forks * Improved the gamelist filter GUI to not allow filtering of values where there is no actual data to filter, e.g. Favorites for a system with no favorite games * Grayed out all fields in the gamelist filter GUI where there is no data to filter, previously some fields were removed entirely and some could still be used @@ -128,6 +129,7 @@ Apart from all the above, a huge amount of work has gone into fixing bugs, refac * Single-scraping a game, aborting and then re-scraping without leaving the metadata editor would sometimes lead to a crash * Setting a really small font size in a theme would crash the application +* Text containing invalid (partial) Unicode characters could crash the application * Deleting the last custom collection could crash the application if the grouped "collections" system was set as the startup gamelist * Connecting a controller with buggy drivers could crash the application * Setting an invalid UIMode value in the configuration file could crash the application diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 57c5ee0b9..9a23ad47b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,33 +30,33 @@ The roadmap is under constant review so expect it to change from time to time. S * _New gamelist sorting and media handling logic_ * _Overhaul of the menu system_ -* _Scraping of additional images types as well as videos_ +* _Scraping of additional image types as well as videos_ * _OpenGL shader support for blurred backgrounds, scanline rendering etc._ * _Navigation sound support_ * _A comprehensive theme set bundled with the application_ * _Ports for Windows, macOS and BSD Unix_ -* _Preconfigured system configuration files for all supported operating systems_ +* _Preconfigured systems configuration files for all supported operating systems_ * _A detailed user guide_ #### _v1.1_ * _Mix image generation based on screenshots, 3D boxes and marquee files (as in Skyscraper)_ -* _Ability to show game media in full screen from the gamelist view_ +* _Ability to display game media in full screen from the gamelist view_ * _Proper game launching screen_ * _New FFmpeg-based video player_ * _Better method to find installed emulators and cores_ * _Move to the SDL2 GameController API_ -* _Different button graphics and names applied depending on controller type (Xbox, PlayStation and SNES style)_ +* _Different button graphics and names applied depending on controller type (Xbox, PlayStation or SNES style)_ #### _v1.2_ -* _Support for pre-defined alternative emulators and cores (configured in es_systems.xml)_ -* _Badges highlighting things like favorite games, completed games etc. (will require theme support)_ -* _Virtual (on-screen) keyboard_ -* _Support for the Raspberry Pi 4 (Raspberry Pi OS)_ -* _Improve fullscreen support and make game launching more seamless, remove the temporary fullscreen hacks_ -* _Add GLM library dependency for matrix and vector operations, decommission the built-in functions_ -* _AppImage release on Linux_ +* Support for pre-defined alternative emulators and cores (configured in es_systems.xml) +* Badges highlighting things like favorite games, completed games etc. (will require theme support) +* Virtual (on-screen) keyboard +* Support for the Raspberry Pi 4 (Raspberry Pi OS) +* Improve fullscreen support and make game launching more seamless, remove the temporary fullscreen hacks +* Add GLM library dependency for matrix and vector operations, decommission the built-in functions +* AppImage and AUR releases on Linux #### v1.3 diff --git a/README.md b/README.md index ba6f1155a..edb6f4442 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,6 @@ The following operating systems have been tested (all for the x86 architecture u If using a Mac with an M1 processor you need to install the x86 version of RetroArch and any other emulators, or you won't be able to launch any games. This will be fixed whenever a native macOS M1 build of ES-DE is released. -If using macOS Monterey, there has been a quite serious OpenGL bug introduced by Apple which causes problems for ES-DE. A workaround for this issue is discussed [here](USERGUIDE-DEV.md#specific-notes-for-macos). ### Download diff --git a/USERGUIDE-DEV.md b/USERGUIDE-DEV.md index d05dfcffa..d1e3a2c10 100644 --- a/USERGUIDE-DEV.md +++ b/USERGUIDE-DEV.md @@ -49,8 +49,6 @@ The following operating systems have been tested (all for the x86 architecture u If using a Mac with an M1 processor you need to install the x86 version of RetroArch and any other emulators, or you won't be able to launch any games. This will be fixed whenever a native macOS ARM build of ES-DE is released. -If using macOS Monterey, there has been a quite serious OpenGL bug introduced by Apple which causes problems for ES-DE. A workaround for this issue is discussed [below](USERGUIDE-DEV.md#specific-notes-for-macos). - Additional known issues are detailed in [CHANGELOG.md](CHANGELOG.md#known-issues). As for display resolutions, the minimum pixel value is 224 and the maximum is 7680. This means that you can run ES-DE at for instance 320x224 all the way up to 7680x4320 (8K UHD). Vertical screen orientation is also supported, as well as ultra-wide resolutions like 3840x1440. Note that there could be some minor visual glitches when running in vertical orientation (this will be fixed in future ES-DE releases) and for the best experience you will probably need to use a customized theme set when running at extreme or unusual resolutions. @@ -189,8 +187,6 @@ Another macOS-specific requirement is that the RetroArch setting "Start in Fulls Another problem on macOS 11 Big Sur (and possibly older OS versions) is that when connecting a Sony DualShock 4 controller either via Bluetooth or using a USB cable, two separate controller devices are registered in parallel. This is a bug in either macOS or the DualShock driver and it makes it seem as if ES-DE is registering double button presses when actually two separate controller devices are generating identical input. A workaround if using Bluetooth mode is to plug in the USB cable just after connecting the controller, wait a second or two and then remove the cable again. This will remove the cabled device, leaving only the Bluetooth device active. Another workaround is to enable the setting _Only accept input from first controller_ in the ES-DE input device settings. The reason why this bug may not be visible in some other games and applications is that ES-DE enables and auto-configures all connected controllers. The issue appears to be resolved in macOS Monterey. -In macOS 12 Monterey there has been a quite serious OpenGL driver bug introduced by Apple which disables VSync, making the operating system always try to render as many frames as it can. This slows down ES-DE quite a lot and consumes lots of machine resources. The issue is discussed [here](https://github.com/libsdl-org/SDL/issues/4918). There is a temporary workaround available via the _macOS Monterey VSync bug workaround_ setting in the _Other settings_ menu (which is enabled by default). This will add a short 10 millisecond delay after each frame if the last frame was swapped in less than 3 milliseconds. It's not a proper fix but it should at least make ES-DE usable on Monterey until Apple releases a patch for the bug. - ## Specific notes for Raspberry Pi @@ -1372,10 +1368,6 @@ The metadata for a game is updated by scraping or by manual editing using the me With this setting enabled, the taskbar will be hidden when launching ES-DE, and it will be restored when the application exits. This can make for a more seamless experience as the taskbar could otherwise flash by briefly when launching and returning from games. -**macOS Monterey VSync bug workaround** _(macOS only and hopefully only temporary)_ - -In macOS 12 Monterey an OpenGL driver bug was introduced that causes VSync to always be disabled. This makes the operating system try to render as many frames as it can which slows down ES-DE quite a lot as well as consuming lots of machine resources. Using this setting (which is enabled by default), a small 10 millisecond delay is introduced after each frame if it took less than 3 milliseconds to swap the last one. This is not a proper solution, and it's not an accurate solution but it's at least something until Apple hopefully fixes the bug via an OS update. Earlier macOS releases are unaffected by this issue. To check if you have this problem, disable the setting and then enable the _Display GPU statistics overlay_ option. If your FPS counter shows really high numbers (like in the hundreds of frames per second) then the issue is present on your machine. - **Run in background (while game is launched)** Enabling this option makes ES-DE continue to run while a game is launched. This is normally not recommended as it leads to a slightly strange application behavior and it also removes the ability to capture return codes and log output from the emulators. Generally this option should only be enabled if there are issues with launching games while suspending ES-DE. Note however that some systems like Valve Steam will always keep ES-DE running in the background because they require it for technical reasons (i.e. those systems will override this menu option).