Reduce user prompts: firmware & graphics updates

- Rewrote `modules/firmware.sh` with unified detection and installation flow, reducing user interactions from multiple prompts to single confirmation across all hardware types.
- Enhanced `_detect_all_network_devices()` to scan full PCI device lists without truncation (`head -n1` removed) and filter USB devices by keyword patterns (`wireless`, `wifi`, `802.11`, `bluetooth`, `wlan`) to eliminate false positives from card readers/Realtek audio devices.
- Implemented Broadcom 3-tier firmware strategy: Tier 1 (`brcmsmac`, 8 device IDs) auto-installs without extra confirmation; Tier 2 (`b43`/`b43legacy`, ranges 0x4301–0x4331) requires contrib package warnings; Tier 3 (`broadcom-sta-dkms`) needs DKMS compilation approval with explicit precedence handling for overlapping device ID ranges.
- Streamlined `modules/gpu.sh` flow from 169 to 154 lines, cutting user clicks from 4 (intro → proceed → plan → install) to 2 (plan → install), removing redundant intro message before plan display while preserving Intel/AMD firmware auto-installation and Mesa prompting logic.
- Added Bullseye compatibility hook in `modules/bullseye/extras.sh` (`type _handle_wireless &>/dev/null && _handle_wireless`) to ensure Broadcom wireless handling works correctly in Debian 11 environment with lazy detection fallback for empty PCI network devices.
- Fixed whiptail UI spacing issues in message paragraphs for improved readability and standardized dialog geometry across firmware/graphics dialogs.
This commit is contained in:
stornic56
2026-06-17 15:57:07 -05:00
committed by GitHub
parent 3a652c28e6
commit 002a888b46
4 changed files with 285 additions and 95 deletions
+6 -6
View File
@@ -275,11 +275,11 @@ configure_repos() {
# ── Informational banner ──
_msg "Repositories" \
"This section will automatically enable the 'contrib' and 'non-free'\n\
branches in your official Debian repositories. (The 'non-free-firmware'\n\
branch is already enabled by default in Debian 12 and 13.)\n\n\
"This section will automatically enable the 'contrib' and \n\
'non-free' branches in your official Debian repositories. \n\
(The 'non-free-firmware' branch is already enabled by default in Debian 12 and 13.)\n\n\
This is CRUCIAL for obtaining proprietary software packages and\n\
essential hardware drivers, including NVIDIA graphics drivers,\n\
essential hardware drivers, including graphics drivers,\n\
Wi-Fi firmware, and CPU microcode." 14 70
# Detect current state
@@ -309,7 +309,7 @@ harm your system, and the script will handle the transition
safely if you accept.
NOTE: 'NO' (default) is recommended to maintain the classic
linear format as it comes pre-configured in Debian 13 (Trixie)." 14 70; then
linear format as it comes pre-configured in Debian 13 (Trixie)." 16 70; then
use_deb822=true
fi
elif [ "$current_format" = "deb822" ]; then
@@ -324,7 +324,7 @@ next Debian testing branch, recompiled to run stably on your\n\
current system.\n\n\
This is HIGHLY RECOMMENDED if you have modern hardware, as it\n\
delivers newer Linux Kernels, updated display drivers, and modern\n\
Mesa versions without compromising overall system stability." 15 70; then
Mesa versions without compromising overall system stability." 16 70; then
enable_backports=true
fi