56 lines
3.1 KiB
Bash
Executable File
56 lines
3.1 KiB
Bash
Executable File
#!/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'"
|