Skip to content

Nakildias/sc0710

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

122 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elgato 4K60 Pro MK.2 (1cfa:000e) and Elgato 4K Pro (1cfa:0012) Linux Driver

Kernel Compatibility AUR version Status GitHub last commit

License: GPL v2 GitHub stars GitHub issues

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).

Kernel Compatibility

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.

Installation

Automatic Installation (Recommended)

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).

Arch Linux (AUR)

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-git

Manual Compilation

For other distributions or development usage.

  1. 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
  2. Build and Load
    git clone https://github.com/Nakildias/sc0710
    cd sc0710
    make
    sudo insmod build/sc0710.ko

Driver Management (CLI)

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.

Features & capabilities

  • 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.

Known Limitations / Roadmap

  • 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).

Credits

About

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+).

Topics

Resources

License

Stars

Watchers

Forks

Contributors