Skip to content

Latest commit

 

History

History
114 lines (77 loc) · 8.7 KB

README.fr.md

File metadata and controls

114 lines (77 loc) · 8.7 KB

BC-250 Tweaks pour Bazzite

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

Optimisations gaming pour l'ASRock BC-250 (AMD Ryzen Embedded V2000 / Cyan Skillfish GPU) sous Bazzite Linux.

Bazzite est la cible principale, entièrement testée. Le script détecte aussi automatiquement ton OS et ton bootloader (gestionnaire de paquets et méthode de kernel args — rpm-ostree, GRUB, Limine, systemd-boot ou rEFInd), et tourne donc en best-effort sur les autres systèmes documentés pour la BC-250 (SteamOS/HoloISO, CachyOS/Arch, Fedora, Debian…). La compatibilité hors Bazzite est validée via les retours de la communauté — ouvre une issue si quelque chose cloche sur ta distro.

Remplacement manuel du patcher image de vietsman, non maintenu pour Bazzite 43+.


Installation rapide (install fraîche)

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

Cette seule commande installe tout pour un BC-250 neuf : les tweaks système plus DeckyLoader et nos plugins (BC250-Toolkit, SkullKey, Steamcord). Ensuite, lance bc250-status à tout moment pour un résumé santé d'un coup d'œil (temps, ventilo, VRAM/UMA, RAM, tweaks actifs, Proton-GE, plugins).

Le script clone ce repo dans /opt/bc250-tweaks et installe un service systemd qui se met à jour automatiquement à chaque boot (git pull + apply).


Ce qui est appliqué

# Tweak Fichier Description
1 Tuned/PPD /etc/tuned/ppd.conf balanced-bazzite au repos → throughput-performance-bazzite en jeu
2 Variables gaming ~/.config/environment.d/gaming.conf RADV_DEBUG=nohiz, RADV_PERFTEST, FSR, Anti-lag, cache shaders 10 Go
3 DRI unified heap /etc/drirc GPU utilise le pool RAM système — évite OOM VRAM sur gros jeux APU
4 Pipewire latence ~/.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 Kargs 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 installés manuellement (absent de l'image Bazzite)
8 Switch PPD /usr/local/bin/gamemode-{start,end}.sh Bascule PPD performance↔balanced via busctl au lancement des jeux
9 HHD /etc/hhd/state.yml Profil balanced au repos
10 scx_lavd /etc/scx_loader/config.toml Scheduler orienté latence, chargé par bc250-scx-start — qui se désarme si le boot précédent a calé (voir plus bas)
11 MangoHud ~/.config/MangoHud/MangoHud.conf Overlay léger, toggle Shift+F12
12 vkBasalt CAS ~/.config/vkBasalt.conf Sharpening adaptatif, toggle Home
13 Proton-GE ~/.steam/steam/compatibilitytools.d/ Dernière version GE-Proton installée
14 umr sudoers /etc/sudoers.d/bc250-umr Règle NOPASSWD pour umr (requis par l'onglet CU du plugin BC250-Toolkit)
15 CU boot sudoers /etc/sudoers.d/bc250-cu-boot Règles NOPASSWD pour la persistance CU au boot (tee, chmod, systemctl)
16 Helper UMA /usr/local/bin/bc250-uma-helper Helper root (NOPASSWD via /etc/sudoers.d/bc250-uma) pour lire/écrire la variable EFI UMA Frame Buffer du BIOS — utilisé par la section VRAM (UMA) du plugin BC250-Toolkit
17 uaccess entrées /etc/udev/rules.d/70-bc250-input-uaccess.rules Donne à l'utilisateur de la session active l'accès en lecture aux nœuds clavier/souris (Bazzite ne tague que les joysticks) — nécessaire pour lier une touche physique pendant qu'un jeu a le focus, ex. le push-to-talk de Steamcord. ⚠️ Tout processus lancé sous cet utilisateur peut alors lire toutes les frappes ; supprimer le fichier pour revenir en arrière
18 Core boot sudoers /etc/sudoers.d/bc250-core-boot Règles NOPASSWD permettant au Toolkit d'installer le service 8C/16T au boot (tee, chmod, systemctl enable/disable)

Le scheduler se désarme tout seul quand il cale

scx_lavd apporte un ordonnancement orienté latence, mais sur cette carte le noyau l'évince parfois : sched_ext: BPF scheduler "lavd_…" disabled (runnable task stall), avec une tâche annoncée comme n'ayant pas tourné pendant 35 à 45 secondes. Toute l'interface gèle — des services systemd échouent en timeout au même instant, c'est donc bien le système qui bloque et pas seulement l'affichage — puis scx_loader le relance et le cycle recommence.

Mesuré sur la BC-250 de référence (6C/12T, kernel 7.2.1-ogc2, scx-scheds 1.1.3-3) le 30/08/2026 : ça se produit en --autopower et en --performance. Changer le mode d'énergie n'y change rien. Parmi les victimes relevées, winedevice.exe — ça peut donc aussi frapper en jeu, pas seulement au bureau.

Le service de boot ne devine donc aucune version : il observe. bc250-scx-start compte les évictions du boot précédent et, au-delà de deux, se désarme et laisse l'ordonnanceur du noyau (EEVDF) en place plutôt que d'imposer des gels à répétition. Pour réessayer : sudo rm /var/lib/bc250-scx/disabled puis redémarrer. ./status.sh affiche une ligne ↳ blocages scx dès que le boot courant en a vu.

--performance reste utilisé, pour une autre raison : une carte de minage alimentée sur secteur, sans batterie, n'a que faire d'un profil d'énergie — et encore moins d'une compaction de cœurs.

Option de lancement Steam recommandée

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

Auto-update

Le service bc250-tweaks.service s'exécute à chaque boot :

  1. Vérifie le réseau
  2. git pull depuis ce repo
  3. Relance apply.sh (idempotent — ne touche qu'aux fichiers différents)
# Voir les logs
journalctl -u bc250-tweaks -f
tail -f /var/log/bc250-tweaks.log

# Forcer une mise à jour maintenant
sudo /opt/bc250-tweaks/update.sh

Notes matériel BC-250

  • GPU : Cyan Skillfish, device ID 731F, vendor 1002
  • Certains jeux ne reconnaissent pas ce GPU → spoof DXVK : DXVK_CONFIG="dxgi.customDeviceId=731F dxgi.customVendorId=1002"
  • TDP : ryzenadj et adjustor non supportés sur V2000 (Fam17h model 71)
  • Kernels à éviter : 6.15.0–6.15.6 et 6.17.8–6.17.10 (driver GPU broken)
  • ReBAR/SAM : la capacité Resizable BAR existe mais plafonne à 1 Go sur le BC-250 (souvent laissée à 256 Mo) — insuffisant pour les gros jeux DX12. Utiliser l'UMA Frame Buffer du BIOS à la place.
  • UE5 DX12 « out of video memory » : certains jeux Unreal Engine 5 en DX12 crashent à l'init du rendu alors qu'il reste de la VRAM libre. Le unified heap global (tweak #3) aide les jeux DXVK/Vulkan mais masque la VRAM dédiée à VKD3D (DX12). Fix : régler l'UMA Frame Buffer du BIOS sur Auto (~8 Go sur une carte 16 Go) et désactiver le unified heap par jeu — le BC250 Toolkit le fait automatiquement via son preset ue5_dx12_oom.

Voir aussi


🐧 Compatibilité

Nous faisons le nécessaire pour que ces tweaks fonctionnent sur tous les systèmes d'exploitation documentés pour le BC-250 (doc communautaire) — Bazzite, SteamOS, CachyOS/Arch, Fedora… L'objectif : détection automatique de l'OS pour qu'apply.sh utilise la bonne méthode (arguments noyau, paquets, services) sur votre distribution.

Mention IA

L'IA (Claude d'Anthropic et Codex d'OpenAI) a été utilisée dans la réalisation de ce projet — pour la rétro-ingénierie, le développement et la documentation. Elle n'a pas servi pour de l'art ni de l'écriture créative. Tout ce qui est publié est relu par un humain, et le résultat reste sous ma responsabilité. Si cela vous dérange, vous voilà informé.

Soutenir le développement

Si ce projet vous est utile, vous pouvez soutenir son développement continu sur Ko-fi.

Soutenez-moi sur Ko-fi