Управление видеокартой amd radeon linux

AMD hell или как я мучался с видеокартой от AMD на линуксе

Раньше работая на линуксе, я не знал никаких проблем. Так получилось, что мне на некоторое время пришлось пересесть на другой компьютер. Как и полагается, поставил линукс. Я его брал с собой, поэтому практически сразу же была обнаружена проблема: ноутбук не выходит из сна и из гибернации. Просто черный экран и всё. Даже подсветка не включается.

Google подсказала, что можно поставить проприетарные драйвера на видеокарту, что я и сделал. Из сна ноутбук стал выходить через раз. Иногда черный экран, а иногда всё почти ок. Появлялись какие-то артефакты и непрорисовываться иконочки, пустые поля вместо времени и так далее. Ну да ладно, хоть так. На всякий случай все документы перед сном сохраняю и закрываю, чтобы ничего не повредить, если не сработает нормальный wake up.

Казалось бы, что за раздутая проблема? Ну не просыпается… тогда делай hard reset (удержание кнопки питания) и заново загружай ОС. А вот что. Я смотрю видеокурсы на внешнем мониторе. И раньше у меня не было никаких проблем. Точнее, я их решил. Изначально вывод видео работал только если загрузишь ОС с подключенным видеокабелем. Если же кабель подключить уже после загрузки, то на внешнем мониторе невозможно сделать родное для него разрешение. Смотреть с неродным — невозможно. Опять перезагружать ОС? Здравствуй винда!

А решил я эту проблему выбором другого дистрибутива. Попробовал некоторые, остановился на linux mint. Вроде заработал вывод на внешний экран. Теперь можно подключить кабель когда хочешь. Приходишь с работы, достаешь ноут и подключаешь к большому экрану.
Ах да, сон пока не работает. Надо поставить проприетарные драйвера, как я это делал на убунте. Поставил. Прихожу домой со спящем буком, подключаю — опять не работает. И меня осенило! Проблема то была не в ubuntu, а в драйвере для видеокарты.

Значит получается, что свободный драйвер не умеет будить ноутбук, а проприетарный не умеет выводить на внешний монитор. Вот и сиди выбирай что тебе важнее. Мне важнее и то и то. Я не могу отказаться от чего-то. Уж лучше я откажусь от видеокарт AMD.

Это к вопросу о том, что отталкивает многих от линукса. Ладно, я купил новый ноут без amd’шной карты, а этот оставил в качестве стационара. Разве нужны эти проблемы людям, которым не повезло иметь на борту карты этой компании? Как я могу предлагать им линукс, если сам не знаю, как решить эту проблему. А им легче винду оставить и не знать проблем с этим. Я девушке посоветовал купить некий ноут. Тогда я не знал о таких тонкостях с их картами. Поставил ей ubuntu. А там красуется надпись AMD unsupported hardware и все прилагающиеся проблемы. В итоге — минус один линуксоид. Спасибо вам, ребята из Advanced Micro Devices.

Читайте также:  Will windows 10 have easy transfer

Надеюсь этот пост поможет вам в правильном выборе железа своего ноутбука.

Модель того ноутбука: HP pavilion g6 1211er.
Видеокарта: ATI Radeon HD 6520G

В комментариях подсказывают что для линукса нельзя брать wifi-карты от broadcom

Источник

Установка драйвера AMD в Ubuntu

Одной из актуальных проблем в Linux является настройка корректной и максимально производительной работы видеокарты. В данной статье мы рассмотрим как выполняется установка драйвера AMD в Ubuntu на примере видеокарты Sapphire RX480 с 8 Гб памяти.

В статье мы проведем установку драйвера, научимся проверять его наличие в системе и сравним производительность различных реализаций драйверов в операционной системе Ubuntu.

Для видеокарт данного производителя существуют три актуальных варианта видеодрайвера:

  • Mesa – свободное программное обеспечение для видеокарт различных производителей, реализующее API OpenGL и Vulcan. Используется по умолчанию в большинстве операционных систем Linux.
  • AMDGPU-PRO – проприетарные драйвера от фирмы AMD. Включают в себя драйвера AMDGPU и различные дополнительные модули с закрытым программным кодом.
  • AMDGPU – драйвера для видеокарт от фирмы AMD с открытым программным кодом.

Прежде чем переходить к установке драйвера давайте проверим производительность видеокарты без драйвера, чтобы увидеть действительно ли стоит ставить этот драйвер.

Тест производительности системы

Прежде всего оценим производительность системы без драйвера. Для проверки производительности мы будем использовать тест Unigine Heaven. Данный пакет можно скачать по ссылке. После установки пакета запускаем его и устанавливаем требуемые нам настройки тестирования. В моем случае это были следующие параметры:

  • API: OpenGL;
  • Качество: Ультра;
  • Тесселяция: Экстрим;
  • Стерео 3D: Выключено;
  • Матрица: Выключить;
  • AA: х8;
  • Полный экран: Да;
  • Разрешение: 1920х1080.

Запускаем пакет тестирования. Выбираем в меню опцию Бенчмарк и ждём результатов. В итоге я получил следующие данные.

Далее разберемся как выполняется установка amdgpu pro в ubuntu 18.04.

Установка драйверов AMD на Ubuntu

Теперь мы можем заняться установкой драйверов AMD (PRO или открытой версии).

Шаг 1. Поиск старой версии

Для проверки установлена ли у нас уже данная реализация драйверов выполняем команду

dpkg -l amdgpu-pro

Если драйвера не обнаружены, то необходимо их установить.

Шаг 2. Загрузка драйвера

Переходим на страницу загрузки драйверов Radeon по ссылке. Выбираем нашу модель видеокарты. Нажимаем кнопку Submit.

Выбираем версию операционной системы, версию драйвера и нажимаем кнопку Download.

Переходим в папку Загрузки, смотрим название пакета и распаковываем пакет архиватором в данной директории с помощью команды tar:

tar -Jxvf amdgpu-pro-19.50-967956-ubuntu-18.04.tar.xz

Переходим в папку с распакованными драйверами с помощью команды:

Шаг 3. Установка драйвера

Установка драйвера AMDGPU в Ubuntu открытой версии выполняется командой:

Для установки версии драйвера с проприетарными модулями запускаем команду:

Дожидаемся пока проприетарные драйвера amd ubuntu 18.04 установятся. При выполнении процесса установки стоит проявить терпение и подождать, когда установка завершиться. Затем текущего пользователя добавляем в группу video с помощью команды

Читайте также:  Браузер для puppyrus linux

sudo usermod -a -G video $LOGNAME

Шаг 5. Проверка корректности установки

После этого перезагружаем систему и проверяем – установлены ли драйвера у нас системе. Это можно сделать несколькими методами.

sudo dpkg -l amdgpu-pro

lspci -k | grep -EA2 “VGA|3D|Display”

Проматываем результат команды до раздела *-display и смотрим параметры.

Проверка производительности нового драйвера

Теперь мы можем вторично протестировать производительность нашего компьютера с помощью бенчмарка Unigine Heaven. Параметры бенчмарка были оставлены без изменений. Результат оказался выше, чем с драйверами по умолчанию на 10,78%. При этом следует заметить, что разница между минимальным и максимальным FPS также существенно выросла.

Удаление драйверов AMD

Чтобы удалить драйвер AMDGPU Ubuntu следует выполнить тот же скрипт, который вы использовали при установке только с опцией —uninstall. Например:

sudo ./amdgpu-install —uninstall

sudo ./amdgpu-pro-install —uninstall

Выводы

Сегодня мы разобрались с одним важным вопросом о драйверах для карт AMD – стоит ли их заменять на версию от производителя? И я должен ответить, что да, стоит. Прирост производительности составляет 10 процентов, что, думаю, не окажется лишним как в рабочих задачах, так и в играх.

Также мы выяснили какие версии драйверов для видеокарт данного производителя существуют, разобрались с их установкой, удалением и проверкой их наличия в операционной системе Ubuntu 18.04.

Источник

Разгон и даунвольтинг видеокарт AMD в Linux с помощью OverDrive

При переходе с операционной системы Windows на Linux поначалу довольно сложно установить нужные значения разгона и даунвольтинга видеокарт при майнинге.

В ОС семейства Linux с ядром версии 4.17 и выше есть возможность управления разгоном видеокарт AMD встроенными в драйвер amdgpu средствами (технология OverDrive). К сожалению, эта функция по умолчанию отключена, но, как говорится, «стучите в двери, и Вам откроют…». Большим плюсом технологии OverDrive является поддержка видеокарт с ядром Navi (RX5xxx). Пока это единственная возможность полноценно работать с параметрами разгона и даунвольтинга с такими картами в Linux.

Почему стоит обновлять ядро системы и как проверить его версию

Для того, чтобы максимально использовать все возможности ОС, желательно сразу после установки произвести обновление компонентов. Это может добавить ряд полезных функций и устранит возможные баги.

Например, поддержка опций оверклокинга в видеокартах с ядром Hawaii появилась только в ядре 4.20 с драйверами amdgpu. Отсутствие такой возможности в более ранних ядрах с успехом решалось перепрошивкой BIOS, но зачем делать лишние телодвижения, если все уже продумано и встроено в ядро? Кроме того, даже при прошивке всех значений оверклокинга и даунвольтинга в Биос карточки, лучше продублировать управление и контроль за ее состоянием на уровне операционной системы.

Просмотреть информацию о том, какие вообще версии ядра сохранены в системе можно командой:

Примеры отображения информации о версии ядра по команде uname -a:

В ОС xubuntu 16.04 с ядром 4.15.0-72 (OverDrive не поддерживается):

В HiveOS на начало 2020 года используется ядро 5.0.21:

В RaveOS в январе 2020 года используется ядро 5.2.5:

Как включить управление вольтажом, частотами ядра и памяти в ОС типа *Ubuntu?

Для полноценного управления и контроля за состоянием видеокарт АМД Polaris и Vega в операционках на базе дистрибутива Убунту с драйверами amdgpu нужно включить поддержку технологии Radeon OverDrive. Для видеокарт Navi поддержка OverDrive включена в Linux с kernel 5.5 и выше.

Читайте также:  Настройка windows для usb модема

Нужно понимать, что бездумное использование функций OverDrive может испортить оборудование, например, сжечь карту или перенагрузить блок питания и тем самым ускорить его прибытие в мир иной.

С точки зрения теории для включения OverDrive изменяют параметры ppfeaturemask в amdgpu драйвере. Благодаря этому появится полный контроль над состоянием видеокарт производства АМД, так как включатся следующие функции:

На практике с этой целью в загрузчике ядра /etc/default/grub в строке GRUB_CMDLINE_LINUX_DEFAULT нужно прописать:

Затем нужно не забыть обновить загрузчик ядра командой:

По умолчанию в драйверах используется значение 0xfffd3fff. Установка значения 0xffffffff изменяет следующие опции:

  • включается режим OverDrive;
  • включается патч gfxoff для уменьшения потребления энергии (функция power-saving);
  • включается режим энергосбережения Stutter при работе на низких p-state.

При установке значения 0xfffd7fff включается только режим OverDrive.

Установка значения 0xffffffff на видеокартах RX 470/570 может привести к появлению артефактов, поэтому для них лучше использовать режим 0xfffd7fff.

Затем нужно найти в системе файл, в котором прописаны частоты и вольтаж видеокарты. Это делается командой (например, для видеокарты 0):

Исходя из информации на картинке, искомый файл находится по пути:

В этой директории имеется файл pp_od_clk_voltage, где содержится информация о состояниях P-state ядра/памяти и соответствующих им вольтажам:

Если в системе включена интегрированная в процессор видеокарта (обычно это нулевая или первая карта), то для нее файла pp_od_clk_voltage создаваться не будет.

В Linux можно менять значения P-state для ядра и VRAM аналогично разгону в Windows с помощью OverdriveNTool. Для ручного изменения параметров разгона нужно сначала выполнить команду:

Для изменения P-state для ядра и VRAM используют команду вида (в данном случае для изменения частоты и напряжения в P-state 7):

Здесь значение «s» изменяет параметры ядра на седьмой P-state, 1140 – частота ядра в MHz, 890 – его вольтаж в mV.

В команде нужно прописать свой путь к файлу pp_od_clk_voltage.

Для изменения частоты и вольтажа видеопамяти используют команду:

Здесь 2 – это второй стейт памяти, 2065 – частота в мегагерцах, 1150 –напряжение на контроллере памяти в мВ.

Для проверки внесения изменений выполняют:

команду и проверяют содержимое файла pp_od_clk_voltage с вольтажом и частотами.

Если изменения не применяются, нужно проверить установку ручного управления производительностью видеокарты командой:

Если все значения сохранены и проверены, то для их применения применяют команду:

Для автоматического применения этих команд после перезагрузки можно использовать скрипт, например, под названием overclock в директории /usr/bin/ или прописывать эти команды в начало скрипта майнера.

В скрипт вписывают указанные выше команды:

Затем в папке /etc/systemd/system создают файл с расширением .service, например, overclock.service с таким содержимым:

Потом выполняют команду:

которая включает автозагрузку скрипта в виде системной службы.

Работоспособность автозагрузки скрипта можно проверить после перезагрузки командой:

Аналогичные операции можно сделать более простым путем с помощью утилит wolfamdctrl, AMDCOVC, или amdgpu-clocks, но это тема других статей.

Источник

Оцените статью