/
arch_linux
/
postinstall
Обзор
Документация
Войти
/
arch_linux
/
postinstall
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/08_gpu_drivers.sh
103 строки
4 KB
arch_linux
upload files
22 ноя 2025, 09:19
22 ноя 2025, 09:19
a4711e8
Код
Авторство
О чём код?
#!/bin/bash # Установка драйверов видеокарты set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "${SCRIPT_DIR}/common.sh" install_gpu_drivers() { if [ "$INSTALL_GRAPHICAL" = false ]; then print_info "Графическое окружение не выбрано, пропускаем установку драйверов" return 0 fi print_header "Установка драйверов для видеокарты: $GPU_VENDOR" case $GPU_VENDOR in "nvidia") print_info "Установка драйверов NVIDIA..." local nvidia_packages=("nvidia" "nvidia-utils" "nvidia-settings") local gpu_model=$(lspci | grep -i "nvidia" | head -1) if [[ "$gpu_model" =~ "RTX" ]] || [[ "$gpu_model" =~ "GTX 16" ]] || [[ "$gpu_model" =~ "GTX 20" ]]; then nvidia_packages=("nvidia-open" "nvidia-utils" "nvidia-settings") print_info "Используются открытые драйверы для современной карты NVIDIA" fi for package in "${nvidia_packages[@]}"; do install_with_check \ "$package" \ "sudo pacman -S --noconfirm $package" \ "check_package $package" done install_with_check \ "cuda" \ "sudo pacman -S --noconfirm cuda" \ "check_package cuda" || true ;; "amd") print_info "Установка драйверов AMD..." local amd_packages=("mesa" "vulkan-radeon" "lib32-mesa" "lib32-vulkan-radeon") local gpu_model=$(lspci | grep -i "amd" | head -1) if [[ "$gpu_model" =~ "RX [5-9]" ]] || [[ "$gpu_model" =~ "RX [1-9][0-9]" ]]; then amd_packages+=("amdvlk" "lib32-amdvlk") print_info "Добавлены драйверы AMDVLK для современной карты" fi for package in "${amd_packages[@]}"; do install_with_check \ "$package" \ "sudo pacman -S --noconfirm $package" \ "check_package $package" done ;; "intel") print_info "Установка драйверов Intel..." local intel_packages=("mesa" "vulkan-intel" "lib32-mesa" "lib32-vulkan-intel") local gpu_model=$(lspci | grep -i "intel" | head -1) if [[ "$gpu_model" =~ "Iris Xe" ]] || [[ "$gpu_model" =~ "UHD Graphics 7[0-9]" ]]; then intel_packages+=("intel-compute-runtime") print_info "Добавлены современные драйверы Intel" fi for package in "${intel_packages[@]}"; do install_with_check \ "$package" \ "sudo pacman -S --noconfirm $package" \ "check_package $package" done ;; *) print_warning "Неизвестная видеокарта, установка общих драйверов..." install_with_check \ "mesa" \ "sudo pacman -S --noconfirm mesa" \ "check_package mesa" ;; esac install_with_check \ "vulkan-icd-loader" \ "sudo pacman -S --noconfirm vulkan-icd-loader" \ "check_package vulkan-icd-loader" print_success "Драйверы видеокарты установлены" } main() { print_header "УСТАНОВКА ДРАЙВЕРОВ ВИДЕОКАРТЫ" install_gpu_drivers save_state } main "$@"