About Blog Docs FAQ Compatibility
siReddit
← Back to Documentation

Advanced Topics

Advanced configuration, modding support, and technical deep-dives for power users and developers

Advanced Configuration

Custom Configuration Files

suyu supports advanced configuration through custom configuration files and command-line parameters.

  • Config Location: %APPDATA%/suyu/config/ (Windows)
  • Linux Config: ~/.config/suyu/
  • Custom Settings: Edit qt-config.ini for advanced options

Performance Tuning

CPU Optimization

  • CPU Accuracy: Adjust between Auto, Accurate, and Unsafe for performance vs accuracy trade-offs
  • Multicore: Enable multicore CPU emulation for better performance on multi-threaded systems
  • Unsafe Optimizations: Enable for maximum performance (may cause instability)

GPU Optimization

  • GPU Accuracy: Normal, High, or Extreme accuracy levels
  • Async GPU: Enable asynchronous GPU emulation for better performance
  • Shader Cache: Precompiled shader cache management and optimization

Modding and Homebrew

Mod Installation

  1. Navigate to File → Install Files to NAND
  2. Select your mod files (NSP format recommended)
  3. Restart suyu to apply changes
  4. Enable mods in Emulation → Configure → General → Patches

Homebrew Support

suyu supports running homebrew applications and development tools.

  • NRO Files: Directly executable homebrew applications
  • Development Mode: Enable developer options for homebrew testing
  • Debug Features: Access to debugging tools and logging

Technical Deep-Dives

Emulation Architecture

Understanding suyu's emulation architecture can help with troubleshooting and optimization.

  • HLE (High-Level Emulation): System service emulation for compatibility
  • LLE (Low-Level Emulation): Hardware-level emulation for accuracy
  • JIT Compilation: Just-in-time compilation for ARM64 code execution
  • GPU Emulation: Vulkan/OpenGL translation layer

Debugging and Logging

Advanced debugging features for developers and power users.

  • Log Levels: Configure logging verbosity (Trace, Debug, Info, Warning, Error)
  • Performance Metrics: Enable FPS counter, frame time graphs, and CPU/GPU usage
  • Memory Debugging: Memory usage tracking and leak detection
  • Crash Dumps: Automatic crash dump generation for debugging

Command Line Usage

suyu supports various command-line arguments for automation and advanced usage.

suyu.exe [options] [game_path]

Options:
-f, --fullscreen Start in fullscreen mode
-g, --game <path> Load game from specified path
-c, --config <path> Use custom configuration file
--log-level <level> Set logging level (0-5)
--version Show version information
--help Show help message

Advanced Troubleshooting

Performance Issues

  • Shader Compilation: First-time shader compilation causes stuttering - this is normal
  • CPU Bottlenecks: Monitor CPU usage and adjust accuracy settings
  • Memory Issues: Ensure sufficient RAM and close unnecessary applications
  • GPU Driver Issues: Update graphics drivers and check compatibility

Compatibility Issues

  • Game-Specific Settings: Some games require specific configuration tweaks
  • Firmware Compatibility: Ensure firmware version matches game requirements
  • Region Settings: Configure correct region and language settings
  • Save Data Issues: Backup and restore save data when troubleshooting

⚠️ Advanced User Warning

The settings and procedures described in this section are intended for advanced users. Incorrect configuration may cause instability, crashes, or other issues. Always backup your configuration and save data before making advanced changes.

Related Resources

Developer Guide

Building from source and contributing to suyu

Troubleshooting

Common issues and solutions