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

55 lines
3.0 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
################################################################################
# НАЗНАЧЕНИЕ: Откат изменений и возврат к стандартному драйверу 'radeon'.
#
# ЗАЧЕМ ЭТО НУЖНО:
# Этот скрипт используется, если после перехода на 'amdgpu' возникли проблемы:
# 1. Система загружается в черный экран или зависает.
# 2. Появились проблемы с выводом звука через HDMI (иногда бывает на GCN 1.0).
# 3. Наблюдаются специфические графические баги, которых не было ранее.
#
# ЧТО ИСПРАВЛЯЕТ:
# Возвращает конфигурацию системы к стандартному состоянию Ubuntu. Драйвер
# 'radeon' является базовым и максимально стабильным для старых карт AMD,
# хотя и не поддерживает современные функции (Vulkan, новый стек Electron).
#
# ПРИНЦИП РАБОТЫ:
# 1. Восстанавливает исходный файл /etc/default/grub из резервной копии.
# 2. Удаляет специфические инструкции из /etc/modprobe.d/, которые заставляли
# ядро игнорировать карту для драйвера radeon.
# 3. Обновляет конфигурацию загрузчика для применения изменений.
################################################################################
# Проверка на права суперпользователя
if [ "$EUID" -ne 0 ]; then
echo "Пожалуйста, запустите скрипт через sudo"
exit
fi
echo "--- Откат изменений и возврат к драйверу Radeon ---"
# 1. Восстановление Grub из бэкапа или очистка вручную
if [ -f /etc/default/grub.bak ]; then
mv /etc/default/grub.bak /etc/default/grub
echo "[1/3] Конфигурация Grub восстановлена из бэкапа."
else
# Если бэкапа нет, удаляем параметры через sed
sed -i 's/radeon.si_support=0 //g' /etc/default/grub
sed -i 's/amdgpu.si_support=1 //g' /etc/default/grub
echo "[1/3] Параметры удалены из /etc/default/grub вручную."
fi
# 2. Удаление файлов из modprobe.d
if [ -f /etc/modprobe.d/amdgpu.conf ]; then
rm /etc/modprobe.d/amdgpu.conf
echo "[2/3] Файл /etc/modprobe.d/amdgpu.conf удален."
fi
# 3. Обновление конфигурации Grub
echo "[3/3] Обновление загрузчика..."
update-grub
echo "-------------------------------------------------------"
echo "Откат завершен. После перезагрузки система вернется на драйвер 'radeon'."