mirror of
https://github.com/stornic56/debianito-post-install.git
synced 2026-09-14 06:02:35 +00:00
Fix NVIDIA Kepler Logic & Kernel Headers
- Normalized PCI ID case sensitivity in `_helpers.sh`. The `detect_nvidia_arch()` function now converts input to uppercase (`${1^^}`) to match legacy architecture map keys, resolving "unknown" detection for all NVIDIA GPUs.
- Removed silent fallback to standard drivers in `gpu.sh` Bookworm logic. Kepler and other architectures now invoke specific installation functions directly without defaulting to unsupported driver versions (e.g., 535).
- Corrected NVIDIA legacy package name in `nvidia.sh`. Updated `_install_nvidia_bookworm_kepler()` to use `nvidia-tesla-470-driver` instead of deprecated Bullseye naming conventions for Debian 12.
- Replaced specific kernel header references (`linux-headers-$(uname -r)`) with meta-package `linux-headers-amd64` in `firmware.sh`. Fixes DKMS installation failures for Broadcom/WiFi drivers across multiple Debian versions.
This commit is contained in:
+5
-5
@@ -277,17 +277,17 @@ After the firmware is downloaded, reboot the system." 14 75
|
|||||||
else
|
else
|
||||||
local bcm_ver header_ver
|
local bcm_ver header_ver
|
||||||
bcm_ver=$(apt-cache policy broadcom-sta-dkms 2>/dev/null | awk 'NR==3 {print $2; exit}')
|
bcm_ver=$(apt-cache policy broadcom-sta-dkms 2>/dev/null | awk 'NR==3 {print $2; exit}')
|
||||||
header_ver=$(apt-cache policy linux-headers-$(uname -r) 2>/dev/null | awk 'NR==3 {print $2; exit}')
|
header_ver=$(apt-cache policy linux-headers-amd64 2>/dev/null | awk 'NR==3 {print $2; exit}')
|
||||||
|
|
||||||
if ! apt-cache policy "linux-headers-$(uname -r)" 2>/dev/null | grep -q "Candidate: [^ (none)]"; then
|
if ! apt-cache policy linux-headers-amd64 2>/dev/null | grep -q "Candidate: [^ (none)]"; then
|
||||||
_msg "Broadcom Error" \
|
_msg "Broadcom Error" \
|
||||||
"linux-headers-$(uname -r) not available.\n\nCannot compile broadcom-sta-dkms without kernel headers." 10 60
|
"linux-headers-amd64 not available.\n\nCannot compile broadcom-sta-dkms without kernel headers." 10 60
|
||||||
_pause
|
_pause
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if _confirm "Broadcom WiFi" "Install Broadcom driver?\n\nRequired for this chipset. Compiles a kernel module.\n\n broadcom-sta-dkms ${bcm_ver:-unknown}\n linux-headers-$(uname -r) ${header_ver:-unknown}\n\nProceed?"; then
|
if _confirm "Broadcom WiFi" "Install Broadcom driver?\n\nRequired for this chipset. Compiles a kernel module.\n\n broadcom-sta-dkms ${bcm_ver:-unknown}\n linux-headers-amd64 ${header_ver:-unknown}\n\nProceed?"; then
|
||||||
_run_cmd "Broadcom" "sudo DEBIAN_FRONTEND=noninteractive apt install -y linux-headers-$(uname -r) broadcom-sta-dkms" \
|
_run_cmd "Broadcom" "sudo DEBIAN_FRONTEND=noninteractive apt install -y linux-headers-amd64 broadcom-sta-dkms" \
|
||||||
"Installing Broadcom driver..."
|
"Installing Broadcom driver..."
|
||||||
|
|
||||||
local has_broadcom_bt=false
|
local has_broadcom_bt=false
|
||||||
|
|||||||
@@ -181,11 +181,7 @@ _install_nvidia_stack() {
|
|||||||
|
|
||||||
elif [ "$DEBIAN_VERSION" = "12" ]; then
|
elif [ "$DEBIAN_VERSION" = "12" ]; then
|
||||||
if [ "$(is_nvidia_kepler)" = "true" ]; then
|
if [ "$(is_nvidia_kepler)" = "true" ]; then
|
||||||
if type _install_nvidia_bookworm_kepler &>/dev/null; then
|
|
||||||
_install_nvidia_bookworm_kepler
|
_install_nvidia_bookworm_kepler
|
||||||
else
|
|
||||||
_install_nvidia_standard
|
|
||||||
fi
|
|
||||||
elif [ "$(is_nvidia_fermi)" = "true" ]; then
|
elif [ "$(is_nvidia_fermi)" = "true" ]; then
|
||||||
_msg "NVIDIA Fermi — Bookworm" \
|
_msg "NVIDIA Fermi — Bookworm" \
|
||||||
"Fermi GPUs (GF1xx) are not supported\nin Debian 12 (Bookworm).\nThe nvidia-legacy-390xx driver is\nnot available in this version.\n\nNo NVIDIA driver will be installed."
|
"Fermi GPUs (GF1xx) are not supported\nin Debian 12 (Bookworm).\nThe nvidia-legacy-390xx driver is\nnot available in this version.\n\nNo NVIDIA driver will be installed."
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ declare -A NVIDIA_FAMILY_MAP=(
|
|||||||
)
|
)
|
||||||
|
|
||||||
detect_nvidia_arch() {
|
detect_nvidia_arch() {
|
||||||
local pci_id="$1"
|
local pci_id="${1^^}"
|
||||||
local prefix="${pci_id:0:2}"
|
local prefix="${pci_id:0:2}"
|
||||||
echo "${NVIDIA_FAMILY_MAP[$prefix]:-unknown}"
|
echo "${NVIDIA_FAMILY_MAP[$prefix]:-unknown}"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ _install_nvidia_bookworm_bpo() {
|
|||||||
# sin pasar por nvidia-detect (evita falsa recomendación rama 535)
|
# sin pasar por nvidia-detect (evita falsa recomendación rama 535)
|
||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
_install_nvidia_bookworm_kepler() {
|
_install_nvidia_bookworm_kepler() {
|
||||||
local nv_pkg="nvidia-legacy-470xx-driver"
|
local nv_pkg="nvidia-tesla-470-driver"
|
||||||
local nv_ver
|
local nv_ver
|
||||||
nv_ver=$(apt-cache policy "$nv_pkg" 2>/dev/null | awk 'NR==3 {print $2; exit}') || true
|
nv_ver=$(apt-cache policy "$nv_pkg" 2>/dev/null | awk 'NR==3 {print $2; exit}') || true
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user