High-performance, multi-client Linux driver for the Elgato 4K60 Pro MK.2 and Elgato 4K Pro PCI-e capture card. Engineered for stability on modern kernels (6.12+). For older kernels, please use the original stoth68000/sc0710 repository (Only for MK.2).
| Distribution | Kernel Version | Status | Notes |
|---|---|---|---|
| Arch Linux | 6.18.7+ | Stable | Standard configuration. |
| Fedora | 6.17.12+ | Stable | Standard configuration. |
| Debian | 6.12.57+ | Stable | Warning: Repository version of OBS may crash. Use Flatpak OBS. |
| Fedora Atomic | 6.17.7+ | Experimental | Supported on Bazzite, Bluefin, Aurora, Silverblue. |
Unified installer that auto-detects your distro (Atomic or standard) and runs the appropriate flow. Supported on Arch Linux, Debian/Ubuntu, Fedora, and Fedora Atomic (Bazzite, Silverblue, Bluefin, Aurora).
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/Nakildias/sc0710/main/scripts/install-sc0710.sh)"On Fedora Atomic distros, the installer sets up a boot-time build service instead of DKMS. Both the above URL and atomic-install-sc0710.sh work (they use the same unified script).
Install sc0710-dkms-git using your preferred helper. Note that the CLI utility is not currently included in the AUR package.
yay -S sc0710-dkms-gitFor other distributions or development usage.
- Install Dependencies
- Arch Linux:
sudo pacman -S base-devel linux-headers git dkms - Debian/Ubuntu:
apt install build-essential linux-headers-$(uname -r) git dkms - Fedora/RHEL:
dnf install kernel-modules-$(uname -r) kernel-devel kernel-headers gcc make git dkms
- Arch Linux:
- Build and Load
git clone https://github.com/Nakildias/sc0710 cd sc0710 make sudo insmod build/sc0710.ko
The sc0710-cli tool (installed via the automatic script) provides real-time control.
| Command | Description |
|---|---|
sc0710-cli --status |
Show signal format, DKMS status, and module state. |
sc0710-cli --load |
Load the kernel module. |
sc0710-cli --unload |
Unload the kernel module (safely checks for usage). |
sc0710-cli --restart |
Reload the module. |
sc0710-cli --debug |
Toggle verbose dmesg logging. |
sc0710-cli --image-toggle |
Toggle between No Signal images and Colorbars. |
sc0710-cli --software-scaler |
Toggle software scaler modes (all cards). |
sc0710-cli --toggle-auto-scalar |
Toggle automatic safety scaler on/off. |
sc0710-cli --procedural-timings |
Toggle timing mode (merge, procedural-only, static-only). |
sc0710-cli --update |
Pull latest code and rebuild. |
sc0710-cli --remove |
Completely uninstall driver and CLI. |
sc0710-cli --version |
Show installed driver version. |
sc0710-cli --help |
Show usage information. |
- Multi-Client Support: Direct access for multiple simultaneous applications (e.g., OBS + Discord).
- DKMS Integration: Automatically rebuilds on kernel updates (Standard distros).
- Atomic Support: Custom systemd service for boot-time rebuilds on immutable/atomic distros (Bazzite, etc.).
- Status Images: Storage-efficient implementation of "No Signal" / "No Device" screens.
- Connection Sensing: Distinguishes between unplugged cables and signal loss (not 100% reliable).
- Video Formats: Supports 4K60, 1440p144, 1080p240 (requires Windows to change the EDID).
- Mode-Switch Stability: Atomic DMA resync, restart validation, and watchdog recovery significantly improve resolution/refresh switching while apps are open.
- Safety Scaling Paths: Auto-scaler and dynamic-resolution compatibility keep streams alive during geometry mismatches and reduce crash-prone transitions.
- Timing Controls: Runtime timing calculation modes (
merge,procedural-only,static-only) via CLI.
- HDR Tonemapping (On Hold): Requires opaque I2C commands to onboard ARM MCU.
- 10-bit Pixel Format (On Hold): Hardware register map for P010/P016 unknown.
- EDID Switching (On Hold): EEPROM write protocol unknown. (Workaround: Set EDID in Windows first).
-
Based on original reverse engineering by Steven Toth (@stoth68000) and subsequent work by @Subtixx.
-
Thanks to Onhil (@Onhil) for his work on the Elgato 4K Pro