- Об установке драйверов для видеокарт AMD в Ubuntu
- Какие драйвера нужны для майнинга на видеокартах АМД в ubuntu
- Подготовка к установке драйверов АМД в Убунту
- Установка драйверов AMD в ОС ubuntu
- Корректировка загрузчика ядра GRUB
- Отключение загрузки устаревшего драйвера Radeon в ядре Linux
- Установка пакета AMD APP SDK
- Как проверить версию установленных драйверов AMD в ubuntu?
- Пошаговая настройка Ubuntu для майнинга в автоматическом режиме с удаленным контролем
- Вводные данные
- Обновление системы и установка необходимых пакетов.
- Установка майнера, подключение к пулу и настройка стартового скрипта
- Список некоторых полезных команд для удаленного мониторинга:
Об установке драйверов для видеокарт AMD в Ubuntu
Операционные системы семейства linux практически всегда стоят на голову выше своих «оконных партнеров» производства Microsoft.
Это связано с тем, что Windows начала свой путь на базе старого и доброго MS-DOS, который долгое время ограничивал ее развитие, а также в связи с нацеленностью разработчиков Винды на получение максимальной прибыли от пользователей, а не на их удобство. Именно поэтому каждый новый дистрибутив Виндовс становится все более громоздким и требует апгрейда железа компьютера.
ОС семейства Linux в большинстве случаев бесплатны и развиваются энтузиастами, нацеленными на достижение максимальной производительности на уже имеющемся оборудовании. Поэтому все дистрибутивы, работающие на ядре Линукса очень стабильны и не требовательны к ресурсам.
БОльшие требования к аппаратному обеспечению для линукс-подобных систем появляются в случае их использования для майнинга. В этом случае особенно важно достичь максимальной производительности подсистемы видео, которая обычно используется для проведения вычислений при майнинге. Кроме того, правильная установка и настройка драйверов для видеокарт в Linux требуется для полноценного использования рабочих станций (домашних компьютеров) под управлением этой системы.
Обычно установка драйверов для видеокарт nvidia в LINUX-подобных системах не вызывает затруднений.
Для видеокарт АМД часто приходится «танцевать с бубнами», но овчинка стоит выделки. Использование правильно настроенных драйверов АМД может дать серьезный прирост производительности видеокарт, например позволяет выжать до 30 mh/s на старых картах типа Радеон R9 290/390 при майнинге на алгоритме Ethash даже на поздних эпохах DAG.
Рассмотрим подробнее особенности работы графической подсистемы с видеокартами amd под управлением ubuntu, а также особенности установки и настройки драйверов для компьютеров с GPU AMD в ОС на основе Убунту.
Тема установки драйверов АМД в linux очень сложная и зависимая от конкретной конфигурации системы, а также версии drivers. Поэтому данная статья не претендует на полноту изложения всех проблем по затронутой тематике, а является попыткой систематизировать какую-то часть информации по работе с драйверами АМД в ubuntu.
Какие драйвера нужны для майнинга на видеокартах АМД в ubuntu
Для работы видеокарт в ubuntu обычно используются такие виды драйверов:
- AMDGPU-PRO — проприетарные, включают драйвера AMDGPU и разные надстройки, в том числе OPENCL, OpenGL 4.5, GLX, VDPAU, Vulkan;
- AMDGPU — открытые фирменные АМД (лучше всего подходят для майнинга пр иусловии дополнительной установки пакетов для OPENCL);
- Mesa — интегрированные в ядро системы Linux открытые драйвера radeon (устаревшие);
- rocm (Radeon Open Compute) — реализация OpenCL от компании AMD, также входят в пакет драйверов AMDGPU-PRO последних версий.
Для майнинга обычно применяется версия AMDGPU-PRO, так как она позволяет в полной мере использовать технологию параллельных вычислений на видеокартах АМД в Линуксе.
Открытые драйвера radeon Mesa не поддерживают в полной мере технологии OpenCl, поэтому не подходят для майнинга. Для работы видеокарт AMD поколения CGN2 (например, r9 290) эти драйвера нужно принудительно отключать.
Фирменные драйвера АМД отличаются между собой поддержкой разных версий OpenCL, а также списком поддерживающихся видеокарт.
Для майнинга в ОС Ubuntu 16.04 лучше использовать фирменные драйвера версии 17.40 (рекомендованные АМД (версия 514569) — для RX-ов или эти (версия 492261) — на AMD R9 290 и других картах поколения CGN2).
Для Ubuntu 18.04 на RX-ах хорошо работают драйвера версии 18.50.
Драйвера версии 17.40 имеют поддержку окружения для высокопроизводительных параллельных вычислений OpenCL версии 1.2, а релиз 18.50 — OpenCL 2.1 (сейчас это последняя версия).
Теоретически OpenCL 2.1 должен обеспечивать более высокую производительность и порядок работы с памятью, но, к сожалению, последние драйвера АМД могут не корректно работать со всеми, даже официально поддерживаемыми картами.
В особенности это касается поддержки еще не очень старых карт с микроархитектурой Graphics Core Next 2. К ним относятся видеокарты с чипами Bonaire и Hawaii: AMD Radeon HD 7790, HD 8770, R7 260/260X, R9 290/290X, R9 295X2, R7 360, R9 390/390X.
Подготовка к установке драйверов АМД в Убунту
Для установки драйверов и всех необходимых пакетов нужно иметь права суперпользователя (root), либо получать эти привилегии, выполняя каждую команду с sudo.
Перед установкой драйверов АМД нужно обновить систему.
Это можно сделать, выполнив команду:
После обновления ОС нужно перезагрузить компьютер:
На некоторых компьютерах с видеокартами поколения CGN2 (например, R9 290) сначала нужно установить драйвера версии 492261 и только потом устанавливать обновления (это возможно сделать только на ubuntu 16.04). В противном случае система крашится.
Установка драйверов AMD в ОС ubuntu
Для установки драйверов amdgpu-pro 17.40 в терминале, открытом из папки с разархивированными файлами драйвера, выполняют команду:
При появлении ошибок доступа к amdgpu-pro-install нужно дать файлу необходимые права командой:
Кроме того, в дополнение к драйверам 17.40, желательно установить компонент ROCM командами:
Этот пакет является платформой для GPU Enabled HPC и UltraScale Computing.
Для установки более новых драйверов (18.0+) используется команда:
Если при установке драйверов возникают ошибки с правами доступа, то нужно попробовать предоставить права выполнения файлу amdgpu-pro-install как программы с помощью контекстного меню или командой:
Для установки в серверной версии системы 18.04 только средствами командной строки используют команды (для драйверов 19.30):
После процедуры стандартной установки драйверов для видеокарт amd нужно также инсталлировать дополнительные пакеты:
Этим, среди прочего, лечится ошибка WARNING: amdgpu dkms failed for running kernel mining.
После инсталляции драйверов нужно добавить пользователя в группу видео. Это осуществляется командой:
Проверка пользователей, включенных в группу video делается командой:
Проверить правильность устанвоки драйверов можно командами:
После этого нужно откорректировать загрузчик, где нужно включить поддержку больших страниц видеопамяти (режим compute), а также отключить загрузку драйвера radeon для видеокарт поколения CGN 2.
Корректировка загрузчика ядра GRUB
Отредактировать GRUB можно с помощью редактора nano командой:
В редакторе нужно отредактировать строку GRUB_CMDLINE_LINUX=»», приведя ее к виду:
где amdgpu.vm_fragment_size=9 — это включение поддержки больших страниц памяти (аналог compute mode).
После корректирования grub нужно сохранить изменения, нажав control+o , подтвердить изменения, нажав Y, нажать Enter для сохранения файла, выйти из редактора (control+x) и затем выполнить команды:
В выражении amdgpu.vm_fragment_size=X значение фрагментирования видеопамяти X вычисляется по формуле 4KB*2^X. По умолчанию X=4, что соответствует страницам памяти величиной 64KB. Установка значения X=9 делает размер страниц памяти равным 2MB ,что значительно уменьшает фрагментацию и увеличивает быстродействие.
Отключение загрузки устаревшего драйвера Radeon в ядре Linux
Для видеокарт с микроархитектурой CGN второго поколения (CGN 2), нужно обязательно привести строку параметров загрузчика ядра GRUB_CMDLINE_LINUX_DEFAULT к такому виду:
После корректирования grub нужно сохранить изменения, нажав control+o , подтвердить изменения, нажав Y, нажать Enter для сохранения файла, выйти из редактора (control+x) и затем выполнить команды:
Установка пакета AMD APP SDK
Пакет AMD APP SDK позволяет использование технологии OpenCL. Его нужно устанавливать для старых версий драйверов. Например, уже для amdgpu-pro-17.40-514569 этот пакет ставить не нужно.
В новых драйверах AMDGPU-Pro и ROCm инсталлировать AMD APP SDK не нужно (AMD уже официально даже не распространяет этого пакета).
Для старых драйверов скачать пакет APP SDK можно с GitHub repo или на сайте sourceforge.
Как проверить версию установленных драйверов AMD в ubuntu?
Для изучения устройств, установленных в системе и поддерживающих технологию OpenCL, используют команду:
Пример вывода информации о видеокарте командой clinfo:
Кроме того, проверить, какой драйвер используется системой можно командой:
Скриншот видеокарт R9 290/290x, работающих в xubuntu 16.04 с драйверами amdgpu (вывод по команде lspci -k | grep -EA3 «VGA|3D|Display»):
Полную информацию о процессе загрузки всех драйверов в системе, режиме работы со страницами памяти и другую важную информацию о видеокартах (и не только) можно посмотреть в логах командой:
Выдача информации,касающейся подсистемы ядра Direct Rendering Manager (DRM), которая отвечает за взаимодействие с видеокартами:
Здесь есть информация о таких важных для майнинга элементах, например:
- initializing kernel modesetting (HAWAII 0x1002:0x67B0 0x174B:0xE285 0x00) — инициализация установок ядра для видеокарты HAWAII с указанием BIOS;
(для rx-ов отображается: initializing kernel modesetting (POLARIS10 0x1002:0x67DF 0x174B:0xE353 0xCF);
- memory usable by graphics device = 4096M — количество доступной видеопамяти;
- Detected VRAM RAM=4096M, BAR=256M — количество видеопамяти,
- RAM width 512bits GDDR5 — тип видеопамяти и разрядность шины и т.д.
При наличии проблем с установкой драйверов amd именно здесь стоит искать ошибки.
Для просмотра информации обо всех устройствах в системе можно использовать команду:
Источник
Пошаговая настройка Ubuntu для майнинга в автоматическом режиме с удаленным контролем
В этой статье я постараюсь подробно изобразить последовательность действий, которую нужно совершить для настройки фермы генерации Биткоинов на базе Ubuntu 11.04. Безусловно, такой информации в сети более чем достаточно, но я постараюсь описать полностью завершенный и отлаженный процесс, неоднократно испробованный лично и затрону некоторые нюансы, касающиеся тонкой настройки системы.
О самих биткоинах, их целессообразности и будущем пусть каждый делает выводы по своему усмотрению, я же в данной статье буду иметь дело только с технической стороной вопроса.
Вводные данные
Будем считать что у нас уже имеется системный блок с одной или несколькими видеокартами ATI серии 5xxx или 6xxx (с Nvidia тут делать нечего) и установленная Ubuntu Linux. Я использовал последнюю 64 битную версию и все ссылки ниже в коде даны для этой версии софта, хотя их не сложно будет привести к 32 битной, если возникнет такая необходимость.
Обновление системы и установка необходимых пакетов.
Последовательно вводим команды, при необходимости — пароль администратора:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get remove nvidia-common
sudo apt-get install libqtgui4 python-setuptools python-numpy subversion g++ libboost-all-dev
Устанавливаем драйвера видео
wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-6-x86.x86_64.run
sudo sh ati-driver-installer-11-6-x86.x86_64.run —buildpkg Ubuntu/natty
sudo dpkg -i *.deb
sudo apt-get -f install
sudo aticonfig -f —initial —adapter=all
sudo reboot
Здесь нужно заметить, что версия драйвера используется не самая последняя и на то есть причины — при использовании последней на данный момент 11.7 многие отмечали серьезную загрузку центрального процессора, одного или сразу всех ядер. Прироста проиводительности это не даст, а лишнюю нагрузку на блок питания — запросто.
Устанавливаем python-jsonrpc
svn checkout http://svn.json-rpc.org/trunk/python-jsonrpc
cd python-jsonrpc/
sudo python setup.py install
Если не работает основной svn, скачать архив можно отсюда
Устанавливаем AMD APP SDK 2.4
wget http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v2.4-lnx64.tgz
tar xvzf AMD-APP-SDK-v2.4-lnx64.tgz
echo export AMDAPPSDKROOT=$
/.bashrc
echo export AMDAPPSDKSAMPLESROOT=$
/.bashrc
cd /
sudo tar xfz $AMDAPPSDKROOT/icd-registration.tgz
На данный момент доступна версия AMD APP SDK 2.5, но лично я ее проверить в работе еще не успел, поэтому и советовать не рискну.
Устанавливаем pyopencl-0.92
wget http://pypi.python.org/packages/source/p/pyopencl/pyopencl-0.92.tar.gz
tar xzvf pyopencl-0.92.tar.gz
cd pyopencl-0.92
./configure.py —cl-inc-dir=$
make
sudo make install
Установка майнера, подключение к пулу и настройка стартового скрипта
В этом месте каждый решает сам для себя, какой программой-майнером пользоваться и к какому совместному пулу подключаться. И тех и других достаточное количество, я остановился на Phoenix Miner в качестве первого и deepbit.net в качестве второго.
Устанавливаем и допиливаем Phoenix Miner 1.50
wget http://svn3.xp-dev.com/svn/phoenix-miner/files/phoenix-1.50.tar.bz2
tar xvf phoenix*.bz2
Это базовая установка, для начала можно оставить как есть, но желающим получить дополнительный прирост производительности порядка 3-4% советую посетить следующую ветку форума bitcointalk.org
Регистрация в пуле совместного майнинга
Выбор пула — дело сугубо индивидуальное, как вариант дальше я рассматриваю deepbit. Регистрируемся здесь deepbit.net и создаем воркеров по количеству имеющихся видеокарт. Отличаться они будут хвостом логина (он же передается как параметр в скрипте, поэтому советую делать 0, 1 и т.д.) Пароль к воркерам проще делать одинаковый.
Создаем стартовый скрипт
sudo touch /usr/local/bin/startminer.sh
sudo chmod 755 /usr/local/bin/startminer.sh
sudo gedit /usr/local/bin/startminer.sh
Собственно, сам скрипт с комментариями
# $ <1>используется как переменная для логина и видеокарты, если их несколько
# далее вместо user подставляем имя пользователя в ubuntu, ниже адрес пула, тело логина и пароль
HOMEDIR=/home/user
MINERSERV=pit.deepbit.net:8332
MINERUSER=login_$<1>
MINERPASS=password
export AMDAPPSDKROOT=$
export AMDAPPSDKSAMPLESROOT=$
export LD_LIBRARY_PATH=$
#разгоняем GPU до 875Mhz или больше руководствуясь здравым смыслом и рабочими частотами, частоту памяти наоборот, понижаем до 300
DISPLAY=:0 aticonfig —od-enable —adapter=all
DISPLAY=:0 aticonfig —od-setclocks=875,300 —adapter=$<1>
#устанавливаем обороты кулера на 50 процентов
#можно больше или меньше, температура желательна не больше 80 по Цельсию
DISPLAY=:0.$ <1>aticonfig —pplib-cmd «set fanspeed 0 50»
cd $
echo «Startming Miner: $<1>»
$
Настраиваем скрипты загрузки и удаленный мониторинг
При выполнении следующих действий необходимо учитывать, что при следующей загрузке графической оболочки больше не будет и все дальнейшие корректировки можно будет производить только в консоли или удаленно по ssh.
sudo apt-get install ssh screen
sudo mv /etc/init/gdm.conf /etc/init/gdm.org
sudo gedit /etc/init/startx.conf
Скрипт startx.conf
description «Start X Server for btc mining»
start on runlevel [2345]
stop on runlevel [!2345]
kill timeout 30
script
exec /usr/bin/X 2>&1
end script
Создаем еще один или несколько файлов конфигурации (по количеству видеокарт — btcminer_0.conf, btcminer_1.conf и т.д. Содержание их идентично.
description «Start BTC Mining»
start on runlevel [2345]
stop on runlevel [!2345]
kill timeout 30
script
#вместо user подставляем имя пользователя
LOGINUSER=user
sleep 30
exec /usr/bin/screen -dmS gpu0 su -c ‘/usr/local/bin/startminer.sh 0’ $
end script
Если системный блок подлючен к роутеру и получает DHCP адрес — одной проблемой меньше, если же он подключается по pppoe или Wi-Fi — могу порекомендовать следующую статью по настройке сетевых интерфейсов из консоли:
настройка сети вручную
Вот, собственно, и все. В качестве финальных штрихов устанавливаем в BIOS автоматический старт при отключении электричества и отключение ошибок при отсутствии клавиатуры. Можно отключить периферию и монитор — они нам больше не нужны.
Список некоторых полезных команд для удаленного мониторинга:
#мониторим работу майнера
sudo screen -r gpu0
#если несколько видеокарт
sudo screen -r gpu1 и т.д.
Для отключения нажимаем Control-A + Control-D.
#мониторим температуру видеокарт
DISPLAY=:0 sudo aticonfig —odgt —adapter=all
#обороты кулера видеокарты смотрим так
DISPLAY=:0.0 sudo aticonfig —pplib-cmd «get fanspeed 0»
DISPLAY=:0.1 для второй видеокарты и т.д.
#устанавливаем скорость вращения кулера видеокарты, где 50 — обороты в %
DISPLAY=:0.0 sudo aticonfig —pplib-cmd «set fanspeed 0 50»
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Источник