Если после установки Linux мультимедиа не работает на полную мощность, а аппаратное ускорение (VAAPI, Vulkan, OpenGL) отключено, этот скрипт решит проблему. Он сам определяет видеокарту, проверяет версии ядра и Mesa, ставит нужные драйверы и мультимедиа пакеты, а затем показывает итоговую проверку.
Подходит для **Mint, Ubuntu, Debian** и производных. Скрипт безопасен — всегда спрашивает подтверждение перед установкой и учитывает различия в пакетах между версиями дистрибутива.
- Быстрый запуск без скачивания
- Пошаговый алгоритм вручную
- 1. Определить железо (GPU)
- 2. Проверить ядро и Mesa
- 3. Проверить мультимедиа (VAAPI/Vulkan)
- 4. Установить драйверы по GPU
- Intel
- AMD
- NVIDIA
- 5. Общие пакеты мультимедиа и диагностики
- 6. Звук, питание, сенсоры
- 7. Обновление прошивок
- Готовый интерактивный скрипт
- Использование скрипта
Быстрый запуск без скачивания
Можно запустить скрипт прямо из интернета одной командой:
curl -sSL https://your-domain.com/universal-drivers.sh | bash
Это удобно на новых системах: не нужно вручную сохранять файл — просто вставляете команду и работаете в интерактивном меню.
Пошаговый алгоритм вручную
1. Определить железо (GPU)
lspci | grep -E "VGA|3D"
- Intel → Mesa + Intel Media Driver
- AMD → amdgpu + Mesa
- NVIDIA → Nouveau или проприетарный драйвер
2. Проверить ядро и Mesa
uname -r
glxinfo | grep "OpenGL version"
- Новые Intel/AMD требуют ядро **6.5+** и Mesa **23/24+**.
- Если старые — обновить через PPA (Ubuntu/Mint) или backports (Debian).
3. Проверить мультимедиа (VAAPI/Vulkan)
vainfo | grep "VAEntrypoint"
vulkaninfo | head
4. Установить драйверы по GPU
Intel
sudo apt install mesa-vulkan-drivers mesa-va-drivers intel-media-va-driver-non-free intel-opencl-icd
AMD
sudo apt install mesa-vulkan-drivers mesa-va-drivers mesa-vdpau-drivers
NVIDIA
sudo apt install nvidia-driver nvidia-vaapi-driver
5. Общие пакеты мультимедиа и диагностики
sudo apt install vainfo mesa-utils vulkan-tools clinfo
В Ubuntu 22.04 пакет называется `libva-utils`, а в 24.04 — `vainfo`. Скрипт сам определяет, какой пакет ставить.
6. Звук, питание, сенсоры
sudo apt install pipewire pipewire-audio-client-libraries wireplumber
sudo apt install tlp tlp-rdw thermald
sudo systemctl enable tlp thermald
sudo apt install libinput-tools touchegg iio-sensor-proxy
7. Обновление прошивок
sudo apt install fwupd
sudo fwupdmgr refresh
sudo fwupdmgr update
Готовый интерактивный скрипт
Скрипт автоматизирует процесс: определяет GPU, проверяет версии ядра/Mesa, ставит пакеты и проверяет мультимедиа (VAAPI, Vulkan, OpenGL), а в конце выводит общий статус: всё ок или частично работает.
#!/usr/bin/env bash
#!/usr/bin/env bash
set -e
GREEN="\\e[32m"
YELLOW="\\e[33m"
RED="\\e[31m"
RESET="\\e[0m"
msg() { echo -e "${GREEN}[INFO]${RESET} $1"; }
warn() { echo -e "${YELLOW}[WARN]${RESET} $1"; }
error() { echo -e "${RED}[ERR]${RESET} $1"; }
pause() { read -p "Нажмите Enter для продолжения..."; }
# Определение пакета VAAPI (vainfo или libva-utils)
detect_vaapi_pkg() {
if apt-cache show libva-utils &>/dev/null; then
echo "libva-utils"
else
echo "vainfo"
fi
}
# Определение GPU
check_gpu() {
GPU=$(lspci | grep -E "VGA|3D")
echo "$GPU"
if echo "$GPU" | grep -qi "Intel"; then DRIVER="intel"
elif echo "$GPU" | grep -qi "AMD"; then DRIVER="amd"
elif echo "$GPU" | grep -qi "NVIDIA"; then DRIVER="nvidia"
else error "GPU не определен"; exit 1; fi
}
# Проверка версии ядра и Mesa
check_versions() {
KERNEL_RAW=$(uname -r | cut -d'-' -f1)
KERNEL=$(echo "$KERNEL_RAW" | awk -F. '{print $1 "." $2}')
MESA=$(glxinfo 2>/dev/null | grep "OpenGL version" || echo "Mesa not found")
msg "Версия ядра: $KERNEL_RAW"
msg "Mesa: $MESA"
if (( $(echo "$KERNEL < 6.5" | bc -l) )); then
warn "Ядро ниже 6.5 — может потребоваться обновление."
fi
}
# Установка общих мультимедиа пакетов
install_common() {
msg "Установка мультимедиа пакетов..."
VAAPI_PKG=$(detect_vaapi_pkg)
sudo apt update
sudo apt install -y $VAAPI_PKG mesa-utils vulkan-tools clinfo fwupd pipewire pipewire-audio-client-libraries wireplumber tlp tlp-rdw thermald libinput-tools touchegg iio-sensor-proxy
}
# Установка драйверов по типу GPU
install_drivers() {
case $DRIVER in
intel) sudo apt install -y mesa-vulkan-drivers mesa-va-drivers intel-media-va-driver-non-free intel-opencl-icd ;;
amd) sudo apt install -y mesa-vulkan-drivers mesa-va-drivers mesa-vdpau-drivers ;;
nvidia) sudo apt install -y nvidia-driver nvidia-vaapi-driver ;;
esac
}
# Обновление прошивок
update_fw() {
sudo fwupdmgr refresh
sudo fwupdmgr update
}
# Проверка мультимедиа с итоговым статусом
check_media() {
for cmd in vainfo vulkaninfo glxinfo; do
if ! command -v $cmd &>/dev/null; then
warn "Утилита $cmd не установлена."
read -p "Установить недостающие пакеты для проверки мультимедиа? (y/N): " INSTALL
if [[ "$INSTALL" == "y" ]]; then
VAAPI_PKG=$(detect_vaapi_pkg)
sudo apt install -y $VAAPI_PKG mesa-utils vulkan-tools
else
warn "Проверка мультимедиа пропущена."
return
fi
fi
done
VAAPI_OK=false
VULKAN_OK=false
OGL_OK=false
msg "Проверка VAAPI:"
if vainfo | grep -q "VAEntrypoint"; then
VAAPI_OK=true
else
warn "VAAPI не активен"
fi
msg "Проверка Vulkan:"
if vulkaninfo | grep -q "Vulkan Instance Version"; then
VULKAN_OK=true
else
warn "Vulkan не активен"
fi
msg "Проверка OpenGL:"
if glxinfo | grep -q "OpenGL version"; then
OGL_OK=true
else
warn "OpenGL не активен"
fi
if $VAAPI_OK && $VULKAN_OK && $OGL_OK; then
echo -e "${GREEN}[OK] Аппаратное ускорение работает корректно.${RESET}"
else
echo -e "${YELLOW}[WARN] Аппаратное ускорение работает частично или отсутствует.${RESET}"
fi
}
# Главное меню
menu() {
clear
echo -e "${GREEN}=== Универсальная установка драйверов Linux ===${RESET}"
echo "1) Проверить систему (GPU, ядро, Mesa)"
echo "2) Установить драйверы и мультимедиа пакеты"
echo "3) Обновить прошивки"
echo "4) Проверить мультимедиа (VAAPI/Vulkan/OpenGL)"
echo "0) Выйти"
read -p "Выберите действие: " CHOICE
case $CHOICE in
1) check_gpu; check_versions; pause ;;
2) check_gpu; read -p "Установить драйверы для $DRIVER? (y/N): " CONFIRM; [[ "$CONFIRM" == "y" ]] && install_common && install_drivers && sudo systemctl enable tlp thermald; pause ;;
3) update_fw; pause ;;
4) check_media; pause ;;
0) exit 0 ;;
*) warn "Неверный выбор." ;;
esac
}
while true; do menu; done
Использование скрипта
- Сохраните код в файл
universal-drivers.sh
или запустите черезcurl | bash
. - Сделайте файл исполняемым (если сохранили):
chmod +x universal-drivers.sh
- Запустите:
./universal-drivers.sh
После проверки скрипт выведет итог: зелёный [OK] (всё работает) или жёлтый [WARN] (частично работает).