Skip to content

Latest commit

 

History

History
114 lines (77 loc) · 8.58 KB

README.de.md

File metadata and controls

114 lines (77 loc) · 8.58 KB

BC-250 Tweaks für Bazzite

🌐 EN · FR · DE · ES · IT · PT · NL · PL · RU

Gaming-Optimierungen für den ASRock BC-250 (AMD Ryzen Embedded V2000 / Cyan Skillfish GPU) unter Bazzite Linux.

Bazzite ist das primäre, vollständig getestete Ziel. Das Skript erkennt außerdem automatisch dein Betriebssystem und deinen Bootloader (Paketmanager und Kernel-Args-Methode — rpm-ostree, GRUB, Limine, systemd-boot oder rEFInd) und läuft daher als Best-Effort auch auf den anderen für die BC-250 dokumentierten Systemen (SteamOS/HoloISO, CachyOS/Arch, Fedora, Debian…). Die Unterstützung außerhalb von Bazzite wird über Community-Rückmeldungen validiert — bitte erstelle ein Issue, falls auf deiner Distro etwas nicht stimmt.

Manueller Ersatz für vietsmanns Image-Patcher, der für Bazzite 43+ nicht mehr gepflegt wird.


Schnellinstallation (Ersteinrichtung)

curl -sL https://raw.githubusercontent.com/Necrosiak/bc250-tweaks/main/bootstrap.sh | sudo bash

Dieser eine Befehl installiert alles für einen frischen BC-250: die System-Tweaks plus DeckyLoader und unsere Plugins (BC250-Toolkit, SkullKey, Steamcord). Danach jederzeit bc250-status ausführen für einen Gesundheits-Überblick (Temps, Lüfter, VRAM/UMA, RAM, aktive Tweaks, Proton-GE, Plugins).

Das Skript klont dieses Repository nach /opt/bc250-tweaks und installiert einen systemd-Dienst, der bei jedem Boot automatisch aktualisiert (git pull + apply).


Angewendete Tweaks

# Tweak Datei Beschreibung
1 Tuned/PPD /etc/tuned/ppd.conf balanced-bazzite im Ruhezustand → throughput-performance-bazzite im Spiel
2 Gaming-Umgebungsvariablen ~/.config/environment.d/gaming.conf RADV_DEBUG=nohiz, RADV_PERFTEST, FSR, Anti-lag, 10 GB Shader-Cache
3 DRI Unified Heap /etc/drirc GPU nutzt System-RAM-Pool — verhindert VRAM OOM bei großen APU-Spielen
4 Pipewire-Latenz ~/.config/pipewire/pipewire.conf.d/ quantum=512, rate=48000
5 Sysctl Gaming /etc/sysctl.d/99-bc250-gaming.conf compaction=0, numa_balancing=0, tcp_fastopen
6 Kernel-Argumente auto (rpm-ostree / grubby / GRUB / Limine / systemd-boot / rEFInd) amdgpu.ppfeaturemask=0xffffffff, amdgpu.gttsize=8000, split_lock_detect=off, transparent_hugepage=madvise
7 Gamemode /usr/local/bin/ Daemon + Libs manuell installiert (im Bazzite-Basisimage nicht enthalten)
8 PPD-Schalter /usr/local/bin/gamemode-{start,end}.sh Schaltet PPD performance↔balanced via busctl beim Spielstart
9 HHD /etc/hhd/state.yml balanced-Profil im Ruhezustand
10 scx_lavd /etc/scx_loader/config.toml Latenzorientierter Scheduler, geladen von bc250-scx-start — entschärft sich, wenn der vorherige Start hing (siehe unten)
11 MangoHud ~/.config/MangoHud/MangoHud.conf Leichtes Overlay, Toggle Shift+F12
12 vkBasalt CAS ~/.config/vkBasalt.conf Adaptives Schärfen, Toggle Home
13 Proton-GE ~/.steam/steam/compatibilitytools.d/ Neueste GE-Proton-Version installiert
14 umr sudoers /etc/sudoers.d/bc250-umr NOPASSWD sudo-Regel für umr (benötigt vom CU-Tab des BC250-Toolkit-Plugins)
15 CU boot sudoers /etc/sudoers.d/bc250-cu-boot NOPASSWD sudo-Regeln für CU-Boot-Persistenz (tee, chmod, systemctl)
16 UMA-Helper /usr/local/bin/bc250-uma-helper Root-Helper (NOPASSWD via /etc/sudoers.d/bc250-uma) zum Lesen/Schreiben der BIOS-EFI-Variable UMA Frame Buffer — genutzt vom VRAM (UMA)-Bereich des BC250-Toolkit-Plugins
17 Eingabe-uaccess /etc/udev/rules.d/70-bc250-input-uaccess.rules Gewährt dem Benutzer der aktiven Sitzung Lesezugriff auf Tastatur-/Maus-Event-Nodes (Bazzite taggt nur Joysticks) — nötig, um eine physische Taste zu belegen, während ein Spiel den Fokus hat, z. B. Steamcord Push-to-Talk. ⚠️ Jeder Prozess dieses Benutzers kann dann alle Tastenanschläge lesen; Datei löschen zum Zurücksetzen
18 Core boot sudoers /etc/sudoers.d/bc250-core-boot NOPASSWD sudo-Regeln, damit das Toolkit den 8C/16T-Boot-Dienst installieren kann (tee, chmod, systemctl enable/disable)

Der Scheduler entschärft sich selbst, wenn er hängt

scx_lavd bietet latenzorientiertes Scheduling, aber auf dieser Platine wirft der Kernel ihn mitunter hinaus: sched_ext: BPF scheduler "lavd_…" disabled (runnable task stall), mit einer Task, die 35 bis 45 Sekunden nicht gelaufen ist. Die gesamte Oberfläche friert ein — im selben Moment laufen systemd-Dienste in Timeouts, es blockiert also das System und nicht nur die Anzeige — dann lädt scx_loader neu und der Zyklus beginnt von vorn.

Gemessen auf der Referenz-BC-250 (6C/12T, Kernel 7.2.1-ogc2, scx-scheds 1.1.3-3) am 30.08.2026: Es passiert mit --autopower und mit --performance. Der Energiemodus ändert daran nichts. Unter den beobachteten Opfern war winedevice.exe — es kann also auch im Spiel zuschlagen, nicht nur auf dem Desktop.

Der Boot-Dienst rät deshalb nicht an Versionen herum, er beobachtet. bc250-scx-start zählt die Evictions des vorherigen Starts und entschärft sich ab zwei selbst, statt wiederholte Freezes zu erzwingen; dann bleibt der Kernel-Scheduler (EEVDF) aktiv. Erneut versuchen: sudo rm /var/lib/bc250-scx/disabled und neu starten. ./status.sh zeigt eine Zeile ↳ blocages scx, sobald der aktuelle Start welche gesehen hat.

--performance bleibt in Gebrauch, aus einem anderen Grund: Ein netzbetriebenes Mining-Board ohne Akku braucht kein Energieprofil — und erst recht keine Kern-Kompaktierung.

Empfohlene Steam-Startoption

MANGOHUD=1 MANGOHUD_CONFIG=no_display ENABLE_VKBASALT=1 gamemoderun %command%

Auto-Update

Der bc250-tweaks.service läuft bei jedem Boot:

  1. Prüft das Netzwerk
  2. git pull aus diesem Repository
  3. Führt apply.sh erneut aus (idempotent — ändert nur geänderte Dateien)
# Logs anzeigen
journalctl -u bc250-tweaks -f
tail -f /var/log/bc250-tweaks.log

# Update jetzt erzwingen
sudo /opt/bc250-tweaks/update.sh

BC-250 Hardware-Hinweise

  • GPU: Cyan Skillfish, Device ID 731F, Vendor 1002
  • Einige Spiele erkennen diese GPU nicht → DXVK-Spoof: DXVK_CONFIG="dxgi.customDeviceId=731F dxgi.customVendorId=1002"
  • TDP: ryzenadj und adjustor nicht unterstützt auf V2000 (Fam17h model 71)
  • Zu vermeidende Kernel: 6.15.0–6.15.6 und 6.17.8–6.17.10 (defekter GPU-Treiber)
  • ReBAR/SAM: Die Resizable-BAR-Fähigkeit ist vorhanden, ist auf dem BC-250 aber auf 1 GB begrenzt (oft bei 256 MB belassen) — zu klein für große DX12-Titel. Stattdessen den BIOS-UMA Frame Buffer verwenden.
  • UE5 DX12 „out of video memory": Manche Unreal-Engine-5-Spiele in DX12 stürzen bei der Render-Initialisierung ab, obwohl noch VRAM frei ist. Der globale Unified Heap (Tweak #3) hilft DXVK/Vulkan-Spielen, verbirgt aber den dedizierten VRAM vor VKD3D (DX12). Fix: BIOS-UMA Frame Buffer auf Auto setzen (~8 GB auf einer 16-GB-Karte) und den Unified Heap pro Spiel deaktivieren — das BC250 Toolkit macht das automatisch über sein ue5_dx12_oom-Preset.

Siehe auch


🐧 Kompatibilität

Wir arbeiten aktiv daran, dass diese Tweaks auf jedem für den BC-250 dokumentierten Betriebssystem (Community-Doku) laufen — Bazzite, SteamOS, CachyOS/Arch, Fedora… Ziel: automatische OS-Erkennung, damit apply.sh die richtige Methode (Kernel-Argumente, Pakete, Dienste) für deine Distribution verwendet.

KI-Hinweis

Bei der Entwicklung dieses Projekts wurde KI (Claude von Anthropic und Codex von OpenAI) eingesetzt — für Reverse Engineering, Entwicklung und Dokumentation. Nicht für Grafik oder kreatives Schreiben. Alles Veröffentlichte wird von einem Menschen geprüft, und ich stehe für das Ergebnis gerade. Wer damit nicht einverstanden ist, weiß nun Bescheid.

Entwicklung unterstützen

Wenn dir dieses Projekt hilft, kannst du seine weitere Entwicklung auf Ko-fi unterstützen.

Unterstütze mich auf Ko-fi