Official Release
Eden Lineage + Patched SDL3 + RenHDrum Rust Core

Brontide
Distant Thunder for Your Switch Controller

Named after the low rumble of distant thunder (“brontide”). Built on the Eden C++/SDL3 lineage, Brontide delivers authentic HD Rumble and DualSense haptics, with HD Rumble Studio built in and an optimized LTO + PGO build.

Base Lineage Eden 989768aa46 Cherry-pick Qt #4577
Haptic Core renhdrum.dll Shared Rust core
Driver Layer Patched SDL3 No-Queue & Write-After-Input
Optimization MSVC PGO + LTO Profile-Guided x86-64-v3
v1.1.0

Version 1.1.0 Highlights

  • ⚡ DualSense HD Rumble over Bluetooth (voice-coil haptics, no cable needed)
  • ⚡ Plug in a Pro Controller or DualSense: it becomes Player 1 automatically
  • ⚡ Get started guide: keys, firmware and controller in one place
  • ⚡ Report a controller problem: one click packs the logs for GitHub
  • ⚡ Update notice when a new version is out
The Motivation

Why Brontide Exists: Recovering Lost Frequencies

Eden runs newer titles than older Ryujinx forks, but it flattens the vibration pitch inside the emulator, before the signal ever reaches SDL or the controller.

Nintendo Switch games communicate rumble through 4 continuous parameters per channel: low-band amplitude, high-band amplitude, low-band frequency, and high-band frequency. When games play melodies or footstep textures, the frequency parameters carry the pitch of every single note.

In upstream Eden (nightly 989768aa46), the vibration handler in sdl_driver.cpp uses frequency solely as an amplitude attenuator before calling SDL_RumbleGamepad(low, high). By reducing 4 distinct parameters down to 2 generic motor magnitudes, all pitch information is permanently erased.

Because the frequencies are destroyed inside the emulator executable before reaching the operating system boundary, an external hooking DLL (like version.dll) can never recover them. To bring true HD Rumble to Eden, we engineered a clean thin hook (~460 lines) directly inside Eden's input subsystem and linked it to renhdrum.dll.

Engineering Journey

What We Tried & What We Learned

Building Brontide took multiple architectural pivots over late October 2026. Here is the honest chronological progression.

⚡
October 20, 2026

External Hook Attempt (version.dll)

Tried capturing rumble at the SDL / OS boundary without touching Eden source code. Found that frequencies were already collapsed upstream. Proved external hooking cannot achieve true HD Rumble; pivoted to direct source modifications.

⚡
October 21, 2026

Bundled SDL3 vs. Patched Source Build

Eden's default CMake setup downloads a prebuilt binary of SDL3 that lacks custom rumble patches. Disabled bundled SDL3 (-DYUZU_USE_BUNDLED_SDL3=OFF) and compiled patched SDL3 directly from source.

⚡
October 22, 2026

Companion App & 4096-Byte Shared Memory

Initially built Brontide-App as a standalone companion tool communicating over a 4096-byte shared memory block, keeping Eden's Qt user interface untouched during early rapid testing.

⚡
October 23, 2026

Testing Eden Stable (SDL2 2.32.10)

Explored backporting to Eden Stable with SDL2. Decided to shelve SDL2 and focus 100% on the modern SDL3 pipeline, ensuring long-term hardware compatibility.

⚡
October 24, 2026

Rebranding to Brontide

Transitioned from working names (eden-hdr / Eden-hdrum) to Brontide, named after the natural acoustic phenomenon of distant thunder.

⚡
October 26–27, 2026

Distinct Identity: HD Rumble Studio & PGO Optimization

Brought the full HD Rumble Studio into the emulator, crafted the “Golden Thunder” theme, added “Try the thunder” and connect rumbles, and produced LTO + PGO release builds. Tested on a real Switch Pro Controller and DualSense.

Architectural Evolution

SDL2 in Ryuhdr vs. SDL3 in Brontide

How our second-generation SDL3 integration improves upon the pioneering SDL2 patches.

Component Ryuhdr (SDL2) Brontide (SDL3)
Haptic Brain C# code embedded inside emulator Shared renhdrum.dll Rust core
Patch Architecture Single monolithic deep patch in SDL2 driver 2 modular patches + 3 public C query APIs
Adapter Safety Modes fixed by Ryuhdr's own SDL2 build Asks SDL if supported; graceful fallback on cheap adapters
Build Pipeline Bundled patched SDL2 binaries Built from source via CMake (-DYUZU_USE_BUNDLED_SDL3=OFF)
DualSense Engine C# DSP inside the emulator (USB; Bluetooth in 0.5.1) Rust DSP • USB + Bluetooth

SDL3 opens the door to next-generation gamepads like Switch 2 and Steam Controller. Brontide is our SDL3 testbed: the exact same unified base that will let RenHDrum reach new controllers tomorrow. Explore how SDL3 expands our controller roadmap →

Head-to-Head

Stock Eden vs. Brontide

Four fundamental upgrades that transform controller immersion in Brontide.

1. Pitch Frequency & 5 ms Envelopes

Stock Eden: Frequency is only used to lower the strength; output is reduced to 2 motor strengths. Notes and footsteps are lost.
Brontide: Preserves all 4 parameters via thin hook; feeds RenHDrum's 3-slot 5 ms AM/FM planner and Crisp Notes pre-emphasis.

2. DualSense Haptics

Stock Eden: DualSense receives coarse motor vibration commands; physical voice-coil actuators remain completely unutilized.
Brontide: Drives the stereo voice coils directly through the controller's 48 kHz 4-channel USB audio stream, retrying until Windows opens it.

3. Bluetooth & Button Latency

Stock Eden: SDL skips button reads while rumble is pending and resends rumble every 50 ms, which can delay or swallow button presses over Bluetooth.
Brontide: Write-After-Input (B1), a 5 ms envelope at one packet per 15 ms (B3) and a 150 ms refresh keep rumble from delaying your button presses.

4. Haptic Configuration

Stock Eden: Per-player vibration strength only; no HD Rumble settings.
Brontide: Built-in HD Rumble Studio, live connection detection, Recommended defaults, “Try the thunder” and connection rumbles.
Crafted Details

Inside Brontide: The “Golden Thunder” Experience

Designed for tactile joy from the very first click, with zero frame rate impact during gameplay.

⚡

⚡ HD Rumble Pill

Prominent gold pill on the header bar, inviting players to click and test haptics immediately.

🎮

HD Rumble Studio

Dedicated control window with dynamic controller cards, Recommended mode, and collapsible fine-tuning.

⚡

“Try the Thunder”

One-click haptic test that sends a lightning-strike rumble to your connected controller.

🔊

Thunder on Connect

A subtle, satisfying rumble pulse greets your Pro Controller or DualSense the moment you plug it in.

📊

Ryuhdr-Style Overlay

Detailed & compact performance metrics with a live cyan HD Rumble vibration indicator (Ctrl+T).

👑

Golden Thunder Theme

Deep warm stone background with lightning yellow accents. No animations run while you play.

Brontide HD Rumble Studio

Brontide HD Rumble Studio: controller status & Recommended mode

Brontide HD Rumble Detailed Settings

Tree-view tuning: 5 ms AM/FM slots, pitch controls & Crisp Notes

Brontide v1.1.0 • Windows x64 (Clean Release) • 21.6 MB • GPL-3.0
⬇ Download Brontide
Fast, direct download powered by Cloudflare R2 • No ads • No installers
SHA-256 Checksum Verification Verify file integrity
bec0e059c9631b669a1cf0ccfea5040f0232c2b04d0fe511c4e4a50fcb48762c
PowerShell: Get-FileHash .\Brontide-1.1.0-win-x64.zip -Algorithm SHA256
Source Code (GPL-3.0): Brontide-source.zip (13.7 MB · SHA-256: 4af611185293650eee9a31d7eb8ddf6675d43226b776f31077dc83205a99fdfe)
🛡 Windows SmartScreen Notice (Unsigned Binary)

Brontide is an independent, community-driven build and does not possess an expensive commercial code-signing certificate. When running brontide.exe for the first time, Windows SmartScreen may display "Windows protected your PC". To launch: verify that the SHA-256 checksum matches above, then click "More info" (Thêm thông tin) followed by "Run anyway" (Vẫn chạy).

⚠ Strict Policy: No Keys, Firmware, or Game ROMs Included

This download contains NO prod.keys, NO system firmware and NO games. Keys and firmware must come from your own Nintendo Switch console.