R36S Audio & Performance Troubleshooting
Eliminate audio crackling, reduce input lag, and optimize RetroArch settings for responsive, high-quality gaming on your R36S handheld. Master per-core and per-game configuration.
Introduction
Audio and performance issues can significantly impact your gaming experience on the R36S. From crackling audio in Dreamcast games to input lag in action titles, these problems are frustrating but usually solvable through proper RetroArch configuration.
This guide covers the most common audio and performance issues, their root causes, and systematic solutions. You'll learn how to use RetroArch's Run-Ahead feature to reduce input lag, configure per-core audio settings to eliminate crackling, and save optimized settings for individual games or entire systems.
By the end of this guide, you'll have responsive controls, clean audio, and a deep understanding of RetroArch's powerful configuration system.
Audio Crackling Issues
Audio crackling is one of the most reported issues on R36S, particularly when using Wi-Fi dongles or playing Dreamcast games. Understanding the causes helps you apply the right fixes.
Root Causes of Audio Crackling
Hardware-Related Crackling:
- Wi-Fi dongle interference: USB dongles draw power from the same bus as the audio chip, creating electrical noise
- Power supply noise: The R36S's power delivery isn't perfectly clean, affecting analog audio output
- Speaker quality: The built-in speaker is susceptible to electromagnetic interference
Software-Related Crackling:
- Audio buffer too small: The CPU can't fill the audio buffer fast enough, causing gaps and pops
- Emulator audio sync issues: Some cores have imperfect audio timing
- System overload: When the CPU is maxed out, audio processing gets deprioritized
⚠️ Important
Wi-Fi dongle crackling is a hardware limitation caused by power supply interference. It cannot be completely eliminated, only mitigated. If clean audio is critical for your gameplay, consider disabling Wi-Fi during gaming sessions or using headphones.
General Audio Crackling Solutions
Hardware-Based Solutions:
- Use headphones instead of the speaker: The 3.5mm headphone jack has better shielding and is less affected by electromagnetic interference
- Remove the Wi-Fi dongle during gameplay: If you're not using network features, unplugging the dongle eliminates its interference
- Try a higher-quality Wi-Fi dongle: Some dongles have better power filtering and cause less interference
- Reduce volume to 70-80%: Lower volumes reduce the audibility of background noise and crackling
Software-Based Solutions:
- Increase audio buffer size: Settings → Audio → Audio Latency (set to 96ms or higher)
- Disable audio sync: Settings → Audio → Audio Sync (OFF) - may cause slight audio drift
- Reduce audio sample rate: Some cores work better at 44100Hz instead of 48000Hz
- Lower screen brightness: Reduces overall system load, freeing CPU for audio processing
Dreamcast-Specific Audio Issues
Dreamcast emulation via Flycast has unique audio challenges due to the complexity of the console's audio hardware.
Flycast Audio Settings:
- Launch a Dreamcast game
- Open RetroArch Quick Menu (SELECT + START)
- Navigate to Options → Audio
- Try these settings:
- Audio Buffer Size: Increase to "Large" or "Very Large"
- DSP Enable: Try toggling this ON/OFF to see which works better
- Audio Sync: Disable if crackling persists
- Return to Quick Menu → Overrides → Save Core Overrides
Games with Known Audio Issues:
- Sonic Adventure 1 & 2: Background music may crackle - increase audio buffer to max
- Crazy Taxi: In-game radio can stutter - disable audio sync
- Shenmue: Voice audio occasionally pops - use headphones to minimize
💡 Pro Tip
For Dreamcast games, always save audio settings as Core Overrides rather than Game Overrides. Dreamcast titles tend to have similar audio characteristics, so settings that work for one game usually work for all games using Flycast.
Input Lag Reduction
Input lag is the delay between pressing a button and seeing the result on screen. Even 2-3 frames of lag can make action games feel sluggish and unresponsive.
Understanding Input Lag Sources
Total input lag is the sum of multiple factors:
- Display lag: LCD response time (~16-20ms on R36S)
- Emulation lag: Time for the emulator to process input (~8-16ms)
- Audio sync lag: Waiting for audio buffer to align (~10-30ms)
- Frame buffering: V-sync and frame queue add 1-2 frames (~16-33ms)
While you can't eliminate display lag (hardware limitation), you can significantly reduce emulation and sync lag through RetroArch configuration.
RetroArch Run-Ahead Feature
Run-Ahead is RetroArch's most powerful input lag reduction tool. It simulates frames ahead of time and discards them if input changes, effectively hiding emulation lag.
How Run-Ahead Works:
- RetroArch runs the emulator normally
- It saves the game state
- It runs the emulator 1-2 frames ahead
- If you press a button, it rolls back and re-runs with your input
- You see the result 1-2 frames sooner than normal
Configuring Run-Ahead
- Access Latency Settings:
- Main Menu → Settings → Latency
- Enable Run-Ahead:
- Set "Run-Ahead to Reduce Latency" to ON
- Set Number of Frames:
- Start with 1 frame
- Test the game - if stable, try 2 frames
- Never exceed 2 frames (causes instability)
- Enable Second Instance (Optional):
- "Use Second Instance" → ON
- Uses more CPU but more accurate lag reduction
- Only use on less demanding systems (NES, SNES, Genesis)
⚠️ Important
Run-Ahead increases CPU usage by 30-100% depending on settings. On demanding systems like PS1 or N64, enabling Run-Ahead can cause performance drops. Always test thoroughly after enabling it.
Recommended Run-Ahead Settings by System
| System | Frames to Run Ahead | Second Instance | Notes |
|---|---|---|---|
| NES, Game Boy | 2 frames | ON | Very low CPU usage, safe to max out |
| SNES, Genesis | 2 frames | ON | Still efficient, excellent lag reduction |
| GBA, GBC | 1-2 frames | ON | Test per-game, some GBA games need 1 frame |
| PS1 | 1 frame | OFF | Higher CPU usage, use cautiously |
| N64 | 0-1 frames | OFF | Very demanding, may cause slowdown |
| Dreamcast | 0 frames | OFF | Too demanding, not recommended |
V-Sync and Frame Delay
Beyond Run-Ahead, these settings also affect input lag:
V-Sync (Settings → Video → Synchronization):
- V-Sync ON: Eliminates screen tearing but adds 1 frame of lag (~16ms)
- V-Sync OFF: Reduces lag but causes visible tearing during fast motion
- Recommendation: Keep ON for slow-paced games (RPGs), turn OFF for action games where responsiveness matters
Frame Delay (Settings → Latency):
- Delays frame rendering to get input as late as possible
- Range: 0-15 (higher = less lag but more CPU usage)
- Start with 0, increase by 1 at a time while testing
- If the game slows down, reduce by 1
💡 Pro Tip
For fighting games and platformers on 8-bit and 16-bit systems, use this combo: Run-Ahead 2 frames + V-Sync OFF + Frame Delay 4-6. This provides near-instantaneous response, making the R36S feel almost like original hardware.
Saving Settings Per Core and Per Game
RetroArch's override system lets you save different configurations for different systems or even individual games. This is essential because optimal settings vary widely.
Understanding the Settings Hierarchy
RetroArch applies settings in this priority order (highest to lowest):
- Game Overrides: Settings for one specific game
- Core Overrides: Settings for all games using a specific emulator core
- Global Settings: Default settings for everything
This hierarchy lets you set conservative global defaults while optimizing specific systems or games.
✅ Settings Hierarchy Example
Scenario: You want Run-Ahead for most games but not PS1
- Global: Run-Ahead OFF (safe default)
- SNES Core Override: Run-Ahead 2 frames (system can handle it)
- Super Metroid Game Override: Run-Ahead 2 + V-Sync OFF + Frame Delay 5 (competitive speedrun settings)
Result: Most games use safe defaults, SNES gets lag reduction, Super Metroid gets maximum responsiveness.
Step-by-Step: Saving Core Overrides
Use Core Overrides when you want settings to apply to an entire system (all NES games, all SNES games, etc.):
- Launch any game from the system you want to configure (e.g., any SNES game)
- Open RetroArch Quick Menu: Press SELECT + START
- Navigate to Settings: Quick Menu → Settings
- Configure your desired settings:
- Latency settings (Run-Ahead, Frame Delay)
- Video settings (V-Sync, aspect ratio, shaders)
- Audio settings (buffer size, sync)
- Return to Quick Menu main screen
- Select "Overrides"
- Choose "Save Core Overrides"
- Confirmation message appears: Settings saved
These settings now apply to ALL games using this emulator core (e.g., all SNES games if you were running a SNES core).
Step-by-Step: Saving Game Overrides
Use Game Overrides for individual games that need special treatment:
- Launch the specific game you want to configure
- Open Quick Menu: SELECT + START
- Adjust settings as needed
- Quick Menu → Overrides → Save Game Overrides
These settings apply ONLY to this specific ROM file.
When to Use Each Override Type
| Use Case | Override Type | Example |
|---|---|---|
| All SNES games need Run-Ahead | Core Override | Save once, affects all SNES ROMs |
| Dreamcast games need larger audio buffer | Core Override | Save once for Flycast core |
| One PS1 game lags with enhancements | Game Override | Disable enhancements just for that game |
| Speedrunning Super Metroid | Game Override | Maximum lag reduction just for this ROM |
| Set safe defaults for everything | Global Settings | Main Menu → Configuration File → Save |
Resetting Overrides
If you want to remove custom settings and return to defaults:
- Delete Core Override: Quick Menu → Overrides → Remove Core Overrides
- Delete Game Override: Quick Menu → Overrides → Remove Game Overrides
Performance Tuning Strategies
Effective performance tuning requires a methodical approach: test one change at a time, document what works, and be willing to revert changes that don't help.
Testing Methodology
- Establish a baseline: Test the game with default settings first
- Change one setting at a time: Never adjust multiple settings simultaneously
- Test thoroughly: Play for 5-10 minutes, not just 30 seconds
- Document your changes: Note what you changed and the effect
- Revert if no improvement: Don't leave settings enabled "just in case"
Balancing Quality vs Performance
Every enhancement has a performance cost. Find the sweet spot for each game:
- High priority (keep if possible): Stable 60fps, responsive controls, clean audio
- Medium priority (nice to have): Enhanced resolution, texture filtering, shaders
- Low priority (disable first): PGXP, rewind, excessive Run-Ahead frames
📋 Performance Testing Checklist
When optimizing a game, test these scenarios:
- ✓ Smooth gameplay during intense action sequences
- ✓ Audio remains clean without crackling
- ✓ Input feels responsive (no noticeable lag)
- ✓ Battery life is acceptable (check after 30 minutes)
- ✓ No crashes or freezes during extended play
- ✓ Save states work correctly
Common Performance Mistakes
- Enabling Run-Ahead on everything: Wastes battery on systems that don't need it
- Setting audio buffer too low: Causes crackling to save a few milliseconds
- Disabling V-Sync universally: Screen tearing is distracting in many game types
- Maxing out all enhancements: R36S can't handle 4x resolution + shaders + PGXP simultaneously