mirror of
https://github.com/stornic56/debianito-post-install.git
synced 2026-09-14 06:02:35 +00:00
dual-gpu fix & lspci cache
- Replaced the restrictive Broadcom firmware installation flow with a persistent, step-by-step process in modules/firmware.sh. Now installs dkms, wireless-tools, and linux-headers-amd64 separately, then applies blacklist configuration, updates initramfs, and loads conflicting modules properly. - Fixed conky package name across system.sh and bullseye/extras.sh. Changed from "conky" to "conky-all" with corresponding state variable updates for correct installation via apt. - Corrected broken GRUB sed command in modules/gpu.sh for AMD GCN support. Added grep guard to prevent duplicate parameter insertion and fixed regex pattern for proper cmdline modification. - Added whiptail pre-flight check in debianito.sh. Auto-installs required TUI dependencies if missing before the main menu, preventing runtime failures. - Fixed home directory path resolution bug in modules/sudo_config.sh. Replaced eval echo "~$USER" with getent passwd approach for reliable user home detection across SUDO_USER contexts. - Implemented global lspci output caching across 18+ locations. Single cache population via _init_lspci_cache() before detect_gpu, all subsequent reads use LSPCI_OUTPUT variable to eliminate redundant hardware polling calls. - Added apt update deduplication helper in modules/utils.sh. _ensure_apt_updated() with APT_UPDATED flag bypasses redundant package list refreshes across extras/, gaming/, firmware/, and desktop_display/ modules while preserving transactional rollback paths in repos.sh. - Fixed STATE_REFRESHED logic in debianito.sh main_menu case statement. Added STATE_REFRESHED=true to branches 3, 5, 7, 9, 11, 12, and 13 that mutate system state, ensuring refresh_system_state() triggers correctly after configuration changes. - Removed dead REPOS_CONFIGURED variable from debianito.sh and modules/repos.sh. Variable was written but never read, eliminated to clean up global namespace without affecting repository functionality.
This commit is contained in:
+31
-31
@@ -60,7 +60,7 @@ ensure_contrib_repo() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
sudo apt update
|
||||
_ensure_apt_updated
|
||||
echo -e "${GREEN}contrib repository enabled.${NC}"
|
||||
return 0
|
||||
}
|
||||
@@ -72,15 +72,15 @@ install_gaming() {
|
||||
local choices
|
||||
choices=$(_checklist "Gaming Setup" \
|
||||
"Check [*] the packages you want installed/updated on your system.\n" $TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
|
||||
"i386" "Enable 32-bit (i386) architecture" ON \
|
||||
"steam" "Steam (requires 32-bit support)" ON \
|
||||
"i386" "Enable 32-bit (i386) architecture" ON \
|
||||
"steam" "Steam (requires 32-bit support)" ON \
|
||||
"mangohud" "Performance overlay (Vulkan/OpenGL)" ON \
|
||||
"gamemode" "Game performance optimization" OFF \
|
||||
"goverlay" "MangoHud config GUI" ON \
|
||||
"heroic" "Heroic Launcher (Epic/GOG)" OFF \
|
||||
"java" "Minecraft Java Runtime" OFF \
|
||||
"openrgb" "OpenRGB (RGB lighting control)" OFF \
|
||||
"lutris" "Lutris + Wine (requires 32-bit support)" OFF \
|
||||
"heroic" "Heroic Launcher (Epic/GOG)" OFF \
|
||||
"java" "Minecraft Java Runtime" OFF \
|
||||
"openrgb" "OpenRGB (RGB lighting control)" OFF \
|
||||
"lutris" "Lutris + Wine (requires 32-bit support)" OFF \
|
||||
"retroarch" "RetroArch Emulator Frontend" OFF)
|
||||
|
||||
if [ -z "$choices" ]; then
|
||||
@@ -95,7 +95,7 @@ install_gaming() {
|
||||
# 2. Determine if 32-bit is needed (steam, lutris, or explicit i386 toggle)
|
||||
local need_32bit=false
|
||||
for p in $cleaned; do
|
||||
case $p in steam|lutris) need_32bit=true ;; esac
|
||||
case $p in steam | lutris) need_32bit=true ;; esac
|
||||
done
|
||||
echo "$cleaned" | grep -qw i386 && need_32bit=true
|
||||
|
||||
@@ -108,7 +108,7 @@ install_gaming() {
|
||||
if $need_32bit && ! dpkg --print-foreign-architectures 2>/dev/null | grep -q i386; then
|
||||
echo -e "${YELLOW}Enabling i386 architecture (required by selection)...${NC}"
|
||||
sudo dpkg --add-architecture i386
|
||||
_run_cmd "APT Update" "sudo apt update" "Updating package lists..."
|
||||
_ensure_apt_updated
|
||||
fi
|
||||
|
||||
# 4. Install 32-bit graphics drivers only if 32-bit is needed
|
||||
@@ -124,28 +124,28 @@ install_gaming() {
|
||||
# 5. Install selected packages
|
||||
for pkg in $install_list; do
|
||||
case $pkg in
|
||||
steam)
|
||||
if ensure_contrib_repo; then
|
||||
install_steam
|
||||
else
|
||||
echo -e "${YELLOW}Skipping Steam installation (contrib repository not enabled).${NC}"
|
||||
fi
|
||||
;;
|
||||
heroic) install_heroic ;;
|
||||
java) install_minecraft_java ;;
|
||||
mangohud) install_mangohud ;;
|
||||
gamemode) install_gamemode ;;
|
||||
goverlay) install_goverlay ;;
|
||||
openrgb)
|
||||
if [ "$DEBIAN_VERSION" = "11" ]; then
|
||||
echo "OpenRGB requires Debian 12+."
|
||||
continue
|
||||
fi
|
||||
install_openrgb
|
||||
;;
|
||||
lutris) install_lutris ;;
|
||||
retroarch) install_retroarch ;;
|
||||
*) _run_install "$pkg" ;;
|
||||
steam)
|
||||
if ensure_contrib_repo; then
|
||||
install_steam
|
||||
else
|
||||
echo -e "${YELLOW}Skipping Steam installation (contrib repository not enabled).${NC}"
|
||||
fi
|
||||
;;
|
||||
heroic) install_heroic ;;
|
||||
java) install_minecraft_java ;;
|
||||
mangohud) install_mangohud ;;
|
||||
gamemode) install_gamemode ;;
|
||||
goverlay) install_goverlay ;;
|
||||
openrgb)
|
||||
if [ "$DEBIAN_VERSION" = "11" ]; then
|
||||
echo "OpenRGB requires Debian 12+."
|
||||
continue
|
||||
fi
|
||||
install_openrgb
|
||||
;;
|
||||
lutris) install_lutris ;;
|
||||
retroarch) install_retroarch ;;
|
||||
*) _run_install "$pkg" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user