LINUX.ORG.RU

У вас работает amdgpu? Как вы собрали пакеты?

 , , , ,


5

4
<Tl;dr>

если у вас полноценно работает amdgpu, покажите пожалуйста как у вас собраны libdrm, mesa и стоит ли помимо x11-drivers/xf86-video-amdgpu — x11-drivers/xf86-video-ati?

</Tl;dr>

Купил тут камень AMD A10-7870K с R7 Sea Islands GCN 1.1, получается, что согласно вики могу использовать amdgpu, а не radeon.

Ядро 4.5.0 собрал так:

# CONFIG_DRM_RADEON is not set
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_USERPTR is not set
# CONFIG_DRM_AMD_POWERPLAY is not set
# CONFIG_FB_RADEON is not set
CONFIG_FB_EFI=y
Отлично, консоль вижу, драйвер работает:
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R7 Graphics] (rev d4)
	Subsystem: Gigabyte Technology Co., Ltd Kaveri [Radeon R7 Graphics]
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu
[    1.640325] [drm] amdgpu kernel modesetting enabled.
[    1.641092] fb: switching to amdgpudrmfb from EFI VGA
[    1.642479] [drm] amdgpu: 1024M of VRAM memory ready
[    1.642480] [drm] amdgpu: 1024M of GTT memory ready.
[    1.645798] [drm] amdgpu: irq initialized.
[    1.645807] [drm] amdgpu: dpm initialized
[    2.004054] fbcon: amdgpudrmfb (fb0) is primary device
[    2.239250] amdgpu 0000:00:01.0: fb0: amdgpudrmfb frame buffer device
[    2.294602] [drm] Initialized amdgpu 3.1.0 20150101 for 0000:00:01.0 on minor 0
согласно вики в make.conf стоит:
VIDEO_CARDS="amdgpu radeonsi"
начинаем собирать иксы и кишки, для картинки в мониторе нам нужны:

  • x11-base/xorg-server
  • x11-base/xorg-drivers
  • x11-drivers/xf86-video-amdgpu
  • media-libs/mesa
  • x11-libs/libdrm

Всё хорошо! Но чертило портаж начинает тянуть x11-drivers/xf86-video-ati, потому что его требует mesa, если libdrm собирается с юзом radeonsi! С xf86-video-ati или без него (удалив после установки) — система полностью зависает при старте иксов (в 2016 году, лолекс), только ребут., нет не полностью! Только иксы зависают, это у меня acpid не был установлен для ребута по кнопке, вот лог иксов, что происходит с ними когда зависают: https://bpaste.net/show/b46bb4ff5b81

Картинку можно получить только пересобрав mesa и libdrm вот так:

[I] x11-libs/libdrm
     Available versions:  2.4.59^t 2.4.65^t (~)2.4.66^t (~)2.4.67^t **9999^t {libkms static-libs valgrind ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32" VIDEO_CARDS="amdgpu exynos freedreno intel nouveau omap radeon tegra vmware"}
     Installed versions:  2.4.67^t(02:57:21 PM 03/20/2016)(libkms -static-libs -valgrind ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32" VIDEO_CARDS="amdgpu -exynos -freedreno -intel -nouveau -omap -radeon -tegra -vmware")
[I] media-libs/mesa
     Available versions:  [M]7.10.3 10.3.7-r1^d 11.0.6^d (~)11.0.8^d (~)11.0.9^d (~)11.1.2-r1^d **9999^d {bindist +classic d3d9 debug +dri3 +egl +gallium +gbm gles gles1 gles2 hardened (+)llvm motif +nptl opencl openmax openvg osmesa pax_kernel pic selinux +udev vaapi vdpau wayland xa xvmc ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32" KERNEL="FreeBSD linux" VIDEO_CARDS="freedreno i915 i965 ilo intel mach64 mga nouveau r100 r128 r200 r300 r600 radeon radeonsi savage sis tdfx via vmware"}
     Installed versions:  11.1.2-r1^d(03:08:20 PM 03/20/2016)(classic dri3 egl gallium gbm gles1 gles2 llvm nptl udev vaapi vdpau xa xvmc -bindist -d3d9 -debug -opencl -openmax -osmesa -pax_kernel -pic -selinux -wayland ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32" KERNEL="-FreeBSD" VIDEO_CARDS="-freedreno -i915 -i965 -ilo -intel -nouveau -r100 -r200 -r300 -r600 -radeon -radeonsi -vmware")
т.е. без radeonsi, иксы стартуют, всё работает, но нет ускорения, т.е. дерганное всё, а на выхлопах в консоли и иксовом логе, говорит, что не может найти radeonsi, поэтому вопрос:

если вы на amdgpu, покажите пожалуйста как у вас собраны libdrm, mesa и установлен ли помимо x11-drivers/xf86-video-amdgpu — x11-drivers/xf86-video-ati?



Последнее исправление: kep (всего исправлений: 3)
Ответ на: комментарий от OpenMind

только AMDGPU, я же сказал, что протестил блоб — это ад.

А на амдгпу в блендере поддерживается GPU-рендеринг (OpenCL 2.0), о чем еще можно мечтать-то.

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

киньте в меня мануалом, а то я что-то завести девайс не могу на убунте 16.04:

Linux server 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R7 Graphics]
	Subsystem: ASUSTeK Computer Inc. Kaveri [Radeon R7 Graphics]
	Kernel driver in use: radeon
	Kernel modules: radeon

Всё что нашёл в гугле https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-PP-4.5-Steps
Выставил в /boot/config-4.4.0-21-generic как оно хочет, в грабе при загрузке добавил amdgpu.powerplay=1 и ... НИЧЕГО. Моё консольфу ещё не такое мощное...

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

у вас тут упоминается:

CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_CIK=y
Это у меня я так понял тоже самое должно быть?
У меня:
CONFIG_DRM_RADEON=m
# CONFIG_DRM_RADEON_USERPTR is not set
# CONFIG_DRM_RADEON_UMS is not set
CONFIG_DRM_AMDGPU=m
# CONFIG_DRM_AMDGPU_CIK is not set
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
Ещё смущает что там 4.5 всё время упоминается, хотя я чётко видел что оно ж бекпортировано 4.4 основное точно должно быть.

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

CONFIG_DRM_AMDGPU_CIK=y

Да, должно обязательно быть так, потому что это нужно для Sea Islands, к которым и относится наш R7 Kaveri (Spectre).

CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y

А вот эти я не в ключал, работает без них, возможно нужно попробовать и проверить, но первое вроде как не нужно вообще, а второе касается ноутбуков.

Ещё смущает что там 4.5

4.5 (включая 4.5.1, но 4.5.2 не пробовал) в принципе не работает, иксы зависают на старте, хотя система продолжает работать.

Ядра, на которых гарантированно работает: 4.5-rc5, 4.5-rc6, 4.6-rc1, 4.6-rc2, 4.6-rc3, 4.6-rc4.

Сейчас попробую собрать 4.5.2 и отпишу.

kep
() автор топика
Ответ на: комментарий от OpenMind

Нет, 4.5.2 — тоже иксы зависают на старте, всё что видно это белый дефис в левом верхнем углу.

Так что подходят только вышеуказанные ядра. (но на никаком 4.4* я не пробовал, если что, даже не знаю работает там вообще или нет, давно это было же.)

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

Установил:

Linux server 4.6.0-040600rc4-generic #201604172330 SMP Mon Apr 18 03:32:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

в конфиге ядра:

# CONFIG_DRM_RADEON=m
# CONFIG_DRM_RADEON_USERPTR is not set
CONFIG_DRM_AMDGPU=y
CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
в grub amdgpu.powerplay=1 дописал в новой ядре. Даже в /etc/modprobe.d/blacklist.txt дописал blacklist radeon.
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R7 Graphics]
	Subsystem: ASUSTeK Computer Inc. Kaveri [Radeon R7 Graphics]
	Kernel driver in use: radeon
	Kernel modules: radeon
Это БОЛЬ! Там что-то ещё надо?

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

Вот мои настройки:

CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_USERPTR is not set
# CONFIG_DRM_AMD_POWERPLAY is not set
# CONFIG_DRM_AMD_ACP is not set

CONFIG_DRM_RADEON=m
# CONFIG_DRM_RADEON_USERPTR is not set
# CONFIG_FB_RADEON is not set
(радик держу на всякий случай, он не мешает)
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R7 Graphics] (rev d4)
	Subsystem: Gigabyte Technology Co., Ltd Kaveri [Radeon R7 Graphics]
	Kernel driver in use: amdgpu
	Kernel modules: radeon, amdgpu
а какой именно у тебя Kaveri R7? ревизии нет как у меня (rev d4)? lspci -nn

Далее, radeon заблеклистен в /etc/modprobe.d/blacklist.conf:

blacklist radeon fglrx

/etc/X11/xorg.conf.d/10-drivers.conf

 Section "Device"
         Identifier "AMD"
         Driver     "amdgpu"
         # Driver     "radeon"
 EndSection

Как видишь у меня модулями, рекомендую именно так и компилить, а не в ядро. Ну и конечно, вдруг что, xf86-video-amdgpu — должен быть установлен.

kep
() автор топика
Ответ на: комментарий от OpenMind

в параметры ядра modprobe.blacklist=radeon и всё.

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

00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R7 Graphics] [1002:130f]

Да не, простая... у меня А10 7850к

/etc/X11/xorg.conf.d/10-drivers.conf

окей, такого файла у меня нет... :

.   app-defaults  default-display-manager  rgb.txt  xkb     Xreset.d	Xsession    Xsession.options
..  cursors	  fonts			   xinit    Xreset  Xresources	Xsession.d  xsm
Его самому написать надо? Или генерить чем-то?

Ну и конечно, вдруг что, xf86-video-amdgpu — должен быть установлен.

установлен xserver-xorg-video-amdgpu и libdrm-amdgpu1.

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

окей, такого файла у меня нет... :

возможно он и не нужен, но я для точности работы создал и заполнил. Но это уже мы говорим про иксы и их старт, тебе нужно убедиться, что модуль amdgpu для карточки подгружается, а не radeon, а потом уже репу чесать про иксы.

А10 7850к

ну норм, будет работать, у нас одинаковые карточки, у меня A10-7870K.

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

хм:

lsmod | grep amdgpu
lsmod | grep radeon
radeon               1511424  5
i2c_algo_bit           16384  1 radeon
ttm                    98304  1 radeon
drm_kms_helper        147456  1 radeon
drm                   364544  10 ttm,drm_kms_helper,radeon
не грузится вообще. Щас ещё попробую..

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

его и не будет в lsmod, потому что ты вкомпилил в ядро (=y), а нужно модулем (=m), я только модулем использую, в ядро даже не пробовал, знаю, что это неправильно.

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

добавил в его в загрузку:

amdgpu                987136  0
i2c_algo_bit           16384  2 amdgpu,radeon
ttm                    98304  2 amdgpu,radeon
drm_kms_helper        147456  2 amdgpu,radeon
drm                   364544  10 ttm,drm_kms_helper,amdgpu,radeon
Оно в принципе грузится... НО:
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R7 Graphics]
	Subsystem: ASUSTeK Computer Inc. Kaveri [Radeon R7 Graphics]
	Kernel driver in use: radeon
	Kernel modules: radeon
Я прописал его в /etc/modules-load.d/modules.conf Но видеокарта его не использует. Но:
dmesg | grep -i amdgpu
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.6.0-040600rc4-generic root=UUID=286e193b-5fba-4c46-a062-516aba2096ca ro persistent quiet splash vt.handoff=7 amdgpu.powerplay=1
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.6.0-040600rc4-generic root=UUID=286e193b-5fba-4c46-a062-516aba2096ca ro persistent quiet splash vt.handoff=7 amdgpu.powerplay=1
[    7.274292] [drm] amdgpu kernel modesetting enabled.
Ну ...

OpenMind ★★★★
()
Ответ на: комментарий от kep
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y

щас так.

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

у меня так:

amdgpu                786679  4
i2c_algo_bit            5264  1 amdgpu
drm_kms_helper         91428  1 amdgpu
ttm                    68051  1 amdgpu
drm                   259345  16 ttm,drm_kms_helper,amdgpu
удали к чертям тогда radeon вообще? Может он остался в /lib/modules/* ? Можно намертво херануть его и его зависимости в blacklist.conf (вместо blacklist):
install radeon /bin/false
кстати, linux-firmware установлен? Он вроде как нужен.

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

Как его удалить так, что-бы не сломать систему?

sudo apt-get remove xserver-xorg-video-radeon
[sudo] пароль для madness: 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Пакеты, которые будут УДАЛЕНЫ:
  ubuntu-mate-core ubuntu-mate-desktop xserver-xorg-video-all xserver-xorg-video-ati xserver-xorg-video-radeon
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 5 пакетов, и 0 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 641 kB.
Хотите продолжить? [Д/н] n

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

понятия не имею, убунтой не пользовался, в генте и арче всё работает ок, кстати а чего ты паришься насчет иксового драйвера? Он будет работать только с модулем radeon, тебе стоит сконцетрировать внимание на том, как еще до старта иксов настроить так, чтобы видеокарточка работала на amdgpu, как у меня выше. А уже потом думать над иксами, с которыми скорее всего никаких проблем не будет, по крайней мере у меня нет, стоят оба иксовых драйвера и не мешают друг другу.

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

Окей. Как мне это сделать? Драйвер есть в загрузке, в настройках ядра всё сделано и установлено, как советуют:

CONFIG_DRM_RADEON=m
# CONFIG_DRM_RADEON_USERPTR is not set
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
Там что-то ещё нужно? Буду по одному сервису отключать...

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

Да уже всё как нужно, собственно. Почему у тебя не работает blacklist? Попробуй добавить как я выше показывал в /etc/modprobe.d/blacklist.conf:

install radeon /bin/false
потому что если просто:
blacklist radeon
то не всегда срабатывает, если его например какая нибудь зависимость вызывает, то он не блеклистится, так что блеклисть вышеуказанным способом через install /bin/false.

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

kep
() автор топика
Ответ на: комментарий от OpenMind

бывает, что модули остаются от прошлых сборок этой же версии ядра в /lib/modules/версия-ядра, несмотря на то, что в конфиге и при сборке ядра они отключены.

установи mlocate, запусти updatedb от рута и поищи где у тебя остались эти radeon:

locate radeon
удали их.

kep
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.