Skip to content

HeyIamUsingArchBtw/t7patch-manager-linux

Repository files navigation

T7Patch Manager

A tiny GTK4 desktop app that installs, launches, toggles and configures T7Patch v3 — the community patch that makes multiplayer for Call of Duty: Black Ops III work again on Linux.

  • One-click install of the latest T7Patch release
  • Launch the game from the app
  • Enable / disable the patch without uninstalling
  • Edit t7patch.conf (player name, network password, friends-only) in a real UI
  • Detects your BO3 install automatically (via Steam's libraryfolders.vdf)
  • Auto-detects updates and offers to install them

Deutsch weiter unten · 🇩🇪 Deutsche Version


Requirements

  • Linux with a working Steam install
  • Black Ops III owned in Steam
  • Proton (Proton-GE or Proton Experimental — either works with T7Patch v3)
  • GTK 4 + libadwaita (shipped with GNOME, KDE Plasma 6, and most modern desktops)
  • Python 3.11+ and PyGObject

You don't need to install any of these by hand — ./install.sh does it for you. It auto-detects your distro's package manager and installs whatever is missing. See below.

Install

One-shot installer (recommended, any Linux distro)

git clone https://github.com/HeyIamUsingArchBtw/t7patch-manager
cd t7patch-manager
./install.sh

The installer auto-detects your package manager and works on all major distros:

Distro family Package manager
Arch, CachyOS, Manjaro, EndeavourOS, Garuda pacman
Debian, Ubuntu, Pop!_OS, Mint, Zorin apt
Fedora, RHEL, Rocky, Alma, Nobara dnf
openSUSE Tumbleweed / Leap zypper
Void Linux xbps
Alpine apk
Solus eopkg

The script:

  1. detects your package manager and installs anything missing (Python 3.11+, PyGObject, GTK 4, libadwaita, pipx),
  2. verifies that import gi; Gtk; Adw actually works from Python — if not, it auto-retries a second install pass,
  3. puts ~/.local/bin on your PATH (fish/bash/zsh detected),
  4. installs the app via pipx, then enables include-system-site-packages on the pipx venv so it can see your distro's PyGObject,
  5. registers a .desktop entry + icon, and
  6. offers to launch the app.

Additional flags:

  • ./install.sh --yes — non-interactive; useful for scripts.
  • ./install.sh --diagnose — print environment status without touching anything.
  • ./install.sh --use-pip — skip pipx; use a plain venv at ~/.local/share/t7patch-manager/venv (last-resort fallback).
  • ./install.sh --skip-deps — don't touch system packages.
  • ./install.sh --uninstall — reverse everything the installer put in place.

On unsupported package managers the script lists the packages you need and continues with --skip-deps.

AUR (once published)

paru -S t7patch-manager
# or
yay -S t7patch-manager

Manual (from source)

If you'd rather do it by hand, install the system packages for your distro first:

# Arch / CachyOS / Manjaro
sudo pacman -S --needed python python-gobject gtk4 libadwaita python-pipx
# Debian / Ubuntu / Mint
sudo apt install python3 python3-gi python3-gi-cairo gir1.2-gtk-4.0 gir1.2-adw-1 pipx
# Fedora
sudo dnf install python3 python3-gobject gtk4 libadwaita pipx

Then:

git clone https://github.com/HeyIamUsingArchBtw/t7patch-manager
cd t7patch-manager
pipx install .
# Let pipx see the system PyGObject:
echo 'include-system-site-packages = true' \
    >> ~/.local/share/pipx/venvs/t7patch-manager/pyvenv.cfg

Usage

  1. Open T7Patch Manager from your app menu.
  2. Click Install T7Patch v3.xx — the app downloads the latest release and drops the patch files into your BO3 folder.
  3. In the Steam launch options row, click Set automatically. The app writes the required Proton launch string into Steam's config for you. If Steam is still running, it offers to close Steam cleanly first (Steam overwrites its config file on exit, so this step is mandatory).
  4. Optional: click Edit… to set your in-game name and network password.
  5. Hit Play. Steam launches BO3 through Proton with the patch active.

If you'd rather do it by hand, the target launch string is WINEDLLOVERRIDES="dsound=n,b" %command% — right-click BO3 in Steam → PropertiesLaunch options.

Non-Steam BO3 (Lutris / Heroic / manual install / DRM-free copy):

  • The app auto-detects installs under ~/Games/Call of Duty Black Ops III, Lutris/Heroic/Bottles prefixes, or you can point it at any folder via Preferences → BO3 install path.
  • If you added BO3 to Steam via Add a Non-Steam Game and want the Steam launch options set for that shortcut too, open Preferences → Steam launch options and click Detect — the app scans your Steam shortcuts and fills in the correct per-user AppID for you.
  • If you don't use Steam at all, the launch-options auto-set doesn't apply — you set WINEDLLOVERRIDES in your Lutris/Heroic/Bottles launcher wrapper instead. The rest of the app (install/toggle patch, edit t7patch.conf) still works.

The toggle at the top disables the patch (renames the DLLs to *.disabled) whenever you want vanilla BO3 for a session, without deleting anything.

Performance mode & Performance monitoring:

Below the launch-options row you'll see two switches:

  • Performance mode (GameMode) wraps BO3 in gamemoderun. Feral GameMode temporarily bumps the CPU governor to performance, pins the CPU frequency, and gives the game realtime-ish scheduling priority. On laptops and CPUs with aggressive power-saving this is often the single biggest fix for stutter and low 1% lows in menus and matches.
  • Performance monitoring (MangoHud) wraps BO3 in mangohud. This draws an FPS/CPU/GPU overlay on top of the game so you can see whether a stutter is caused by GPU load, CPU load, or something else entirely.

If either tool isn't installed yet, flipping the switch to on prompts the app to install it for you: it detects your distro (Arch/CachyOS/Manjaro, Debian/Ubuntu/Mint, Fedora, openSUSE), asks for your password once via a polkit prompt, and shows a live log window with progress. On success it enables the wrapper automatically.

Both switches rewrite Steam's launch string for you — they add gamemoderun and/or mangohud in front of %command% in the correct order (GameMode outside, MangoHud inside, exactly what ProtonDB and the MangoHud docs recommend). If Steam is running when you flip a switch, the app offers to close it cleanly first, otherwise Steam would overwrite the change when it exits. The switches are disabled if the respective tool isn't installed, and also if you've set a custom launch string in Preferences (because in that case the app can no longer safely rewrite it for you).

Troubleshooting

If the installer or the app misbehaves, start here.

Run diagnostics

./install.sh --diagnose

This checks Python, GTK 4 / libadwaita bindings, pipx, your Steam paths and BO3 install, without changing anything on your system.

Common issues

  • t7patch-manager command not found after install. Restart your shell (or open a new terminal). The installer adds ~/.local/bin to your PATH, but the change only applies to new shells.
  • App won't start / GTK4 or libadwaita import error. Make sure your distro's python3-gi, gtk4, and libadwaita packages are installed. Debian/Ubuntu users also need gir1.2-adw-1. Then re-run ./install.sh.
  • pipx isn't available on your distro. Re-run with ./install.sh --use-pip to install into a standalone venv at ~/.local/share/t7patch-manager/venv instead.
  • The app can't find your BO3 install. Open Preferences… from the menu and set the BO3 path manually (the folder that contains BlackOps3.exe).
  • T7Patch download fails / GitHub is blocked. Open Preferences… and either point the app at a mirror URL, or download Linux.Steamdeck.and.Manual.Windows.Install.zip yourself from Scroptss/T7Patch releases and set that local zip as the source override.
  • Something else went wrong. In the app, open the menu → Debug log…, copy the log, and open an issue on GitHub.

FAQ

Do I still need dsound.dll.disabled chattr tricks / hosts blocks / depot reverts? No. T7Patch v3 fixed the February 2026 injection issue natively. The old workarounds are obsolete.

Does this touch anything outside my BO3 folder? No. It only writes to ~/.local/share/Steam/steamapps/common/Call of Duty Black Ops III/.

Where's the config? Same folder — t7patch.conf. The GUI reads and writes that file.

Credits

License

MIT — see LICENSE.


Deutsch

Ein winziges GTK4-Programm, das T7Patch v3 installiert, startet, ein-/ausschaltet und konfiguriert — den Community-Patch, der den Multiplayer von Call of Duty: Black Ops III unter Linux wieder zum Laufen bringt.

Was es kann

  • T7Patch mit einem Klick installieren (neuestes Release, automatisch)
  • BO3 direkt aus der App starten
  • Patch ein- und ausschalten, ohne ihn zu deinstallieren
  • t7patch.conf in einer richtigen UI editieren (Spielername, Netzwerk-Passwort, „nur Freunde")
  • Findet deinen BO3-Ordner selbst (über Steams libraryfolders.vdf)
  • Prüft automatisch auf Updates

Voraussetzungen

  • Linux mit funktionierender Steam-Installation
  • BO3 in Steam gekauft
  • Proton (Proton-GE oder Proton Experimental — beides läuft mit T7Patch v3)
  • GTK 4 + libadwaita (bei GNOME, KDE Plasma 6 und den meisten modernen Desktops schon dabei)
  • Python 3.11+ mit PyGObject

Du musst nichts davon selbst installieren — ./install.sh erledigt das für dich. Der Installer erkennt deinen Paketmanager und installiert automatisch nach, was fehlt.

Installation

Ein-Kommando-Installer (empfohlen, jede Linux-Distro)

git clone https://github.com/HeyIamUsingArchBtw/t7patch-manager
cd t7patch-manager
./install.sh

Das Script erkennt deinen Paketmanager automatisch und funktioniert auf allen gängigen Distributionen: pacman (Arch/CachyOS/Manjaro), apt (Debian/Ubuntu und Derivate), dnf (Fedora/RHEL/Nobara), zypper (openSUSE), xbps (Void), apk (Alpine), eopkg (Solus).

Das Script:

  1. erkennt deinen Paketmanager und installiert fehlende System-Pakete (Python 3.11+, PyGObject, GTK 4, libadwaita, pipx),
  2. prüft danach mit import gi; Gtk; Adw, ob die Bindings wirklich importierbar sind — falls nicht, wird ein zweiter Install-Durchlauf gestartet,
  3. trägt ~/.local/bin in deinen PATH ein (fish/bash/zsh erkannt),
  4. installiert die App via pipx und aktiviert include-system-site-packages im pipx-venv, damit dein System-PyGObject sichtbar bleibt,
  5. registriert Desktop-Eintrag + Icon und
  6. bietet an, die App direkt zu starten.

Weitere Flags:

  • ./install.sh --yes — nicht-interaktiv (alle Prompts automatisch „ja").
  • ./install.sh --diagnose — Umgebung prüfen ohne etwas zu ändern.
  • ./install.sh --use-pip — pipx überspringen; fester venv als Fallback.
  • ./install.sh --skip-deps — System-Pakete unangetastet lassen.
  • ./install.sh --uninstall — alles rückgängig machen, was der Installer eingerichtet hat.

Über das AUR (sobald verfügbar)

paru -S t7patch-manager

Manuell aus dem Quellcode

git clone https://github.com/HeyIamUsingArchBtw/t7patch-manager
cd t7patch-manager
pipx install --system-site-packages .

Benutzung

  1. T7Patch Manager aus dem App-Menü öffnen.
  2. Auf Install T7Patch v3.xx klicken — die App lädt das neueste Release herunter und legt die Patch-Dateien in deinen BO3-Ordner.
  3. In der Zeile Steam launch options auf Set automatically klicken. Die App trägt die benötigte Proton-Startzeile für dich in Steams Config ein. Läuft Steam gerade, bietet sie an, Steam vorher sauber zu beenden (Steam überschreibt seine Config-Datei beim Beenden aus dem RAM — daher ist das Schließen zwingend).
  4. Optional: Edit… → Spielername und Passwort setzen.
  5. Auf Play klicken. Steam startet BO3 mit aktivem Patch.

Wer es lieber selbst macht: der Zielstring ist WINEDLLOVERRIDES="dsound=n,b" %command% — Rechtsklick auf BO3 in Steam → EigenschaftenStartoptionen.

Non-Steam BO3 (Lutris / Heroic / manuelle Installation / DRM-freie Kopie):

  • Die App findet Installationen unter ~/Games/Call of Duty Black Ops III, in Lutris/Heroic/Bottles-Prefixes automatisch — oder du zeigst ihr den Ordner über Preferences → BO3 install path.
  • Wenn du BO3 über Nicht-Steam-Spiel hinzufügen in Steam eingetragen hast und die Steam-Launch-Options auch für diese Verknüpfung setzen willst: Preferences → Steam launch optionsDetect klicken. Die App scannt deine Steam-Shortcuts und trägt die richtige benutzerspezifische AppID für dich ein.
  • Ohne Steam überhaupt: das automatische Setzen der Launch-Options greift nicht — WINEDLLOVERRIDES muss dann im Lutris-/Heroic-/Bottles-Wrapper gesetzt werden. Der Rest der App (Patch installieren/deaktivieren, t7patch.conf bearbeiten) funktioniert trotzdem.

Der Schalter oben deaktiviert den Patch (benennt die DLLs zu *.disabled um) wenn du mal Vanilla-BO3 haben willst — ohne etwas zu löschen.

Performance mode & Performance monitoring:

Unter der Launch-Options-Zeile findest du zwei Schalter:

  • Performance mode (GameMode) wickelt BO3 in gamemoderun ein. Feral GameMode setzt den CPU-Governor temporär auf performance, pinnt die CPU-Frequenz nach oben und gibt dem Spiel Echtzeit-nahe Scheduling-Priorität. Auf Laptops und CPUs mit aggressivem Power-Saving ist das oft der wichtigste Fix gegen Stotterer und eingebrochene 1%-Lows in Menüs und Runden.
  • Performance monitoring (MangoHud) wickelt BO3 in mangohud ein. Damit legt sich ein Overlay mit FPS-, CPU- und GPU-Werten übers Spiel, sodass du siehst ob ein Ruckler von der GPU-Last, der CPU-Last oder was ganz anderem kommt.

Ist eins der Tools noch nicht installiert, bietet die App beim Umlegen des Schalters die Installation an: sie erkennt deine Distro (Arch/CachyOS/Manjaro, Debian/Ubuntu/Mint, Fedora, openSUSE), fragt einmal per Polkit-Dialog nach deinem Passwort und zeigt ein Live-Log-Fenster mit Fortschritt. Bei Erfolg wird der Wrapper danach automatisch aktiviert.

Beide Schalter schreiben deinen Steam-Startstring für dich um — sie setzen gamemoderun und/oder mangohud in der korrekten Reihenfolge vor %command% (GameMode außen, MangoHud innen, wie ProtonDB und die MangoHud-Doku es empfehlen). Läuft Steam gerade beim Umlegen, bietet die App an, Steam vorher sauber zu beenden — sonst überschreibt Steam die Änderung beim nächsten Beenden. Ist das jeweilige Tool nicht installiert, oder hast du in den Einstellungen einen eigenen Launch-String hinterlegt, sind die Schalter ausgegraut (im Custom-Fall, weil die App den String dann nicht mehr sicher umschreiben kann).

Fehlersuche

Wenn beim Installieren oder Starten etwas schief geht, hier ansetzen.

System-Check ausführen

./install.sh --diagnose

Prüft Python, GTK 4 / libadwaita, pipx, deine Steam-Pfade und die BO3-Installation — ohne irgendetwas am System zu ändern.

Häufige Probleme

  • t7patch-manager ist nach der Installation nicht auffindbar. Neue Shell öffnen (oder Terminal neu starten). Der Installer trägt ~/.local/bin in den PATH ein — das gilt nur für neu geöffnete Shells.
  • App startet nicht / GTK4 oder libadwaita Import-Fehler. Stell sicher, dass die Pakete python3-gi, gtk4 und libadwaita deiner Distro installiert sind. Auf Debian/Ubuntu zusätzlich gir1.2-adw-1. Danach ./install.sh erneut ausführen.
  • pipx gibt's auf deiner Distro nicht. ./install.sh --use-pip ausführen — installiert dann in ein eigenständiges venv unter ~/.local/share/t7patch-manager/venv.
  • App findet BO3 nicht. Im Menü Preferences… öffnen und den BO3-Pfad manuell setzen (der Ordner, in dem BlackOps3.exe liegt).
  • T7Patch-Download schlägt fehl / GitHub blockiert. In Preferences… eine Mirror-URL setzen oder Linux.Steamdeck.and.Manual.Windows.Install.zip selbst von den Scroptss/T7Patch Releases herunterladen und die lokale Zip-Datei als Quelle wählen.
  • Irgendwas anderes ist kaputt. In der App Menü → Debug log… öffnen, Log kopieren und ein Issue bei GitHub aufmachen.

About

GTK4 app to install, launch, toggle and configure T7Patch v3 for Call of Duty: Black Ops III on Linux

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors