About Blog Docs FAQ Compatibility
siReddit
← Back to Documentation

Developer Guide

Information for developers who want to contribute to suyu

Getting Started

📋 Prerequisites

  • C++20 compatible compiler (GCC 11+, Clang 12+, MSVC 2022)
  • CMake 3.22 or newer
  • Git for version control
  • Basic knowledge of emulation concepts

Building from Source

For detailed build instructions, see the README.md in our repository.

git clone https://github.com/suyu-emu/suyu.git
cd suyu
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)

Contributing

🤝 How to Contribute

  1. Submit a dev application in our GitHub Organization
  2. Once approved, we'll help set you up with repository access
  3. Fork the repository and create a feature branch
  4. Make your changes following our coding standards
  5. Submit a pull request with detailed description

Code Style Guidelines

  • Follow the existing code style and formatting
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Write unit tests for new functionality
  • Ensure code compiles without warnings

Architecture Overview

Core Components

  • Core: Main emulation engine and system services
  • Video Core: Graphics rendering and GPU emulation
  • Audio Core: Audio processing and output
  • Input: Controller and input device handling
  • Frontend: User interface and platform-specific code

Resources

Source Code

Main repository with all source code

Discussions

Community discussions and development chat