summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xarchsetup31
1 files changed, 29 insertions, 2 deletions
diff --git a/archsetup b/archsetup
index ffaa1d8..1ad5502 100755
--- a/archsetup
+++ b/archsetup
@@ -159,8 +159,8 @@ errors_encountered=0
# Installation steps (single source of truth for show_status and main execution)
# display_server and window_manager steps are conditional based on $desktop_env
STEPS=(intro prerequisites create_user user_customizations aur_installer
- essential_services display_server window_manager desktop_environment developer_workstation
- supplemental_software boot_ux)
+ essential_services display_server window_manager desktop_environment gaming
+ developer_workstation supplemental_software boot_ux)
### Cleanup Trap
# Ensures tmpfs is unmounted if script exits unexpectedly
@@ -1710,6 +1710,33 @@ desktop_environment() {
(systemctl enable cups.service >> "$logfile" 2>&1) || error_warn "$action" "$?"
}
+### Gaming
+gaming() {
+ display "title" "Gaming"
+
+ # 32-bit graphics support (required for most Steam games)
+ action="32-bit Graphics Libraries" && display "subtitle" "$action"
+ pacman_install lib32-mesa
+ pacman_install lib32-vulkan-radeon # AMD (matches install_gpu_drivers)
+ pacman_install lib32-vulkan-icd-loader
+ pacman_install vulkan-icd-loader
+
+ # Performance tools
+ action="Performance Tools" && display "subtitle" "$action"
+ pacman_install gamemode # Feral GameMode (CPU governor, GPU perf)
+ pacman_install lib32-gamemode # 32-bit support for Steam games
+ pacman_install mangohud # FPS/performance overlay
+ pacman_install lib32-mangohud # 32-bit overlay for Steam games
+
+ # Steam
+ action="Steam" && display "subtitle" "$action"
+ pacman_install steam
+
+ # Enable gamemode service for user
+ action="enabling gamemode for user" && display "task" "$action"
+ sudo -u "$username" systemctl --user enable gamemoded.service >> "$logfile" 2>&1 || error_warn "$action" "$?"
+}
+
### Developer Workstation
developer_workstation() {