Installationsanleitung

Die ganze Installation ist: das Paket bauen, einen Parameter zur Kernel-Kommandozeile hinzufügen, neu starten. Diese Anleitung folgt der eigenen README des Projekts, einschließlich der Teile, die Leute sonst gern überfliegen — Verifizierung und Rollback.

Basierend auf der gpu-unlock-README v1.0.0 · Geprüft am 2026-10-25 · Quellprojekt

Bevor du anfängst

Nur Linux. Es gibt keine Windows-Version dieses Moduls. Deine Karte muss ein GA102-, GA103-, GA104- oder GA106-Modell sein (RTX-30-Serie) — prüfe deine zuerst. Das Projekt ist experimentell und inoffiziell; du veränderst, wie deine Hardware beim Booten initialisiert wird. Lies den Rollback-Abschnitt, bevor du anfängst, damit du weißt, dass der Ausweg existiert und einfach ist.

Wofür diese Anleitung gilt

Upstream-Projekt gpu-unlock v1.0.0, wie in seiner README dokumentiert, festgehalten bei Commit af28cbb (2026-10-24), für die Distributionsfamilien, die die README abdeckt (Arch, Debian/Ubuntu, Fedora/RHEL). Eine ehrliche Lücke: Die README dokumentiert kein Verhalten zu Secure Boot oder Modulsignierung — wenn deine Distribution Secure Boot erzwingt, kläre die Signierung für lokal gebaute Module anhand der eigenen Dokumentation deiner Distribution, bevor du neu startest. Und eine ständige Offenlegung: Diese Website hat keine Installation durchgeführt — es gibt hier kein Installationsprotokoll aus erster Hand; diese Schritte sind eine getreue Zusammenfassung der Upstream-README, die die maßgebliche Quelle bleibt.

Bekannte Installations-Vorbehalte

Ubuntu-24.04-Paketierung: Mindestens ein Nutzer hat berichtet, dass make install-deb unter Ubuntu 24.04 an einer nicht erfüllbaren dh-sequence-dkms-Build-Abhängigkeit scheitert, und die Installation stattdessen manuell abgeschlossen — siehe Upstream-Issue #59, bevor du deinen eigenen Workaround improvisierst.

Verifiziere, dass das Opt-in wirklich gelandet ist: Prüfe nach dem Bearbeiten deiner Bootloader-Konfiguration nach dem Neustart cat /proc/cmdline. Cloud-Images und neu generierte Boot-Einträge können Bootloader-Einstellungen überschreiben und den Parameter still fallen lassen.

Bevor du anfängst — der 60-Sekunden-Vorab-Check

Was du brauchst

Schritt 1 — Klonen und installieren

Hinweis: Der Klon zieht den aktuellen Default-Branch, der neuer sein kann als der Commit, gegen den diese Anleitung geprüft wurde (af28cbb).

git clone https://github.com/Zagitta/gpu-unlock
cd gpu-unlock
make install

make install erkennt deine Distribution und wählt den richtigen Installer. Die expliziten Varianten sind:

make install-arch   # makepkg -sif
make install-deb    # apt-get build-dep, dpkg-buildpackage, apt-get install
make install-rpm    # dnf builddep, rpmbuild, dnf install

make arch, make deb und make rpm bauen Pakete, ohne sie zu installieren (Debian- und RPM-Pakete landen in build/deb und build/rpm). Die Installation legt das Modul und seine Firmware in deine initramfs — bei mkinitcpio platziert ein Drop-in gpu_unlock unmittelbar vor nvidia in MODULES, damit eine Anzeigekarte so kurz wie möglich dunkel bleibt; initramfs-tools und dracut haben gleichwertige Drop-ins. Die Images werden bei der Installation neu gebaut.

Schritt 2 — Auf der Kernel-Kommandozeile aktivieren (Opt-in)

Das Modul ist träge, bis du ihm sagst, welche Karten es freischalten soll. Hänge gpu_unlock.targets=all an deine Kernel-Kommandozeile an und behalte deine bestehenden Optionen:

Statt all kannst du bestimmte Karten per vollständiger PCI-Adresse benennen, so wie lspci -D sie ausgibt:

gpu_unlock.targets=all                            # every unbound GA102/103/104/106 card
gpu_unlock.targets=0000:21:00.0                   # only this card
gpu_unlock.targets=0000:21:00.0,0000:22:00.0      # comma-separated list

Adressen sind unabhängig von GPU-Nummerierung und Anzeigerolle. Alles, was keine GA102/GA103/GA104/GA106-Karte ist — einschließlich einer Mischung aus all und Adressen — wird protokolliert und ignoriert. Die Freischaltung dauert insgesamt etwa eine Sekunde, egal wie viele Karten du hast; jede Karte wird für sich behandelt, und eine Karte, die bereits gebunden oder abgeschaltet ist, wird übersprungen.

Schritt 3 — Neustarten und verifizieren

Starte neu und prüfe dann das Kernel-Log:

journalctl -k -b | grep gpu_unlock
lspci -nnk -s 0000:21:00.0   # your card's address

Führe danach deinen üblichen FP16/BF16-Workload oder GEMM-Benchmark aus und vergleiche. Ein paar Verhaltensweisen, die man kennen sollte:

Rollback — wie du alles rückgängig machst

Der normale Ausstieg ist ein Parameter

Entferne gpu_unlock.targets= aus deiner Kernel-Kommandozeile und starte neu — es findet keine Freischaltung statt. Für einen einmaligen Stock-Boot lösche den Parameter stattdessen im Bearbeitungsbildschirm deines Bootloaders. Das Entfernen der Pakete entfernt auch das Modul und die initramfs-Drop-ins. Konstruktionsbedingt wird an der Karte, ihrer Firmware oder dem NVIDIA-Treiber nichts dauerhaft verändert — das ist der Rollback-Pfad, den die Upstream-Dokumentation beschreibt.

Ein Fehlermodus, den du respektieren solltest: Wenn die auf einer Karte laufende Firmware nie stoppt, protokolliert das Modul das und behält absichtlich die DMA-Puffer, die diese Firmware möglicherweise noch nutzt, bis zum nächsten Ausschalten. Schalte vollständig aus, bevor du es erneut versuchst — pfusche nicht weiter daran herum.

Lizenz und Herkunft

Das Kernelmodul und die lokale Paketierung stehen unter GPL-2.0-only. Die generierte Payload leitet sich von der festgelegten CMP-Referenz ab; die NVIDIA-Firmware bleibt unter ihren eigenen Bedingungen — siehe die Verzeichnisse firmware/NOTICE.md und licenses/ des Projekts für die Zuordnung. Wenn es für dich funktioniert, verlinkt die Projektseite Wege, seinen Autor zu unterstützen.

Ein Problem gefunden — oder eine Karte, die funktioniert?

Das Projekt bittet ausdrücklich um Kompatibilitätsberichte — ob es funktioniert hat oder nicht. Gerade für GA103-Karten gibt es noch keine Berichte. Deinen einzureichen ist der schnellste Weg, diese Liste genauer zu machen.