Skip to content

mKenfenheuer/steamdeck-kernel-driver

Repository files navigation

SteamDeckHID – Windows Kernel Driver für den Steam Deck Controller (Neptune)

Dieses Projekt stellt zwei KMDF-Treiber bereit, um den integrierten Steam Deck Controller (Valve Neptune) unter Windows nativ nutzbar zu machen.

Überblick

Der Stack besteht aus zwei Komponenten:

  • SteamDeckHID.sys
    HID-Eingangstreiber für das echte USB-Gerät. Leitet HID-Reports an den SteamDeckBus zur Emulation des Xbox360 Controller weiter

  • SteamDeckBus.sys
    Virtueller Bus mit emuliertem Xbox360-Controller. Der Bus-Treiber basiert auf einer stark reduzierten XUSB Emulation, ähnlich ViGEmBus.

Features

  • Native HID Gamepad-Unterstützung
  • XInput-Kompatibilität (Xbox 360 Emulation)
  • Kein zusätzlicher Userspace-Dienst notwendig
  • Komplett im Kernel implementiert

Architektur

Steam Deck Hardware
↓
usbccgp
↓
SteamDeckHID.sys
↓
DirectInput / SDL
↓
SteamDeckBus.sys
↓
Virtueller Xbox 360 Controller
↓
XInput

Voraussetzungen

Für Build und Entwicklung:

  • Windows 11
  • Visual Studio 2022
  • Windows Driver Kit (WDK)
  • (Optional) WinDbg Preview für Debugging

Wichtig: WDK und Windows SDK sollten dieselbe Version haben.

How to Use

1. Test-Signing aktivieren

Treiber müssen signiert sein. Für lokale Tests:

bcdedit /set testsigning on

→ Neustart

2. Test-Zertifikat erstellen

.\scripts\create-test-cert.ps1

3. Treiber bauen

.\scripts\build.ps1 -Sign

Optionen:

# Debug Build
.\scripts\build.ps1 -Configuration Debug -Sign

# Release Build
.\scripts\build.ps1 -Configuration Release -Sign

# Clean Build
.\scripts\build.ps1 -Configuration Release -Sign -Clean

4. Installation

.\scripts\install.ps1

Optional:

# Release installieren
.\scripts\install.ps1 -Configuration Release

# Deinstallieren
.\scripts\install.ps1 -Action uninstall

5. Funktion testen

  • joy.cpl öffnen → Controller sollte sichtbar sein
  • XInput-Spiel starten → sollte als Xbox Controller erkannt werden

Status

Work in Progress. Issues und Pull Requests sind willkommen.

Referenzen

About

Windows Kernel Driver für den Steam Deck Controller (Neptune)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors