Андервольтинг видеокарты RX 5600XT в Linux
Запись от nikulinn_artyomm размещена 28.10.2023 в 16:41
Показов 2397
Комментарии 0
|
В [URL="https://www.cyberforum.ru/blogs/1802994/blog8303.html"]предыдущем блоге[/URL] было рассказано про андервольтинг видеокарты [B][U]GIGABYTE AMD Radeon RX 5600XT WINDFORCE OC[/U][/B] в Windows 10/11. Видеокарты AMD обычно лучше поддерживаются в Linux по сравнению с видеокартами NVIDIA. В большинстве случаев драйверы для видеокарт AMD уже интегрированы в ядро Linux, поэтому они работают "из коробки". Для видеокарт NVIDIA часто требуется установка проприетарного драйвера, что может вызвать дополнительные сложности. В данном блоге расскажу про андервольтинг RX 5600XT в Linux Mint. [CENTER][ATTACH]8339[/ATTACH][/CENTER] [SIZE="5"][B]Перед тем как делать андервольтинг в Linux необходимо включить все скрытые функции, возможности видеокарты AMD:[/B][/SIZE] 1. Открываем терминал и выполняем команду: [B]sudo nano /etc/default/grub[/B] 2. Находим строку, начинающуюся с [B]GRUB_CMDLINE_LINUX_DEFAULT[/B] и добавляем к ней параметр [B]amdgpu.ppfeaturemask=0xffffffff[/B] 3. Сохраняем изменения и закрываем файл. 4. Выполняем в терминале команду: [B]grub-mkconfig -o /boot/grub/grub.cfg[/B] 5. Перезагружаем Linux Mint. [SIZE="5"][B]Теперь расскажу как сделать андервольтинг видеокарты RX 5600XT.[/B][/SIZE] Для этого необходимо выполнить следующие действия: 1. Создаём на рабочем столе папку с названием [B]undervolting_amd_gpu[/B]. 2. В папке [B]undervolting_amd_gpu[/B] создать файл [B]undervolting_amd_gpu.sh[/B] 3. В файл [B]undervolting_amd_gpu.sh[/B] добавить следующее: [CODE]#!/bin/bash sudo sh -c "echo 'manual' > /sys/class/drm/card0/device/power_dpm_force_performance_level" sudo sh -c "echo 's 0 800' > /sys/class/drm/card0/device/pp_od_clk_voltage" sudo sh -c "echo 's 1 1374' > /sys/class/drm/card0/device/pp_od_clk_voltage" sudo sh -c "echo 'm 1 625' > /sys/class/drm/card0/device/pp_od_clk_voltage" sudo sh -c "echo 'vc 0 800 800' > /sys/class/drm/card0/device/pp_od_clk_voltage" sudo sh -c "echo 'vc 1 1087 819' > /sys/class/drm/card0/device/pp_od_clk_voltage" sudo sh -c "echo 'vc 2 1374 860' > /sys/class/drm/card0/device/pp_od_clk_voltage" sudo sh -c "echo '100000000' > /sys/class/drm/card0/device/hwmon/hwmon3/power1_cap" sudo sh -c "echo '1' > /sys/class/drm/card0/device/hwmon/hwmon3/pwm1_enable" sudo sh -c "echo '236' > /sys/class/drm/card0/device/hwmon/hwmon3/pwm1"[/CODE] 4. Сохранить файл. 5. Сделать скрипт исполняемым: [B]sudo chmod +x '/home/имя пользователя/Рабочий стол/undervolting_amd_gpu/undervolting_amd_gpu.sh'[/B] 6. Создать службу [B]undervolting_amd_gpu.service[/B] в [B]/etc/systemd/system/[/B] 7. Добавить в файл [B]undervolting_amd_gpu.service[/B] следующее и прописать путь скрипта .sh в [B]ExecStart=[/B] : [CODE][Unit] Description=undervolting_amd_gpu [Service] ExecStart='/путь/к/вашему/скрипту.sh' [Install] WantedBy=multi-user.target[/CODE] 8. Сохранить файл. 9. Открыть терминал и выполнить команду: [B]sudo systemctl daemon-reload[/B] 10. Для автозапуска службы выполнить команду: [B]sudo systemctl enable undervolting_amd_gpu.service[/B] 11. Перезагружаем Linux Mint. [SIZE="5"][B]Расскажу про команды в скрипте undervolting_amd_gpu.sh:[/B][/SIZE] [B]sudo sh -c "echo 'manual' > /sys/class/drm/card0/device/power_dpm_force_performance_level"[/B] - Устанавливает режим работы видеокарты вручную, что позволяет изменять частоту, напряжение ядра и памяти. [B]sudo sh -c "echo 's 0 800' > /sys/class/drm/card0/device/pp_od_clk_voltage[/B]" - Устанавливает частоту ядра в 800 МГц для состояния 0 (минимальное). [B]sudo sh -c "echo 's 1 1374' > /sys/class/drm/card0/device/pp_od_clk_voltage"[/B] - Устанавливает частоту ядра в 1374 МГц для состояния 1 (максимальное). [B]sudo sh -c "echo 'm 1 625' > /sys/class/drm/card0/device/pp_od_clk_voltage"[/B] - Устанавливает частоту памяти в 625 МГц для состояния 1 (единственное). [B]sudo sh -c "echo 'vc 0 800 800' > /sys/class/drm/card0/device/pp_od_clk_voltage"[/B] - Устанавливает напряжение ядра в 800 мВ для частоты ядра 800 МГц. [B]sudo sh -c "echo 'vc 1 1087 819' > /sys/class/drm/card0/device/pp_od_clk_voltage"[/B] - Устанавливает напряжение ядра в 819 мВ для частоты ядра 1087 МГц. [B]sudo sh -c "echo 'vc 2 1374 860' > /sys/class/drm/card0/device/pp_od_clk_voltage"[/B] - Устанавливает напряжение ядра в 860 мВ для частоты ядра 1374 МГц. [B]sudo sh -c "echo '100000000' > /sys/class/drm/card0/device/hwmon/hwmon3/power1_cap"[/B] - Устанавливает ограничение мощности видеокарты в 100 Вт (100000000 микроватт = 100 Вт). [B]sudo sh -c "echo '1' > /sys/class/drm/card0/device/hwmon/hwmon3/pwm1_enable"[/B] - Включает регулировку скорости вентилятора видеокарты. [B]sudo sh -c "echo '236' > /sys/class/drm/card0/device/hwmon/hwmon3/pwm1[/B]" - Устанавливает скорость вентилятора видеокарты в 236 PWM (из диапазона от 0 до 255). (236/255)*100=92% от полной скорости вентилятора. [B]card0[/B] в пути [B]/sys/class/drm/card0/[/B] означает первую видеокарту. [SIZE="5"][B]Команды для терминала чтобы остановить и удалить скрипт из автозапуска:[/B][/SIZE] [CODE]sudo systemctl stop undervolting_amd_gpu.service sudo systemctl disable undervolting_amd_gpu.service[/CODE] |
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.


