LINUX.ORG.RU

Написал небольшое howto по установке драйверов AMD Radeon RX580 в Debian 9

 , , ,


5

3

Интересны комментарии, особенно владельцев карты, но и в любом случае, может где ошибся или что.

Рассматривается установка свободных драйверов OpenGL и проприетарных OpenCL на ветку stable ОС Debian 9.6 (Stretch) с ядром 4.9.0-8. Проприетарных OpenCL, поскольку карта ставится в машину с процессором старее Haswell/Ryzen, которые не поддерживаются ROCm.

Информация также должна годиться для RX570 и RX470, RX480. И скорее всего, для всех остальных RX 4xx, RX 5xx, кроме RX 590 (но может и с ней сразу заработает) - эта карточка стоит несколько особняком. В конце есть пара теоретических (самой карты нет и не пробовал) соображений, что может понадобиться, чтобы она заработала.

Сразу скажу, что информации на официальной вики проекта слишком мало https://wiki.debian.org/GraphicsCard#AMD.2FATI

В терминологии AMD у этой карты архитектура «polaris», она же «Arctic Islands» она же GCN 4th gen (4-е поколение Graphics Core Next). К ней относятся карты RX 460, RX 470, RX 480, RX 540, RX 550, RX 560, RX 570, RX 580

Микроархитектура карт (RX 470, RX 480) == (RX 570, RX580) практически до неразличимости на программно-драйверном уровне. Довольно много подробностей на эту тему можно прочесть здесь: https://wiki.gentoo.org/wiki/AMDGPU. Версия фирмвари от AMD - polaris10 для amd 480 и amd 580 (могут быть разные буквенные индексы у фирмвари).

Так как до этого на компьютере стояли карты от Nvidia надо избавиться от их драйверов. Рекомендации wiki Debian может оказаться недостаточно.

Но по порядку. Все делаем от root, разумеется.

Установка свободного драйвера OpenGL:

  1. Добавляем contrib и non-free в репозиторий (/etc/apt/sources.list), если еще этого не сделано.
  2. Добавляем dpkg --add-architecture i386
    В принципе необязательно, но весьма желательно для некоторых пакетов. В том числе для wine
  3. apt-get update
  4. apt-get install xserver-xorg-video-amdgpu libdrm-amdgpu1 libgl1-mesa-dri libgl1-mesa-glx glx-alternative-mesa
  5. apt-get install -t sid firmware-amd-graphics
    -t sid опционален. (но сам пакет ставить нужно) У меня RX580 и с фирмварью из stable работает, но возможно кому-то.нужны более новые бинарники к карте. Впрочем, вполне можно не подключать testing и sid ветки репозиториев, если отдельно скачать пакет от sid и содержимое /lib/firmware/amdgpu добавить вручную. Также фирмварь появится и при установке проприетарных драйверов, даже только OpenCL.
  6. Проверяем, что модуля nvidia нет в списке /etc/initramfs-tools/modules
    Если он там есть удаляем или коментим #
  7. Редактируем /etc/modprobe.d/nvidia.conf комментируем все записи. Добавляем строчку blacklist nvidia
  8. Выполняем update-glx --config glx
    Выбираем среди альтернатив (скорее всего от nvidia, если была карта nvidia) mesa
  9. Reboot

Должно заработать, если не заработало, то я даже не знаю. Надо будет внимательно читать лог /var/log/Xorg.1.log и смотреть, что там делает строчка nvidia =)

glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD POLARIS10 (DRM 3.20.0 / 4.9.0-8-amd64, LLVM 3.9.1) (0x67df)
    Version: 13.0.6
    Accelerated: yes
    Video memory: 8171MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD POLARIS10 (DRM 3.20.0 / 4.9.0-8-amd64, LLVM 3.9.1)
OpenGL core profile version string: 4.3 (Core Profile) Mesa 13.0.6
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 13.0.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 13.0.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

Добавляем apt-get install mesa-vdpau-drivers libvdpau-va-gl1 для ускорения фильмов.

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

Добавление возможностей OpenCL

  1. Берем пакет 17.50 для Ubuntu. Официально драйвера рассчитаны на Ubuntu, SuSe или RHEL c CentOS, так как Ubuntu весьма родственна Debian, она наиболее совместимая. При этом 18-я версия для Stretch (Debian 9) не подойдет. 17.50 вроде последняя среди 17-ой версии. Версия 17.50 почему-то не находится явно по ссылкам для для предыдущих версий на сайте amd
    Поэтому скачиваем по прямой ссылке, не забудьте referer - без него не даст скачать.
    wget -c -O amdgpu-pro-17.50-511655.tar.xz --referer=http://support.amd.com https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-17.50-511655.tar.xz

    Проверяем по контрольной сумме корректность скачивания (есть сообщения, что часто отдается битый файл, тогда надо повторять до успеха).
    md5sum 
         7c3da10af92f6e259bd5d2b250a70c91  amdgpu-pro-17.50-511655.tar.xz
    sha256sum
         a623f95b7bdbad981e19bd30304f7943f8827d230b702dc5b580793efe70ea07  amdgpu-pro-17.50-511655.tar.xz
    
  2. Создаем каталог
    #mkdir /var/opt/amdgpu-pro-local/
  3. Распаковываем туда содержимое скаченных драйверов tar -xpJf amdgpu-pro-17.50-511655.tar.xz --strip=1 -C /var/opt/amdgpu-pro-local/
    Обратите внимание на опцию --strip=1 - она убирает первый уровень вложенности каталогов, без нее внутри был бы создан вложенный каталог с пакетами, а этого нам не надо.
  4. Устанавливаем нужные права владельца:
    chown -Rv _apt:root /var/opt/amdgpu-pro-local/
    Важно. Без этого потом установка будет валиться с ошибкой типа
    N: Download is performed unsandboxed as root as file '/var/opt/amdgpu-pro-local/./amdgpu-core_17.50-511655_all.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
    - причем в том числе и если запустить установочный скрипт внутри пакета с драйверами, даже если там поменять ubuntu на debian. Вот все вроде будет нормально, но зафейлится в процессе установки на правах для установщика пакета.
  5. Создаем файл /etc/apt/sources.list.d/amdgpu-pro-local.list
    echo 'deb [ trusted=yes ] file:/var/opt/amdgpu-pro-local/ ./' > /etc/apt/sources.list.d/amdgpu-pro-local.list
  6. apt-get update
  7. apt-get install amdgpu-core amdgpu-dkms amdgpu-pro-core clinfo-amdgpu-pro ids-amdgpu libdrm-amdgpu-amdgpu1 libdrm2-amdgpu libopencl1-amdgpu-pro
    Внимательно следим за процессом установки, компиляция чере dkms драйвера и его установка должны быть безошибочными. Это ключевой момент, без чего работать ничего не будет. Разумеется должны быть установлены заголовки ядра linux-headers-4.9.0-8-common и компиляторы со всем необходимым. dkms вроде сам добавится через зависимости, если еще не стоит.
  8. Опционально. Можно переустановить пакет или скопировать из других драйверов содержимое с более свежим firmware для amd, так как amdgpu-dkms содержит каталог firmware которым перепишет старые бинарники.
  9. reboot

Теперь OpenCL версии 1.2 доступно. Можно для проверки запустить clinfo или поставить какой-нибудь пакет, его использующий, например, hashcat и запустить бенчмарк hashcat -b

Некоторые мысли по поводу RX 590. Я не знаю, может этого и не нужно или наоборот этого не хватит для работы, просто предполагаю.

В принципе, RX 590 почти тоже самое, что и RX580, но могут быть нужны новые фирмвари, которые можно взять из новейших драйверов 18.50, распотрошив файл amdgpu-dkms_18.50-708488_all.deb и достав их из каталога usr/src/amdgpu-18.50-708488/firmware/amdgpu скопировав затем в /lib/firmware/amdgpu

Также в пакете ids-amdgpu от 17.50 есть файл amdgpu.ids установленный в /opt/amdgpu/share/libdrm/amdgpu.ids - его полезно будет заменить таким же из пакета libdrm-amdgpu-common_1.0.0-708488_all.deb

Чего я не понял, это почему для OpenCL пишется что-то вроде Memory : 4048/7916 MB allocatable

Куда 4Гб памяти дели? Или так и должно быть, там какое-то разделение есть на основную и константную, может просто не понял чего насчет работы OpenCL.

Безотносительно версии поляриса правильно сделал что установил dkms, а так для polaris10 драйвер в ядре начиная с 4.8, но наверное rx5xx не заведутся, а rx470/480 из коробки (это я как облодатель rx470 говорю). Но есть нюанс, со старым ядерной частью (drm) и новой месой может наблюдаться регрес в производительности, наблюдал однажды как после новой месы просел fps хотя по всем новостям на phoronix были отчеты об росте перформанса, все исправило обновление ядра. Код месы и drm не смотрел, от чего так бывает не скажу.

anonymous ()
Ответ на: комментарий от SakuraKun

Что-то не понятно.

Если пользоваться их инструкцией с Extraction from mapped memory, то размер биоса = 56 Кб. (вернее чуть более).

## grep 'Video ROM' /proc/iomem
  000c0000-000ce7ff : Video ROM

В тоже время, по lspci находится такая строчка среди прочих:

#lspci  -v -s  $(lspci | grep ' VGA ' | cut -d" " -f 1)

Expansion ROM at 000c0000 [disabled] [size=128K]

Так какой размер ROM?

praseodim ★★★ ()
Ответ на: комментарий от Radius

Так помогло или нет? И сколько у тебя карт и оперативки? Мне для статистики.

Нет, ничего не изменилось.

clinfo

  Global memory size                              8305561600 (7.735GiB)
  Global free memory (AMD)                        8063696 (7.69GiB)
  Global memory channels (AMD)                    8
  Global memory banks per channel (AMD)           16
  Global memory bank width (AMD)                  256 bytes
  Error Correction support                        No
  Max memory allocation                           4244635648 (3.953GiB)

Карта одна, что у нее есть 8Гб этого даже clinfo не отрицает. Я не знаю, может это ограничение драйвера OpenCL или что-то такое. Или вообще архитектурное, типа 50% памяти напрямую можно задействовать под размещение данных, а остальные 50% только в процессе работы под локальные данные. Чисто предположение.

praseodim ★★★ ()
Ответ на: комментарий от praseodim

Это не архитектурно, иначе бы на других видеокартах не было бы доступно 100% памяти. Или не было бы доступно 100% при 32-битной адресации.

50% это просто дефолтная настройка для амд и интел. Для нвидии вообще 25%. Как поменять я пока вообще не понял. Переменные то работают, но изменяют размер в пределах 4 гб, т.е. 4 гб принято за 100% и дальше только в сторону уменьшения. А GPU_MAX_HEAP_SIZE влияет только на верхний предел. Если разберешься как сделать больше 4 гб отпишись пожалуйста.

Radius ★★★★ ()
Ответ на: комментарий от praseodim

Магическое число 4244635648 гуглится, где-то даже написали что это ограничение драйвера, но конкретного ответа не увидел, а по связанному ключевому слову CL_DEVICE_MAX_MEM_ALLOC_SIZE вообще «все сложно».

anonymous ()
Ответ на: комментарий от Radius

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

Как я понимаю, в игрушках такого ограничения точно нет. Это похоже только для OpenCL.

praseodim ★★★ ()
Последнее исправление: praseodim (всего исправлений: 2)
Ответ на: комментарий от praseodim

Скорее всего общий размер чипа с прошивкой - 128KB, из которых 58КБ заняты блобом AtomBIOS и поэтому только они отображены. Пожалуйста выполни команду

sudo dd if=/dev/mem of=atombios.bin bs=2048 skip=384 count=29
(29 = 0xe7ff/2048 = 58K/2K , 384 = 0xc0000/2048 = 768K/2K)
и поделись блобом atombios.bin, будет интересно на него посмотреть

SakuraKun ★★ ()
Ответ на: комментарий от SakuraKun

Результат упаковал 7z с паролем «rx580bios» (без кавычек), затем преобразовал в base64 и залил на пастебин https://pastebin.com/hfMFLaw9

// Неохота было вспоминать/искать свободный без регистраций заливщик файлов

praseodim ★★★ ()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от praseodim

Благодарю, вот что получилось: https://pastebin.com/qMC51dEz . Где-то до ~5700 строки AtomDis нормально разбирал а потом зациклился и заглючил, выдаёт много абзацев одинакового формата а в конце крашится. Скорее всего потому что формат AtomBIOS немного изменился с последнего обновления AtomDis в 2011 году. Пока что непонятно когда именно всё сломалось, по крайней мере AtomBIOS'ы для видеокарт архитектуры GCN1.0 (2013-2014) хорошо разбирает

anonymous ()
Ответ на: комментарий от praseodim

praseodim, то есть этот AtomDis все Command Tables проходит а между Data Tables -> ComponentVideoInfo / PowerPlayInfo сбивается. В-общем это меня и интересовало, справится ли AtomDis с этим блобом. Дело в том что начиная с AMD Vega уже и в видеокарты встраивают аппаратный бекдор PSP - https://static-geektopia.com/storage/geek/posts/2017/07/31/download-12.jpg , и было бы неплохо приобрести самую мощную видеокарту где этой фигни ещё не было. Но желательно чтобы блоб AtomBIOS этой видеокарты возможно было хорошенько разобрать и посмотреть, не укрылся ли там какой-нибудь программный бэкдор

SakuraKun ★★ ()
Последнее исправление: SakuraKun (всего исправлений: 1)
Ответ на: комментарий от SakuraKun

Дело в том что начиная с AMD Vega уже и в видеокарты встраивают аппаратный бекдор PSP - https://static-geektopia.com/storage/geek/posts/2017/07/31/download-12.jpg

Вот это блин внезапно! Даже в голову не приходило, что такая «фича» может быть.

и было бы неплохо приобрести самую мощную видеокарту где этой фигни ещё не было.

Как с этим у Nvidia? Подозреваю, что они возможно еще впереди amd оказались, но все же.

praseodim ★★★ ()
Ответ на: комментарий от SakuraKun

Для того чтобы применить IDA к этому байт коду, нужно чтобы она поддерживала эту архитектуру, ну или хотя бы похожую.

А там разве не x86 real mode? Ведь исполняться этот кусок должен CPU при старте.

praseodim ★★★ ()
Ответ на: комментарий от praseodim

Кстати, может в каких-то более новых видеокартах - например AMD RX6xx - этого PSP ещё не будет; ведь и в процессоры AMD он пришёл постепенно и его не было в 15h / раннем 16h . Причём в эту беззондовую группу входят некоторые процессоры 2014/2015 и даже 2016 годов (A10-7890K)

SakuraKun ★★ ()
Ответ на: комментарий от SakuraKun

Сейчас глянул на сайт AMD, если им верить, то это все же фича для профессиональной «Pro» серии и гибридных (с видеоядром) процессоров.

То есть, вроде как у обычных Вег нет, как и у Ryzen обычных и TR-серии процев. Или есть, но но формально пользователям недоступна?

praseodim ★★★ ()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от praseodim

вот, нашёл:

AtomBIOS - платформенно нейтральный код, который знает как работать со своим GPU. Платформа реализует небольшой интерпретатор этого кода и далее вызывает оговоренные функции AtomBIOS для различных операций. Так что видеокарта по сути сама знает как с ней работать.

то есть IDA не сможет его обработать и нужно допиливать AtomDis

SakuraKun ★★ ()
Ответ на: комментарий от SakuraKun

Но желательно чтобы блоб AtomBIOS этой видеокарты возможно было хорошенько разобрать и посмотреть, не укрылся ли там какой-нибудь программный бэкдор

Если я правильно понимаю смысл таких биосов, то там в принципе код, который работает только при старте компа и в real mode. Что в остальной части не известно. Любое pci и pci-e устройство имеет доступ ко всей памяти, если только его не изолировать с помощью виртуализации (iommu)

praseodim ★★★ ()
Ответ на: комментарий от praseodim

Как с этим у Nvidia? Подозреваю, что они возможно еще впереди amd оказались, но все же.

NVidia такие проприетарщики что могут скрыть само существование аналогичного бекдора; к тому же их официальные графические драйвера с закрытыми исходниками и уже были уличены в сливе телеметрии, а с опенсорсными драйверами бида - отчасти потому что NVidia регулярно ставит палки в колёса их разработчикам, я удивляюсь их упорству что до сих пор не забросили

SakuraKun ★★ ()
Ответ на: комментарий от SakuraKun

и уже были уличены в сливе телеметрии

Справедливости ради, как бы не совсем драйвера, а сопутствующий софт. Он ставится вместе с драйверами, но его можно удалить безвредно для работы. И в линуксе такого не ставится.

praseodim ★★★ ()
Ответ на: комментарий от praseodim

PSP есть во всех процессорах AMD начиная с архитектуры «поздний 16h» Puma (late 16h), а в «раннем 16h» Jaguar (early 16h) его ещё не было. Действительно, по всей видимости эту фичу сами юзеры хоть как-то могут использовать для своих нужд только в профессиональных процах/видеокартах, а в обычных эта фича только для NSA ;)

У видеокарт пока есть в премиум-сегменте (в Vega всё-таки есть) и Pro серии

SakuraKun ★★ ()
Последнее исправление: SakuraKun (всего исправлений: 1)
Ответ на: комментарий от praseodim

Да, ты прав, ведь в опенсорсном биосе coreboot есть опция

CONFIG_PCI_OPTION_ROM_RUN_YABEL:                                       

If you select this option, the x86emu CPU emulator will be used
to execute PCI Option ROMs. This option prevents Option ROMs from
doing dirty tricks with the system (such as installing SMM modules or hypervisors),
but it is also significantly slower than the native Option ROM initialization method.

благодаря которой некоторые блобы вроде AtomBIOS могут запускаться в эмуляторе - чтобы не лазили куда не следует :) А значит, этот код всё-таки работает на x86 CPU или по крайней мере как-то конвертируется из байт-кода в нативный

SakuraKun ★★ ()
Последнее исправление: SakuraKun (всего исправлений: 1)

Не читал простыню, но спрошу, какого xpена не написал это в upstream? А если это изи гуглится, то какого xpена ты принёс это сюда?

anonymous ()
Ответ на: комментарий от anonymous

Не формат для upstream, а впрочем, если хочешь помести сам туда. В принципе для этого еще надо эталонно воспроизвести все с нуля на чистой системе, чтобы убедиться в точности.

В полном виде такой инструкции для Debian я нигде не нагуглил ни на русском, ни на английском

praseodim ★★★ ()
Ответ на: комментарий от praseodim

Для coreboot желательно выбирать что-нибудь на AMD: потому что последний «AMD-без-PSP» значительно мощнее последнего «Intel-без-ME» т.к. в Intel запилили намного раньше, а возиться с me_cleaner и надеятся на него не хочется, к тому же есть и другие подозрительные блобы.

На коребутном board status - https://www.coreboot.org/status/board-status.html - есть список поддерживаемых плат, в том числе AMD-шных, и можно посмотреть для каких из них недавно присылали отчёты работоспособности. Чем свежее отчёт, тем выше шансы что склонировав самый последний коребут он у тебя запустится и не придётся выискивать какой коммит его испортил, такое хоть и редко но бывает.

Подборка коребутного железа на AMD, из разных групп:

1) Ноут - Lenovo G505S с процессором AMD A10-5750M и возможностью установки 16ГБ оперативки 1600MHz CL9. Поддерживает низкоуровневую виртуализацию уровня Qubes с мод.Xen (AMD-V/IOMMU/SLAT) но Qubes 4 стабильно работает только если использовать микрокод для процессора. А всякие VirtualBox/VMWare и так работают. Ситуация по остальным блобам здесь - поиск свободного ноутбука (комментарий) , правда оказалось что блоб IMC не используется даже в проприетарном UEFI и «обязательным» не является, но тот пост я уже отредактировать не могу.

Есть несколько версий Lenovo G505S:
*) только встроенная видеокарта («HD 8650G» внутри процессора A10-5750M) - материнка LA-A092P
*) встроенная + дискретка «HD 8570M» - материнка LA-A091P (обычно rev 1.0)
*) встроенная + дискретка «R5 M230» - материнка LA-A091P (обычно rev 1A)

Распознать чип дискретки можно по напечатанному на нём номеру: HD 8570M это 216-0841000 , а R5-M230 это 216-0856010 . 4-цифровый номер под логотипом AMD это YYMM, год и месяц производства чипа, хотя не знаю насколько они важны

Сравнение этих видеокарт:

  • встроенная в A10-5750M - HD 8650G - https://www.techpowerup.com/gpu-specs/radeon-hd-8650g-igp.c2185 - arch+features : TeraScale 3 (VLIW4) 32nm, DX 11.2, OpenGL 4.4, OpenCL 1.2, Vulkan - ?, Shader 5.0. Производительность: реально зависит от твоей оперативки! Если у тебя 1600MHz с таймингами CL11 или 1333MHz CL9 то будет почти такая же как у HD 8570M или R5 M230, но с 1600MHz CL9 твоя встройка может оказаться на 20% быстрее чем дискретка, просто благодаря более быстрой оперативе
  • дискретка HD 8570M - https://www.techpowerup.com/gpu-specs/radeon-hd-8570m.c1948 - arch+features : GCN 1.0 Southern Islands 28nm, DX 12, OpenGL 4.5, OpenCL 1.2, Vulkan 1.1.82, Shader 5.1
  • дискретка R5 M230 - https://www.techpowerup.com/gpu-specs/radeon-r5-m230.c2571 - arch+features: seems to be the same as HD 8570M. Производительность: примерно на 3.6% выше чем у HD 8570M . R5 M230 более новая чем HD 8570M, встречается реже, но неплохо было бы с ней отхватить

Также G505S могут различаться процессорами, и несмотря на то что процессор в сокете (не запаян) - намного лучше покупать сразу с процессором A10-5750M, чтобы потом не заказывать его из Китая за ~3 тысячи.

А сам Lenovo G505S с A10-5750M и дискреткой - можно найти в хорошем состоянии на авито за ~15 тысяч. Объём предустановленной оперативки DDR3 неважен потому что она или 1333MHz CL9 или 1600MHz CL11, разумнее будет продать её кому-нибудь и купить более быстрой 1600MHz CL9, лучше сразу 16GB . Наличие SSD тоже неважно т.к. наверняка какой-нибудь изношенный да ещё и с днищепамятью TLC, с хорошим SSD продавать вряд ли будут...

Подробные инструкции по прошивке этого ноута с обзором программаторов / прищепок - http://dangerousprototypes.com/docs/Flashing_a_BIOS_chip_with_Bus_Pirate , http://dangerousprototypes.com/docs/Flashing_KB9012_with_Bus_Pirate , разве что там не написано что желательно приобретать программатор CH341A с зелёной платой потому что было небольшое количество бракованных с чёрной платой которые выдают 5V вместо нужных 3.3V.

У меня этот ноут есть и уже написал гигантское количество инфы про него на LOR (можно поискать в старых сообщениях) + смогу с радостью помочь по любому вопросу!

2) Десктоп дешёвый - ASUS AM1I-A с процом Athlon 5350 / 5370 - интересная MiniITX плата, но процессор чуть более медленный чем A10-5750M (хотя возможно благодаря хорошему десктопному охлаждению в среднем будет быстрее), пока что не поддерживает IOMMU в коребуте (но попытаемся завести) + вроде как двухканальный режим оперативки не поддерживает. Ещё есть похожие Biostar AM1ML и ASROCK IMB-A180 но у них немного устарел board_status.

3) Десктоп средний - ASUS KCMA-D8. Даже работает с libreboot, больше инфы здесь - https://libreboot.org/docs/hardware/kcma-d8.html

4) Десктоп мощный / Сервак - однопроцессорный ASUS KFSN4-DRE и ASUS KGPE-D16 куда можно поставить два шестнадцатиядерных AMD Opteron! К сожалению из-за бага в коребуте (может пофиксили уже?) KGPE-D16 пока не может работать с больше чем 192ГБ оперативки, т.е. 256ГБ не заводятся. Совместимы с либребутом - https://libreboot.org/docs/hardware/kfsn4-dre.html , https://libreboot.org/docs/hardware/kgpe-d16.html . Б/у серваки всплывают на авито время от времени компании избавляются от них и нужно мониторить; год назад видел довольно прокачанный KGPE-D16 в Питере за 80к но это слишком дорого для меня

5) Ещё есть «десктоп средний» MSI MS-7721 и ASUS F2A85-M но там нужно выискивать конкретные версии этих плат, например MS-7721 желательно FM2-A75MA-E35 т.к. работоспособность других не гарантирована и возможно придётся поработать самостоятельно чтобы завести, а инфа по версиям F2A85-M здесь - https://www.coreboot.org/Board:asus/f2a85-m#References

SakuraKun ★★ ()
Последнее исправление: SakuraKun (всего исправлений: 5)
Ответ на: комментарий от SakuraKun

А есть какие-нибудь варианты проверить насколько работоспособен Intel Me на уж запущенной системе? И хотя бы слегка его придавить, может через баги. Вроде что-то такое даже было.

praseodim ★★★ ()
Ответ на: комментарий от praseodim

Можно пытаться через me_cleaner уменьшить его прошивку, правда никто не может дать гарантий что и после этого она не сможет вытворять что-то эдакое, возможно не для всех а для небольшого процента пользователей которые интересны кому надо + может быть скрытый режим восстановления функционала который опять же будет активироваться только для «избранных», этого к сожалению исключать нельзя. А на инструменты проверки работоспособности ME , работающие в основной ОС, положиться нельзя т.к. ME работает на уровень ниже и эта проверка получает свои данные через спец. интерфейс с ME который может и наврать

SakuraKun ★★ ()
Ответ на: комментарий от SakuraKun

Понятно. В принципе есть intelmetool в составе coreboot.

me_cleaner как я понял еще и не все форматы прошивки понимает, нужную информацию надо вытаскивать программатором. Ну и есть риск окирпичить устройство...

praseodim ★★★ ()
Ответ на: комментарий от praseodim

если вдруг захочешь собрать сервак на оптеронах, смотри чтобы у процессоров которые покупаешь не были оторваны конденсаторы на днище, и такое бывает. поэтому если покупать через инет, нужно просить у продавца фотографию днища

SakuraKun ★★ ()
Ответ на: комментарий от praseodim

любой комп можно раскирпичить через некоторое время даже если никто не поделится своим рабочим образом а ты не сделал полный бэкап своей прошивки: грамотно извлечь образ из официальной утилиты обновления биоса от производителя и прошить, правда он будет без ID-шников и из-за этого на интеловских платах может Ethernet-контроллер не завестись

SakuraKun ★★ ()
Ответ на: комментарий от SakuraKun

Посмотрим.

Между прочим, что означает этот результат intelmetool

Error mapping physical memory 0x0000004226977792 [0x2000] ERRNO=1 Operation not permitted
Could not map ME setup memory.
Do you have kernel cmdline argument 'iomem=relaxed' set ?

Я не понял, мне надо установить iomem=relaxed' или нет, такой опции точно не стоит.

praseodim ★★★ ()
Ответ на: комментарий от SakuraKun

Но эта опция может ухудшить безопасность компа. Без нее ядро не дает даже руту писать в некоторые устройства из юзерспейса. Я так понял.

Хотя, чтобы раз запустить.

praseodim ★★★ ()
Ответ на: комментарий от praseodim

Понятно :) В-общем, наверное проще всего тот AMD G505S ноут купить за ~15к чтобы «в коребут войти» и с me_cleaner не возиться. Правда если честно я могу быть немного предвзят в том плане что агитирую за него ещё и для расширения dev/userbase ;) К счастью в России его купить пока что легко т.к. в своё время завезли много, а вот в европе/америке друзьям приходится тщательно мониторить всякие ebay потому что их там весьма мало и скупают очень быстро. + Придётся немного потратиться на программатор/прищепку на чип и AR9462 2.4GHz+5GHz WiFi адаптер на 100% опенсорсе (и дрова и фирмварь) вместо днища от броадкома которое стоит по умолчанию

SakuraKun ★★ ()
Ответ на: комментарий от praseodim

Это действительно так, например если включен iomem=relaxed а злоумышленник удалённо рутнул твой комп и опенсорсный прошивальщик flashrom умеет в internal режим на твоей плате, он может перепрошить твой биос с добавлением шпионского модуля

SakuraKun ★★ ()
Ответ на: комментарий от SakuraKun

Сейчас попробовал.

ME: FW Partition Table      : OK
ME: Bringup Loader Failure  : NO
ME: Firmware Init Complete  : YES
ME: Manufacturing Mode      : YES
ME: Boot Options Present    : NO
ME: Update In Progress      : NO
ME: Current Working State   : Normal
ME: Current Operation State : M0 with UMA
ME: Current Operation Mode  : Normal
ME: Error Code              : No Error
ME: Progress Phase          : Host Communication
ME: Power Management Event  : Pseudo-global reset
ME: Progress Phase State    : Host communication established

ME: Extend SHA-256: 668fb5e974e5c80242bbbc778e63f627d7c97be23897f7743fadcb19161d24bb

ME: response is missing data
ME: invalid response, group 255 ?= 7, command 2 ?= 0, is_response 0
ME: not enough room in response buffer: 8 != 6
ME: Firmware Version 0.0.0.0 (code) 0.0.0.0 (recovery) 0.0.0.0 (fitc)

ME Capability: Full Network manageability                 : OFF
ME Capability: Regular Network manageability              : OFF
ME Capability: Manageability                              : OFF
ME Capability: Small business technology                  : OFF
ME Capability: Level III manageability                    : OFF
ME Capability: IntelR Anti-Theft (AT)                     : OFF
ME Capability: IntelR Capability Licensing Service (CLS)  : ON
ME Capability: IntelR Power Sharing Technology (MPC)      : ON
ME Capability: ICC Over Clocking                          : OFF
ME Capability: Protected Audio Video Path (PAVP)          : OFF
ME Capability: IPV6                                       : OFF
ME Capability: KVM Remote Control (KVM)                   : OFF
ME Capability: Outbreak Containment Heuristic (OCH)       : OFF
ME Capability: Virtual LAN (VLAN)                         : OFF
ME Capability: TLS                                        : OFF
ME Capability: Wireless LAN (WLAN)                        : OFF

Не могу понять, что такое Capability Licensing Service - какое-то очень мутное описание, да и с Power Sharing Technology (MPC) тоже. Радует, что все остальное отключено. Причем для CLS нужны драйвера для ОС. Это конечно ничего не означает по большому счету, но все же.

Кстати, во всем этом есть намек, что по крайней мере старые системы Intel Me возможно не умеют IPv6, так что это тоже какой-то защитой могло бы быть.

praseodim ★★★ ()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от praseodim

могу ошибаться, но вроде как intelmetool узнаёт что включено а что выключено просто «спросив» у ME, а он же не обязательно правду скажет? :)

SakuraKun ★★ ()
Последнее исправление: SakuraKun (всего исправлений: 2)
Ответ на: комментарий от praseodim

Поставил RX590, полёт отличный.

Добавил в ядро опции:

CONFIG_DRM_AMDGPU=m
CONFIG_AMD_IOMMU_V2=m
CONFIG_HSA_AMD=y

В /etc/portage/make.conf добавил «amdgpu» в переменную VIDEO_CARDS:

VIDEO_CARDS="amdgpu radeon radeonsi nouveau"

Ядро обновил до версии 4.20.2, потому что на 4.14.83 видео не заводилось.

И на всякий случай добавил модуль radeon в blacklist.

Pravorskyi ()
Ответ на: комментарий от Pravorskyi

Добавил в ядро опции:
CONFIG_DRM_AMDGPU=m
CONFIG_AMD_IOMMU_V2=m
CONFIG_HSA_AMD=y

Странно, как эти опции могли быть выключены по умолчанию? По крайней мере IOMMU точно везде включена должна быть

SakuraKun ★★ ()