Files
shell/scripts/ubuntu/change-amd-driver/change.sh

56 lines
3.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
set -e
################################################################################
# НАЗНАЧЕНИЕ: Переключение драйвера для видеокарт AMD GCN 1.0 (Pitcairn/SI).
#
# ЧТО ИСПРАВЛЯЕТ:
# Артефакты, мерцание, черные окна и "шахматную сетку" в Electron-приложениях
# (VS Code, Discord, Obsidian, Skype) и браузере Chrome/Chromium в среде KDE.
#
# ПОЧЕМУ ЭТО НУЖНО:
# По умолчанию для старых карт (R7 370 / R9 270X) Ubuntu использует драйвер 'radeon'.
# Он стабилен, но плохо поддерживает современное аппаратное ускорение и Vulkan.
# Переключение на драйвер 'amdgpu' дает:
# 1. Полную поддержку Vulkan API.
# 2. Совместимость с современным аппаратным ускорением Chromium.
# 3. Повышенную производительность в KDE Plasma (движок KWin).
#
# ПРИНЦИП РАБОТЫ:
# Скрипт передает ядру параметры 'radeon.si_support=0' (отключить старый драйвер
# для архитектуры Southern Islands) и 'amdgpu.si_support=1' (включить новый).
################################################################################
# Проверка на права суперпользователя
if [ "$EUID" -ne 0 ]; then
echo "Пожалуйста, запустите скрипт через sudo"
exit
fi
echo "--- Настройка AMDGPU для GCN 1.0 (Pitcairn) ---"
# 1. Резервное копирование конфига Grub
cp /etc/default/grub /etc/default/grub.bak
echo "[1/4] Бэкап Grub создан: /etc/default/grub.bak"
# 2. Добавление параметров поддержки amdgpu и отключение старого radeon
# Используем sed для вставки параметров в строку GRUB_CMDLINE_LINUX_DEFAULT
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="radeon.si_support=0 amdgpu.si_support=1 /' /etc/default/grub
echo "[2/4] Параметры ядра добавлены в /etc/default/grub"
# 3. Обновление конфигурации Grub
echo "[3/4] Обновление загрузчика..."
update-grub
# 4. Проверка необходимости внесения в blacklist (опционально, но надежно)
if [ ! -f /etc/modprobe.d/amdgpu.conf ]; then
echo "options amdgpu si_support=1" > /etc/modprobe.d/amdgpu.conf
echo "options radeon si_support=0" >> /etc/modprobe.d/amdgpu.conf
echo "[4/4] Конфиг modprobe создан"
else
echo "[4/4] Конфиг modprobe уже существует"
fi
echo "-------------------------------------------------------"
echo "Готово! Перезагрузите компьютер, чтобы изменения вступили в силу."
echo "После перезагрузки выполните: lspci -k | grep -EA3 'VGA|3D'"