change-amd-driver added

This commit is contained in:
2026-02-16 17:26:38 +08:00
parent edac0e49c4
commit d13a8a44d1
2 changed files with 109 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
#!/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'"