Skip to content

Latest commit

 

History

History
114 lines (77 loc) · 8.47 KB

README.it.md

File metadata and controls

114 lines (77 loc) · 8.47 KB

BC-250 Tweaks per Bazzite

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

Ottimizzazioni gaming per l'ASRock BC-250 (AMD Ryzen Embedded V2000 / Cyan Skillfish GPU) sotto Bazzite Linux.

Bazzite è il target principale, completamente testato. Lo script rileva inoltre automaticamente il tuo SO e il tuo bootloader (gestore di pacchetti e metodo per i kernel args — rpm-ostree, GRUB, Limine, systemd-boot o rEFInd), quindi gira in modalità best-effort anche sugli altri sistemi documentati per la BC-250 (SteamOS/HoloISO, CachyOS/Arch, Fedora, Debian…). La compatibilità fuori da Bazzite è validata tramite le segnalazioni della community — apri una issue se qualcosa non va sulla tua distro.

Sostituzione manuale del patcher image di vietsman, non più mantenuto per Bazzite 43+.


Installazione rapida (prima configurazione)

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

Questo singolo comando installa tutto per un BC-250 nuovo: i tweak di sistema più DeckyLoader e i nostri plugin (BC250-Toolkit, SkullKey, Steamcord). Poi esegui bc250-status quando vuoi per un riepilogo dello stato (temps, ventola, VRAM/UMA, RAM, tweak attivi, Proton-GE, plugin).

Lo script clona questo repo in /opt/bc250-tweaks e installa un servizio systemd che si aggiorna automaticamente ad ogni avvio (git pull + apply).


Tweaks applicati

# Tweak File Descrizione
1 Tuned/PPD /etc/tuned/ppd.conf balanced-bazzite a riposo → throughput-performance-bazzite in gioco
2 Variabili gaming ~/.config/environment.d/gaming.conf RADV_DEBUG=nohiz, RADV_PERFTEST, FSR, Anti-lag, cache shader 10 GB
3 DRI unified heap /etc/drirc GPU usa il pool RAM di sistema — evita OOM VRAM sui giochi APU grandi
4 Latenza Pipewire ~/.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 Argomenti kernel 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 installati manualmente (assenti nell'immagine base Bazzite)
8 Switch PPD /usr/local/bin/gamemode-{start,end}.sh Cambia PPD performance↔balanced via busctl all'avvio dei giochi
9 HHD /etc/hhd/state.yml Profilo balanced a riposo
10 scx_lavd /etc/scx_loader/config.toml Scheduler orientato alla latenza, caricato da bc250-scx-start, che si disarma se l'avvio precedente si è inceppato (vedi sotto)
11 MangoHud ~/.config/MangoHud/MangoHud.conf Overlay leggero, toggle Shift+F12
12 vkBasalt CAS ~/.config/vkBasalt.conf Sharpening adattivo, toggle Home
13 Proton-GE ~/.steam/steam/compatibilitytools.d/ Ultima versione GE-Proton installata
14 umr sudoers /etc/sudoers.d/bc250-umr Regola NOPASSWD sudo per umr (richiesta dalla scheda CU del plugin BC250-Toolkit)
15 CU boot sudoers /etc/sudoers.d/bc250-cu-boot Regole NOPASSWD sudo per la persistenza CU al boot (tee, chmod, systemctl)
16 Helper UMA /usr/local/bin/bc250-uma-helper Helper root (NOPASSWD via /etc/sudoers.d/bc250-uma) per leggere/scrivere la variabile EFI UMA Frame Buffer del BIOS — usato dalla sezione VRAM (UMA) del plugin BC250-Toolkit
17 uaccess input /etc/udev/rules.d/70-bc250-input-uaccess.rules Concede all'utente della sessione attiva l'accesso in lettura ai nodi tastiera/mouse (Bazzite etichetta solo i joystick) — necessario per associare un tasto fisico mentre un gioco ha il focus, es. il push-to-talk di Steamcord. ⚠️ Qualsiasi processo di quell'utente può leggere tutte le pressioni dei tasti; elimina il file per annullare
18 Core boot sudoers /etc/sudoers.d/bc250-core-boot Regole NOPASSWD che permettono al Toolkit di installare il servizio 8C/16T all'avvio (tee, chmod, systemctl enable/disable)

Lo scheduler si disarma da solo quando si inceppa

scx_lavd offre una schedulazione orientata alla latenza, ma su questa scheda il kernel a volte lo espelle: sched_ext: BPF scheduler "lavd_…" disabled (runnable task stall), con un task che risulta non eseguito da 35 a 45 secondi. Tutta l'interfaccia si congela — nello stesso istante alcuni servizi systemd vanno in timeout, quindi è il sistema a bloccarsi e non solo il video — poi scx_loader lo ricarica e il ciclo ricomincia.

Misurato sulla BC-250 di riferimento (6C/12T, kernel 7.2.1-ogc2, scx-scheds 1.1.3-3) il 30/08/2026: accade con --autopower e con --performance. Cambiare modalità energetica non risolve. Fra le vittime osservate c'è winedevice.exe, quindi può colpire anche durante un gioco, non solo sul desktop.

Per questo il servizio di avvio non tira a indovinare sulle versioni: osserva. bc250-scx-start conta le espulsioni dell'avvio precedente e, oltre due, si disarma lasciando in campo lo scheduler del kernel (EEVDF) invece di imporre blocchi ripetuti. Per riprovare: sudo rm /var/lib/bc250-scx/disabled e riavviare. ./status.sh mostra una riga ↳ blocages scx non appena l'avvio corrente ne ha viste.

--performance resta in uso, per un altro motivo: una scheda da mining alimentata a rete e senza batteria non ha bisogno di un profilo energetico, né tantomeno della compattazione dei core.

Opzione di avvio Steam consigliata

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

Auto-aggiornamento

Il servizio bc250-tweaks.service viene eseguito ad ogni avvio:

  1. Verifica la rete
  2. git pull da questo repo
  3. Riesegue apply.sh (idempotente — tocca solo i file modificati)
# Visualizza i log
journalctl -u bc250-tweaks -f
tail -f /var/log/bc250-tweaks.log

# Forza l'aggiornamento ora
sudo /opt/bc250-tweaks/update.sh

Note hardware BC-250

  • GPU: Cyan Skillfish, device ID 731F, vendor 1002
  • Alcuni giochi non riconoscono questa GPU → spoof DXVK: DXVK_CONFIG="dxgi.customDeviceId=731F dxgi.customVendorId=1002"
  • TDP: ryzenadj e adjustor non supportati su V2000 (Fam17h model 71)
  • Kernel da evitare: 6.15.0–6.15.6 e 6.17.8–6.17.10 (driver GPU non funzionante)
  • ReBAR/SAM: la capacità Resizable BAR è presente ma si limita a 1 GB sul BC-250 (spesso lasciata a 256 MB) — insufficiente per i giochi DX12 grandi. Usare invece l'UMA Frame Buffer del BIOS.
  • UE5 DX12 «out of video memory»: alcuni giochi Unreal Engine 5 in DX12 vanno in crash all'inizializzazione del render pur con VRAM libera. L'unified heap globale (tweak #3) aiuta i giochi DXVK/Vulkan ma nasconde la VRAM dedicata a VKD3D (DX12). Fix: impostare l'UMA Frame Buffer del BIOS su Auto (~8 GB su una scheda da 16 GB) e disattivare l'unified heap per gioco — il BC250 Toolkit lo fa automaticamente tramite il suo preset ue5_dx12_oom.

Vedi anche


🐧 Compatibilità

Lavoriamo attivamente perché questi tweak funzionino su tutti i sistemi operativi documentati per la BC-250 (documentazione della comunità) — Bazzite, SteamOS, CachyOS/Arch, Fedora… L'obiettivo: rilevamento automatico dell'OS perché apply.sh usi il metodo giusto (argomenti kernel, pacchetti, servizi) sulla tua distribuzione.

Nota sull'IA

L'IA (Claude di Anthropic e Codex di OpenAI) è stata usata nella realizzazione di questo progetto: per reverse engineering, sviluppo e documentazione. Non per grafica o scrittura creativa. Tutto ciò che viene pubblicato è riletto da un umano, e il risultato resta sotto la mia responsabilità. Se la cosa ti dà fastidio, ora lo sai.

Sostieni lo sviluppo

Se questo progetto ti è utile, puoi sostenere il suo sviluppo continuo su Ko-fi.

Sostienimi su Ko-fi