From bd3ec2472ea83cb247bb4908504a1225ce47d52a Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Thu, 9 Dec 2021 21:28:04 +0100 Subject: [PATCH] Documentation update. --- CHANGELOG.md | 7 ++++--- CONTRIBUTING.md | 2 +- USERGUIDE-DEV.md | 16 +++++++--------- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index badb18c32..fa78a2843 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,8 @@ Apart from all the above, a huge amount of work has gone into fixing bugs, refac * Bundled the new alternative theme "modern-DE" which supports all the latest features from this release * Changed the Unix fullscreen mode and removed the --windowed, --fullscreen-normal and --fullscreen-borderless command line options * Removed the Unix-specific menu option "Fullscreen mode (requires restart)" +* Changed the Windows fullscreen mode and removed the "AMD and Intel GPU game launch workaround" menu option +* Made game launching more seamless on Windows for all GPU types * Added the ability to make complementary game system customizations without having to replace the entire bundled es_systems.xml file * Added support for an optional \ tag for es_systems.xml that can be used to override the default \ systems sorting * Added a "winregistryvalue" find rule for Windows which can be used to retrieve emulator installation locations from arbitrary Windows Registry keys @@ -83,7 +85,6 @@ Apart from all the above, a huge amount of work has gone into fixing bugs, refac * Lowered the default volumes slightly for videos and navigation sounds * Added loading of the System view to the ViewController preload function to decrease theme extras texture pop-in * Changed the filter description "Text filter (game name)" to simply "Game name" -* Improved the "AMD and Intel GPU game launch workaround" hack on Windows to provide more seamless game launches * Removed a margin hack from TextComponent * If abbreviated strings end with a space character, that space is now removed (TextComponent) * Added support for multi-select total count and exclusive multi-select to OptionListComponent @@ -137,6 +138,8 @@ Apart from all the above, a huge amount of work has gone into fixing bugs, refac * When scraping in interactive mode, the first result row would get focused after the search completed even if the cursor was moved to a button beneath the list * The multi-scraper did not update the filter index * Multi-scraping and aborting before any games were fully scraped but after some game media was downloaded did not trigger a gamelist reload +* (Windows) Launching a game that changed the screen resolution would offset the ES-DE application window when exiting +* (Windows) Enabling the option to hide the taskbar would sometimes not focus the application window on startup (possibly only an issue on Windows 8.1) * Fixed multiple minor rendering issues where graphics would be slightly cut off or incorrectly resized * Under some circumstances ScrollableContainer (used for the game descriptions) would contain a partially rendered bottom line * If the TextListComponent height was not evenly dividable by the font height + line spacing, a partial bottom row would get rendered @@ -452,8 +455,6 @@ Many bugs have been fixed, and numerous features that were only partially implem **The issues below are relevant for ES-DE v1.2.0** -* There is an issue with launching games on Windows when using AMD or Intel GPUs which causes the emulator to just output a blank screen. There is a workaround available for this which is enabled by default and that can be disabled via the menu option "AMD and Intel GPU game launch workaround" if using an Nvidia GPU. The workaround has the slight drawback that the screen may flicker slightly when launching a game, and there will be a single-pixel transparent line at the bottom of the screen while the emulator is loading. - * On Windows when using high DPI displays, if not running ES-DE on the primary monitor and the display where it runs does not have the same scaling percentage as the primary monitor, then the ES-DE resolution will not be properly set. The application will still work and if running in fullscreen mode it may not even be noticeable. This issue is probably caused by a bug in SDL where the primary display scaling is always used for calculating the display bounds. If using the same scaling percentage across all monitors, or if not using high DPI monitors at all, then this issue is not relevant. * On macOS, the RetroArch setting "Start in Fullscreen mode" must be enabled or ES-DE will not be able to switch to the emulator window when a game is launched. Possibly it's the same issue with other emulators as well. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a623b8779..3938d6e4d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,6 +32,7 @@ This plan is under constant review so expect it to change from time to time. Sti * 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 full-screen support and make game launching more seamless, remove the temporary full-screen hacks * Add GLM library dependency for matrix and vector operations, decommission the built-in functions * AppImage release on Linux @@ -40,7 +41,6 @@ This plan is under constant review so expect it to change from time to time. Sti * New theme engine with generalized views (only System and Gamelist) and theme variants support * Add multiple new gamelist components (wheels, wall/grid etc.) * Move existing theme logic to legacy support, only to be used for backwards compatibility -* Improve full-screen support and make game launching more seamless, remove the temporary full-screen hacks * Checksum support for the scraper for exact searches and for determining when to overwrite files * Improve text and font functions, e.g. faster and cleaner line wrapping and more exact sizing diff --git a/USERGUIDE-DEV.md b/USERGUIDE-DEV.md index f7603f995..d05dfcffa 100644 --- a/USERGUIDE-DEV.md +++ b/USERGUIDE-DEV.md @@ -266,9 +266,11 @@ If migrating from Batocera or Recalbox, be aware that ES-DE follows the RetroPie ## Running on high resolution displays -ES-DE fully supports high resolution displays such as 1440p, 4K, 6K, 8K, ultrawide monitors etc. But some emulators such as RetroArch will also run using the same resolution which may cause performance problems on slower machines or when using resource intensive shaders. Although some emulator cores will have options to set their internal resolution, they still need to be scaled up to the screen resolution. +ES-DE fully supports high resolution displays such as 1440p, 4K, 6K, 8K, ultrawide monitors etc. But many emulators (e.g. RetroArch) will also run using the same resolution which may cause performance problems on slower machines or when using resource intensive shaders. Although some emulator cores will have options to set their internal resolution, they still need to be scaled up to the screen resolution. -A solution to this is to use the custom event scripts functionality to set a temporary resolution upon launching a game that will be reverted when returning to ES-DE. Such a setup is detailed in [INSTALL-DEV.md](INSTALL-DEV.md#custom-event-scripts) for Unix, but should hopefully be possible to implement similarly on macOS and Windows. When going for this setup it's important that the setting _Run in background (while game is launched)_ is disabled or ES-DE may not be able to correctly switch to the emulator window when launching games. +A solution to this is to use the custom event scripts functionality to set a temporary resolution upon launching a game that will be reverted when returning to ES-DE. Such a setup is detailed in [INSTALL-DEV.md](INSTALL-DEV.md#custom-event-scripts) for Unix, but should hopefully be possible to implement similarly on Windows. When going for this setup it's important that the setting _Run in background (while game is launched)_ is disabled or ES-DE may not be able to correctly switch to the emulator window when launching games. + +On macOS it's problematic to change screen resolutions on the fly or on a per-application basis as Apple has seemingly disabled most of this functionality in recent operating system releases. The only real option here is to lower the display resolution prior to launching ES-DE. ## Input device configuration @@ -670,7 +672,7 @@ And on macOS with the filename `Broforce.sh`: And finally on Windows with the filename `Broforce.bat`: ``` -"c:\Program Files (x86)\Steam\steam.exe" steam://rungameid/26800 +"c:\Program Files (x86)\Steam\steam.exe" steam://rungameid/274190 ``` The game ID can be found by going to [https://store.steampowered.com](https://store.steampowered.com) and searching for a game. The Broforce example would have an URL such as this: @@ -1368,7 +1370,7 @@ The metadata for a game is updated by scraping or by manual editing using the me **Hide taskbar (requires restart)** _(Windows only)_ -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 when returning from games. But it can potentially cause issues on some Windows installations so it's disabled by default. +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)_ @@ -1376,11 +1378,7 @@ In macOS 12 Monterey an OpenGL driver bug was introduced that causes VSync to al **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 also removes the ability to capture return codes and log output from the emulators. But with some graphics drivers on Windows this may be a suitable workaround if there are problems launching games (also see the next option below). Note that launching Steam games on all supported operating systems always makes ES-DE continue to run in the background for technical reasons. - -**AMD and Intel GPU game launch workaround** _(Windows only)_ - -There is an issue with launching games on some Windows computers, seemingly on those with AMD or Intel GPUs. The emulator will start and work correctly, but the screen will be blank. Enabling this option is a workaround for that problem, with the drawback that the screen may flicker slightly when launching a game, and there will be a single-pixel transparent line at the bottom of the screen while the emulator is loading. This option is enabled by default, so if you're using an Nvidia GPU you can probably disable this option. +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). **Upscale video frame rate to 60 FPS**