refactor(fws-keys): make keyboard shortcuts tool universal for hyprland and i3
Rename fws-hypr-keys to fws-keys and extend it to support both Hyprland and i3 desktop environments. The tool now detects the session type and uses appropriate methods: - Hyprland: queries hyprctl binds for real loaded bindings (wofi dmenu) - i3: parses ~/.config/i3/config with variable resolution (rofi dmenu) Update all references in configs and templates. Add VM detection warning in fws-vr-setup to prevent VR attempts in virtual machines where GPU/USB access is unavailable. Add ttf-liberation font dependency for Steam UI stability on minimal installations and improve error guidance for Steam crashes.
This commit is contained in:
@@ -24,6 +24,18 @@ if [ "$(id -u)" -ne 0 ]; then
|
||||
exec sudo "$0" "$@"
|
||||
fi
|
||||
|
||||
# VM = cul-de-sac VR : pas d'accès direct au GPU ni à l'USB/DisplayPort du
|
||||
# casque, et Steam (steamwebhelper) est INSTABLE en rendu logiciel (llvmpipe).
|
||||
# On prévient au lieu de laisser l'utilisateur croire à une panne de FWS.
|
||||
if systemd-detect-virt --quiet 2>/dev/null; then
|
||||
warn "Machine VIRTUELLE détectée ($(systemd-detect-virt 2>/dev/null))."
|
||||
warn "La VR ne fonctionnera PAS ici : casque et GPU inaccessibles depuis une VM."
|
||||
warn "Steam lui-même peut planter en rendu logiciel (steamwebhelper)."
|
||||
echo " → Fais cette installation sur la machine RÉELLE avec le casque branché."
|
||||
read -rp " Continuer quand même (tests uniquement) ? [o/N] " _ok
|
||||
case "$_ok" in o|O|oui) ;; *) exit 0 ;; esac
|
||||
fi
|
||||
|
||||
# lib32 Vulkan selon le GPU (indispensable à SteamVR, qui est 32/64 bits).
|
||||
GPU="$(lspci 2>/dev/null | grep -iE 'VGA compatible controller|3D controller|Display controller')"
|
||||
LIB32="lib32-mesa"
|
||||
@@ -48,12 +60,20 @@ install_pkgs() {
|
||||
|
||||
steamvr_base() {
|
||||
say "Installation de la base SteamVR (Steam + Vulkan 32 bits : $LIB32)…"
|
||||
# ttf-liberation : polices attendues par l'interface Steam (évite des
|
||||
# rendus cassés/plantages cosmétiques sur install minimale).
|
||||
# shellcheck disable=SC2086
|
||||
install_pkgs steam $LIB32 || return 1
|
||||
install_pkgs steam $LIB32 ttf-liberation || return 1
|
||||
say "Base installée. Étapes suivantes :"
|
||||
echo " 1. Lance Steam, connecte-toi, puis installe « SteamVR » (Bibliothèque → Outils)."
|
||||
echo " 2. Branche le casque et les stations, puis lance SteamVR."
|
||||
echo " 3. Premier lancement : SteamVR peut demander à ajuster les règles udev — accepte."
|
||||
say "Si Steam PLANTE (fenêtre qui se ferme, souvent steamwebhelper) :"
|
||||
echo " • Vérifie l'espace disque (SteamVR ≈ 5 Go) : df -h ~"
|
||||
echo " • GPU faible / VM / rendu logiciel — lance :"
|
||||
echo " steam -cef-disable-gpu -cef-disable-gpu-compositing"
|
||||
echo " • Pour voir l'erreur exacte : lance « steam » depuis un terminal,"
|
||||
echo " ou regarde ~/.steam/steam/logs/ (console_log.txt, bootstrap_log.txt)."
|
||||
}
|
||||
|
||||
case "${1:-menu}" in
|
||||
|
||||
Reference in New Issue
Block a user