How to Disable Mode Switching for AMD APUs & dGPUs using a DAC - ZFEbHVUE/Batocera-CRT-Script GitHub Wiki

πŸ”§ How to Disable Mode Switching for AMD APUs (Per-Game with switchres.ini)

This guide explains how to override SwitchRes resolution switching on a per-game basis. It’s particularly useful when running on AMD APUs where unnecessary mode switching may cause screen flicker or issues.

We will reference the main configuration documentation here:
➑️SwitchRes.ini override wiki page

🧩 Concept

The idea is to create a core override file that prevents SwitchRes from changing video modes.
To avoid applying it globally, we will assign it to specific subfolders based on resolution.

Example:

  • 224_no_mode_switch.switchres.ini for games running in 224p
  • 240_no_mode_switch.switchres.ini for games running in 240p
  • 448_no_mode_switch.switchres.ini for games running in 448i
  • 478_no_mode_switch.switchres.ini for games running in 478i
  • 480_no_mode_switch.switchres.ini for games running in 480i

πŸ“ Folder Structure Example

Organize your ROMs like this (assuming PlayStation games as example):

/userdata/roms/psx/240_no_mode_switch/YourGame.bin
/userdata/roms/psx/224_no_mode_switch/AnotherGame.bin

Place a matching .switchres.ini in the same folder:

/userdata/roms/psx/240_no_mode_switch.switchres.ini

πŸ” How to Find the Correct Resolution

  1. Launch the game in Batocera.
  2. Exit the game.
  3. Check the following logs for the resolution that was used:
    /userdata/system/logs/es_launch_stdout.log
    /userdata/system/logs/es_launch_stderr.log
    
  4. Look for messages from SwitchRes like:
    Switchres: modeline generated for [email protected]
    

Use the detected resolution (e.g., 320x240) in your override file.


✏️ Sample 240_no_mode_switch.switchres.ini

# Forces a specific user mode, format: width x height @ refresh
# You can use 0 as a wildcard for width or refresh rate
user_mode 2560x240

# Disable interlaced modes entirely
interlace 0

βœ… Final Notes

  • This method disables dynamic resolution switching for specific games only.
  • Be sure to re-scan your game list in EmulationStation after moving the ROM to the new folder.
  • You can reuse the same .switchres.ini for any other games using the same resolution.
# Example reuse
/userdata/roms/psx/240_no_mode_switch/Game1.bin
/userdata/roms/psx/240_no_mode_switch/Game2.bin

This setup gives you granular control over which games switch modes β€” great for fine-tuning performance on picky hardware like AMD APUs using the

➑️ Analog to digital (DAC)