Skip to content

RetroArch ‐ How to Disable Mode Switching for AMD APUs & dGPUs using a DAC

Rion edited this page Jun 3, 2026 · 3 revisions

RetroArch - How to Disable Mode Switching for AMD APUs & dGPUs using a DAC

This guide explains how to use a custom switchres.ini override to prevent unnecessary Switchres mode switching in RetroArch.

This can be useful on some AMD APUs and dGPUs when using a digital-to-analog converter (DAC), where changing modelines may cause screen flicker, sync loss, a temporary black screen, or other display issues.

For the full override system and priority order, see:

➡️ Switchres.ini Overrides for RetroArch


Concept

Normally, Switchres can generate or select a video mode based on the game being launched.

For most CRT setups, this is useful.

However, some AMD + DAC setups may behave better if a game or group of games is forced to use a fixed output mode instead of letting Switchres dynamically change to another mode.

The idea is simple:

  1. Create a RetroArch override.
  2. Create a matching .switchres.ini override file.
  3. Add only the Switchres options needed to force the desired output mode.

The .switchres.ini file must be placed in the RetroArch config override folder, not inside the ROM folder.

Example RetroArch config folder:

/userdata/system/configs/retroarch/config/<core_name>/

Example Switchres override file:

/userdata/system/configs/retroarch/config/<core_name>/<override_name>.switchres.ini

Which Override Method Should You Use?

Use the method that matches what you want to control:

One specific game        -> Save Game Overrides
Several games in a folder -> Save Content Directory Overrides
Whole RetroArch core      -> Core-wide Switchres override
All RetroArch cores       -> Global RetroArch Switchres override

For this guide, the two most useful methods are:

  • Per-game override for one specific problem game.
  • Folder-based override for several games that should share the same fixed mode.

Full Copy vs Minimal Override Files

You can copy /etc/switchres.ini as a starting point, but this is not required.

A .switchres.ini override can be very small and only include the settings you want to change.

Example minimal override:

user_mode 2560x240
interlace 0

Switchres will still read the normal settings from:

/etc/switchres.ini

Then it applies only the options found in the more specific .switchres.ini override file.

This makes small game or folder overrides cleaner and easier to maintain.


Recommended Method: Disable Mode Switching for One Game

Use this method if only one game needs a fixed Switchres output mode.

In this example, we use:

  • System: PlayStation
  • Core: PCSX-ReARMed
  • Game: Castlevania - Symphony of the Night (USA)
  • Wanted output mode: 2560x240

1. Select the Correct Core in EmulationStation

In EmulationStation, make sure the game is using the correct RetroArch core.

For this example:

PCSX-ReARMed

2. Start the Game

Launch the game from EmulationStation.

Example:

Castlevania - Symphony of the Night (USA)

3. Open the RetroArch Quick Menu

While the game is running, open the RetroArch Quick Menu.

Usually this is done with:

[HOTKEY] + South Button

or with a keyboard:

Shift + F1

4. Save a Game Override

Navigate to:

Overrides -> Save Game Overrides

This creates a game-specific RetroArch override file.

For this example, RetroArch creates:

/userdata/system/configs/retroarch/config/PCSX-ReARMed/Castlevania - Symphony of the Night (USA).cfg

5. Exit the Emulator

Exit the game and return to EmulationStation or terminal/SSH.


6. Create the Matching .switchres.ini File

Create a matching .switchres.ini file with the same base name as the .cfg file.

Example:

/userdata/system/configs/retroarch/config/PCSX-ReARMed/Castlevania - Symphony of the Night (USA).switchres.ini

You can create it manually, or from SSH/terminal:

nano "/userdata/system/configs/retroarch/config/PCSX-ReARMed/Castlevania - Symphony of the Night (USA).switchres.ini"

Add the fixed Switchres mode you want.

Example for a 240p super resolution:

user_mode 2560x240
interlace 0

7. Remove the RetroArch .cfg File if It Is Not Needed

If you only created the game override so Switchres could use the matching filename, you can remove the RetroArch .cfg file afterwards.

Example command:

rm "/userdata/system/configs/retroarch/config/PCSX-ReARMed/Castlevania - Symphony of the Night (USA).cfg"

This keeps the game-specific switchres.ini override, but removes the unnecessary RetroArch settings override.

If you also want RetroArch settings to apply to this game, keep the .cfg file and edit it instead of deleting it.


Result

The game now has its own fixed Switchres output mode:

/userdata/system/configs/retroarch/config/PCSX-ReARMed/Castlevania - Symphony of the Night (USA).switchres.ini

Only this game is affected.


Optional Method: Disable Mode Switching for a Folder of Games

Use this method if several games should use the same fixed output mode.

This is useful if you want to group games by output height, for example:

224_no_mode_switch
240_no_mode_switch
448_no_mode_switch
478_no_mode_switch
480_no_mode_switch

Example ROM folders:

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

1. Create a ROM Sub-Folder

Create a folder under your ROM system folder.

Example:

/userdata/roms/psx/240_no_mode_switch

2. Move the Games into the Folder

Place the games that should use the same fixed output mode inside that folder.

Example:

/userdata/roms/psx/240_no_mode_switch/Game1.bin
/userdata/roms/psx/240_no_mode_switch/Game2.bin

After moving games into new folders, refresh or re-scan your game list in EmulationStation if needed.


3. Start a Game from the Folder

Launch one game from:

/userdata/roms/psx/240_no_mode_switch

4. Save a Content Directory Override

Open the RetroArch Quick Menu and navigate to:

Overrides -> Save Content Directory Overrides

RetroArch will create a folder-based override file.

Example:

/userdata/system/configs/retroarch/config/PCSX-ReARMed/240_no_mode_switch.cfg

The important part is the base filename:

240_no_mode_switch

The matching Switchres override must use the same base filename:

240_no_mode_switch.switchres.ini

5. Exit the Emulator

Exit the game and return to EmulationStation or terminal/SSH.


6. Create the Matching Folder .switchres.ini

Create this file:

/userdata/system/configs/retroarch/config/PCSX-ReARMed/240_no_mode_switch.switchres.ini

Example command:

nano "/userdata/system/configs/retroarch/config/PCSX-ReARMed/240_no_mode_switch.switchres.ini"

Example content for forcing a 240p super resolution:

user_mode 2560x240
interlace 0

7. Remove the Generated .cfg File if It Is Not Needed

If you only created the content-directory override so Switchres could use the matching filename, you can remove the RetroArch .cfg file afterwards.

Example command:

rm "/userdata/system/configs/retroarch/config/PCSX-ReARMed/240_no_mode_switch.cfg"

This keeps the folder-based Switchres override, but removes the unnecessary RetroArch settings override.

If you also want RetroArch settings to apply to this folder, keep the .cfg file and edit it instead of deleting it.


Result

All games launched from:

/userdata/roms/psx/240_no_mode_switch

will use:

/userdata/system/configs/retroarch/config/PCSX-ReARMed/240_no_mode_switch.switchres.ini

Games outside that folder will continue using the normal Switchres behavior, unless another more specific override exists.


How to Find the Correct Resolution

Before creating a fixed override, it is useful to check what resolution Switchres normally selects for the game.

  1. Launch the game normally.
  2. Exit the game.
  3. Check the logs:
/userdata/system/logs/es_launch_stdout.log
/userdata/system/logs/es_launch_stderr.log

Look for Switchres messages similar to:

Switchres: modeline generated for 320x240@60.000

Use the detected height when deciding which fixed mode to force.

Example:

320x240 -> user_mode 2560x240
320x224 -> user_mode 2560x224

Example Fixed Modes

These are example starting points for common 15 kHz output heights.

224p

user_mode 2560x224
interlace 0

240p

user_mode 2560x240
interlace 0

448i

user_mode 2560x448
interlace 1

478i

user_mode 2560x478
interlace 1

480i

user_mode 2560x480
interlace 1

For progressive modes such as 224p and 240p, interlace 0 is normally correct.

For interlaced modes such as 448i, 478i, or 480i, do not use interlace 0, because that would prevent Switchres from using interlaced output.


Important Path Reminder

The .switchres.ini override file must be placed in the RetroArch config override folder:

/userdata/system/configs/retroarch/config/<core_name>/

Do not place it inside the ROM folder.

Correct:

/userdata/system/configs/retroarch/config/PCSX-ReARMed/240_no_mode_switch.switchres.ini

Incorrect:

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

Notes and Troubleshooting

The Filename Must Match the RetroArch Override Name

If RetroArch creates:

240_no_mode_switch.cfg

Then the Switchres override must be:

240_no_mode_switch.switchres.ini

If RetroArch creates:

Castlevania - Symphony of the Night (USA).cfg

Then the Switchres override must be:

Castlevania - Symphony of the Night (USA).switchres.ini

The base filename must match exactly.


The Core Folder Name Must Be Correct

The file must be placed inside the correct RetroArch core folder.

Example:

/userdata/system/configs/retroarch/config/PCSX-ReARMed/

Other cores will use different folder names.


Use Minimal Overrides When Possible

For this specific use case, a minimal override is often easier than copying the full /etc/switchres.ini.

Example:

user_mode 2560x240
interlace 0

This keeps the override easy to read and reduces the chance of accidentally changing unrelated Switchres options.


Use Folder Overrides for Multiple Games

Do not create separate per-game overrides for many games if they all need the same fixed mode.

Instead, place them in a folder such as:

/userdata/roms/psx/240_no_mode_switch

Then use one matching folder override:

/userdata/system/configs/retroarch/config/PCSX-ReARMed/240_no_mode_switch.switchres.ini

Final Result

You can now disable or reduce unwanted Switchres mode switching at the level you need:

One problem game       -> game-specific .switchres.ini
Several similar games  -> folder-specific .switchres.ini
Whole core             -> core-wide .switchres.ini
All RetroArch cores    -> global RetroArch switchres.ini

This gives fine control over AMD APU and dGPU setups using a DAC, without forcing the same fixed mode globally for every RetroArch game.


➡️ Digital to Analog (DAC)

Clone this wiki locally