Запуск чего нибудь в 3Д

Доброго времени суток.

Есть: OS - suse 15.0 CPU - iCore 3 RAM - 12Gb Video - 6670(1024)
Как ни странно, мало что можно запустить. Из steam ничего не запускается и ошибок не выдает. Родные дрова АМД от 15 года и fglrx сняты с поддрежки. Новые amdgpu-pro, так же как и Vulkan, не держат 6670. Под PlayOnLinux удалось запустить Wow3, но с жуткими тормозами и без горячих клавиш.

«sudo lspci -v»

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Turks XT [Radeon HD 6670/7670] (prog-if 00 [VGA controller])
    Subsystem: PC Partner Limited / Sapphire Technology Device e247
    Flags: fast devsel, IRQ 16
    Memory at e0000000 (64-bit, prefetchable) [size=256]
    Memory at f7e20000 (64-bit, non-prefetchable) [size=128]
    I/O ports at e000 [size=256]
    Expansion ROM at 000c0000 [disabled] [size=128]
    Capabilities: [50] Power Management version 3
    Capabilities: [58] Express Legacy Endpoint, MSI 00
    Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
    Capabilities: [150] Advanced Error Reporting
    Kernel modules: radeon

/var/log/Xorg.0.log

    59.620] (II) Loading /usr/lib64/xorg/modules/libvbe.so
    59.626] (II) Module vbe: vendor="X.Org Foundation"
    59.626]    compiled for 1.19.6, module version = 1.1.0
    59.626]    ABI class: X.Org Video Driver, version 23.0
    59.626] (II) Loading sub module "int10"
    59.626] (II) LoadModule: "int10"
    59.626] (II) Loading /usr/lib64/xorg/modules/libint10.so
    59.634] (II) Module int10: vendor="X.Org Foundation"
    59.634]    compiled for 1.19.6, module version = 1.0.0
    59.634]    ABI class: X.Org Video Driver, version 23.0
    59.634] (II) VESA(0): initializing int10
    59.636] (II) VESA(0): Primary V_BIOS segment is: 0xc000
    59.636] (II) VESA(0): VESA BIOS detected
    59.636] (II) VESA(0): VESA VBE Version 3.0
    59.636] (II) VESA(0): VESA VBE Total Mem: 16384 kB
    59.636] (II) VESA(0): VESA VBE OEM: AMD ATOMBIOS
    59.636] (II) VESA(0): VESA VBE OEM Software Rev: 13.12
    59.636] (II) VESA(0): VESA VBE OEM Vendor: (C) 1988-2010, AMD Technologies$
    59.636] (II) VESA(0): VESA VBE OEM Product: TURKS
    59.636] (II) VESA(0): VESA VBE OEM Product Rev: 01.00
    59.669] (II) VESA(0): Creating default Display subsection in Screen section
        "vesa" for depth/fbbpp 24/32
    59.669] (==) VESA(0): Depth 24, (--) framebuffer bpp 32
    59.669] (==) VESA(0): RGB weight 888
    59.669] (==) VESA(0): Default visual is TrueColor
    59.669] (==) VESA(0): Using gamma correction (1.0, 1.0, 1.0)
    59.669] (II) Loading sub module "ddc"
    59.669] (II) LoadModule: "ddc"
    59.669] (II) Module "ddc" already built-in


Что опробовано:

  1. mesa пробовал, но так и не ясно начали работать или нет, так как разницы не было видно, как и понять что они заменили прежний драйвер.
  2. Gallium nine через wine не помог. Скорее всего по причинам выше сказанным. Для suse отдельного пакета нет.
  3. Драйвер radeon. Хорошая статья для gentoo, но мало подходящая для suse. Прошивки в системе есть. Часть команд удалось выполнить. Пробую разбираться.
  4. glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 5.0, 256 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.0.2
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.0.2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.0.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:


  1. xorg.conf пробовал его как то править, после чего пришлось руками вырезать куски, загрузившись без GUI, так как не нашел вменяемой статьи по настройке в моём случае.
  2. xf86-video-ati этот пакет поставлен, но работает он или нет не знаю.
No update candidate for 'xf86-video-ati-18.0.1-lp150.1.1.x86_64'. The highest available version is already installed.

dmesg | grep -E ‘drm|radeon’ | grep -iE ‘firmware|microcode’

    3.199486] [drm] Loading TURKS Microcode
    3.199497] radeon 0000:01:00.0: Direct firmware load for radeon/TURKS_pfp.bin failed with error -2
    3.199499] ni_cp: Failed to load firmware "radeon/TURKS_pfp.bin"
    3.199553] [drm:evergreen_init [radeon]] *ERROR* Failed to load firmware!

Пробовал пересобрать initrd, но систме либо не удаётся понять декомпрессор либо пишет ошибку загрузки статичной ноды драйвера.

команды следующие

cd /tmp/wrk/
mkdir /tmp/wrk/initrdxz
cd /tmp/wrk/initrdxz
unxz -c ../initrd-4.12.14-lp150.12.58-default | cpio -i -d -H newcmkdir /tmp/wrk/initrdxz/lib/firmare/radeon -p
mkdir /tmp/wrk/initrdcpio/lib/firmare/radeon -p
cp /tmp/wrk/*.bin /tmp/wrk/initrdxz/lib/firmare/radeon/
cp /tmp/wrk/*.bin /tmp/wrk/initrdcpio/lib/firmare/radeon/

cd /tmp/wrk/initrdxz 
find ./ | cpio -o -H newc | xz -c > ../initrd-4.12.14-lp150.12.58-default2 

Можно что то сделать?[/size][/size][/size][/size]

Приветствую.
Например, можно купить железо поддерживаемое операционной системой (и драйверами тоже).

Возможно вам покажется это банальностью, но самый правильный подход - это при покупке подбирать поддерживаемое ОС оборудование. Это позволит избежать очень многих проблем. Сам делаю так, уже много лет и не испытываю (почти) проблем с совместимостью (даже ноутбуки так выбираю).

Мне кажется здесь дело не в поддержке ОС. Так как прошивка есть, а в проблеме поддержки карт со стороны производителя. Для открытого софта поведение, напоминающее офтоп контору, странно. Словно заказ слить по тихому старьё.
Тем более, если ОС не грузит прошивку, то замена карты не изменить ситуацию. Как мне кажется.

Думаю, что в вашем случае, проблема не в прошивке, а в ядре.
Кстати, вот это лишние действия:

cd /tmp/wrk/
mkdir /tmp/wrk/initrdxz
cd /tmp/wrk/initrdxz
unxz -c …/initrd-4.12.14-lp150.12.58-default | cpio -i -d -H newcmkdir /tmp/wrk/initrdxz/lib/firmare/radeon -p
mkdir /tmp/wrk/initrdcpio/lib/firmare/radeon -p
cp /tmp/wrk/.bin /tmp/wrk/initrdxz/lib/firmare/radeon/
cp /tmp/wrk/
.bin /tmp/wrk/initrdcpio/lib/firmare/radeon/
/lib/firmware/radeon

Достаточно выполнить:

cp TURKS_pfp.bin /lib/firmware/radeon/TURKS_pfp.bin
/usr/bin/dracut --logfile /var/log/YaST2/mkinitrd.log --force /boot/initrd-4.12.14-lp150.12.58-default 4.12.14-lp150.12.58-default

Полюбопытствуйте:

cat /var/log/YaST2/mkinitrd.log

В качестве возможной отладки:

  1. Загрузить многопользовательский режим
  2. Выгрузить модуль radeon и соответствующие подмодули
  3. Снова загрузить модуль в режиме подробностей: modprobe -v radeon

Спасибо за ответ.
Теперь будет ясно, как это делать быстрее. Но файлы прошивок все на месте. Выполнение команды дает результат:


dracut: Possible missing firmware "radeon/TURKS_smc.bin" for kernel module "radeon.ko"
dracut: Possible missing firmware "radeon/TURKS_mc.bin" for kernel module "radeon.ko"
dracut: Possible missing firmware "radeon/TURKS_me.bin" for kernel module "radeon.ko"
dracut: Possible missing firmware "radeon/TURKS_pfp.bin" for kernel module "radeon.ko"

для папок amdgpu, cis, en-ub6350 тот же результат. Все файлы на месте.

Логи https://cloud.mail.ru/public/5ohu/VpVStL5j3 и что в папке прошивок https://cloud.mail.ru/public/3ZGT/4muPj9GxN

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

Пожалуйста, для всяких там текстовых файлов, скриншотов используйте встроенный сервис:https://paste.opensuse.org/
Теперь по делу:

dracut: Possible missing firmware “radeon/TURKS_smc.bin” for kernel module “radeon.ko”
dracut: Possible missing firmware “radeon/TURKS_mc.bin” for kernel module “radeon.ko”
dracut: Possible missing firmware “radeon/TURKS_me.bin” for kernel module “radeon.ko”
dracut: Possible missing firmware “radeon/TURKS_pfp.bin” for kernel module “radeon.ko”

С чего вы взяли, что вам нужна именно эта прошивка?

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

В том-то и дело, что загружен. Об этом свидетельствует эта информация:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Turks XT [Radeon HD 6670/7670] (prog-if 00 [VGA controller])
Subsystem: PC Partner Limited / Sapphire Technology Device e247
Flags: fast devsel, IRQ 16
Memory at e0000000 (64-bit, prefetchable) [size=256]
Memory at f7e20000 (64-bit, non-prefetchable) [size=128]
I/O ports at e000 [size=256]
Expansion ROM at 000c0000 [disabled] [size=128]
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Legacy Endpoint, MSI 00
Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [150] Advanced Error Reporting
Kernel modules: radeon[/size][/size][/size]

Вы можете проверить действительность этой командой:

lsmod | grep radeon

Теперь по поводу отладки:

  1. Переключитесь в консоль Ctrl+Alt+F1
  2. Остановите графический режим: sudo /usr/sbin/init 3 или systemctl stop graphical.target
  3. Выгрузите модуль: sudo /usr/sbin/modprobe -r radeon (если модуль не выгрузится, то будет отображена причина ошибки. Вот это как раз и будут подмодули, которые необходимо выгрузить)
  4. Загрузите модуль: sudo /usr/sbin/modprobe -v radeon
  5. За дополнительной информацией обратитесь: dmesg | tail -n 20[/size]

Ошибок нет (https://paste.opensuse.org/98414090
по поводу прошивки, так это система пишет

SUSE Paste

К сожалению, ни слова о прошивке.
Попробуйте изменить кол-во выводимых строк dmesg с помощью ключа ‘-n’ .
Хотя, лучше так:

  1. Переключитесь в консоль Ctrl+Alt+F2 и запустите journalctl -f
  2. Переключитесь в консоль Ctrl+Alt+F1 и проделайте то, что сделали раньше:
  1. Остановите графический режим: sudo /usr/sbin/init 3
  2. Выгрузите модуль: sudo /usr/sbin/modprobe -r radeon
  3. Загрузите модуль: sudo /usr/sbin/modprobe -v radeon

Далее:

по поводу прошивки, так это система пишет

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

dracut: Possible missing firmware “radeon/TURKS_smc.bin” for kernel module “radeon.ko”
dracut: Possible missing firmware “radeon/TURKS_mc.bin” for kernel module “radeon.ko”
dracut: Possible missing firmware “radeon/TURKS_me.bin” for kernel module “radeon.ko”
dracut: Possible missing firmware “radeon/TURKS_pfp.bin” for kernel module “radeon.ko”

Весьма неточная и противоречивая информация, поскольку это может быть вызвано следующим:
a. прошивка не найдена
б. прошивка не подходит
в. прошивка загружается с ошибками
Поэтому вам нужно как можно больше собрать информацию о предмете разговора. Ведь правильно поставленный вопрос - это уже половина ответа.
Думаю, что сейчас было бы правильным сформулировать вопрос так: linux debug firmware load

Эти строки


OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 5.0, 256 bits)

говорят о т.ч. Mesa 3D не работает должным образом.
Советую переустановить ОС.

Для отображения сведений о железе лучше использовать утилиту inxi, брать inxi 3.0.32 здесь https://software.opensuse.org/package/inxi?search_term=inxi из экспериментальных пакетов, т.к. inxi 2.3.40 совсем стара.
Команда: “inxi -Gxx”.

После правильной установки Mesa 3D можно поговорить об обновлении этого пакета.
Но нужно ли? Ваша в/к стара, лучше её заменить.
Например, Blender 2.80 желает AMD GCN1: https://code.blender.org/2019/04/supported-gpus-in-blender-2-80/
а для Cycles нужно AMD GCN2: https://docs.blender.org/manual/en/dev/render/cycles/gpu_rendering.html

  • или Nvidia соответствующей новизны.

Для части AMD GCN1 и новее есть собственнические драйвера для SLED/SLES 15 = openSUSE 15
Например: https://www.amd.com/ru/support/graphics/amd-radeon-hd/amd-radeon-hd-7000-series/amd-radeon-hd-7730

А я так и написал, в начале. Но моё сообщение УДАЛИЛИ!!!

Пытаться запустить не поддерживаемое (не важно кем, производителем или ОС) железо это пустая трата времени.

А я так и написал, в начале. Но моё сообщение УДАЛИЛИ!!!

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

говорят о т.ч. Mesa 3D не работает должным образом.

Я не советую сейчас заниматься системными библиотеками, тем более что эта задача решается весьма тривиально. Решать проблемы надо по мере их поступления. На данный момент это не приоритет.
stslit, я тут давеча посоветовал вам искать ответ на этот вопрос:

Думаю, что сейчас было бы правильным сформулировать вопрос так: linux debug firmware load

Так вот, я отказываюсь от вышеприведенных строк. Весьма тернистый и возможно тупиковый путь.
Вы можете сузить поиск проблемы, воспользовавшись утилитой создания initramfs в режиме подробностей или отладки:

sudo /usr/bin/dracut --verbose --force 2>&1 | tee ~/dracut-verbose.log
sudo /usr/bin/dracut --debug --force 2>&1 | tee ~/dracut-debug.log

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

  1. Переключитесь в консоль Ctrl+Alt+F2 и запустите journalctl -f
  2. Переключитесь в консоль Ctrl+Alt+F1 и остановите графический режим: sudo /usr/sbin/init 3 3. Выгрузите модуль: sudo /usr/sbin/modprobe -r radeon
  3. Загрузите модуль: sudo /usr/sbin/modprobe -v radeon

Предполагаю, что все-таки загрузится прошивка и вы сможете войти в графический режим, используя команду: sudo /usr/sbin/init 5

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

Выполнил свежую установку. Боялся что все помрет, так как нет диска под рукой для всего бэкапа. home нормально подключился. Пробовал фар край 2, все летает на почти максимуме, но это не главное, теперь можно использовать 3д в программировании.

Всем неравнодушным большое спасибо. Ваши советы помогли мне многому научиться.

P.S.
С праздником победы!

Обновление видеодрайверов для AMD (ATI) на openSUSE Leap 15.0:

  1. Собственнические драйвера на новые ОС не ставятся, нужно или состарить ОС, или брать старые ОС. Оба пути плохи.

  2. Свободные драйвера - Mesa 3D.

Получаемая польза от обновлений - исправление ошибок и поддержка более новых версий OpenGL (в т.ч. OpenGL ES, shading language, …).

Для Turks (TeraScale 2):
Mesa 3D 18.0.2 -> OpenGL 3.0 (по умолчанию для openSUSE Leap 15.0)
Mesa 3D 18.2 -> OpenGL 3.3
Mesa 3D 19.1 -> OpenGL 4.2+ ожидается

Подробнее см. https://www.x.org/wiki/RadeonFeature/ и сноску №19 там.

Способы:

2.1. Обновление всего дистрибутива.
Дождаться выхода новой версии openSUSE Leap - выходит каждый год в конце мая.
В Leap 15.1 ожидается Mesa 3D 19.0.

2.2. Подключить репозиторий https://download.opensuse.org/repositories/X11:/XOrg/openSUSE_Leap_15.0/
См. https://ru.opensuse.org/SDB:%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B5%D0%B2https://en.opensuse.org/SDB%3AAdd_package_repositories

Затем нужно “Перевести системные пакеты на версии из этого репозитория” и обновить ОС.

См. https://ru.opensuse.org/SDB:%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%BE_%D1%81%D0%BC%D0%B5%D0%BD%D0%BE%D0%B9_%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D1%89%D0%B8%D0%BA%D0%B0
Если обновить только пакеты Mesa 3D со сменой поставщика, то система будет виснуть при загрузке.

2.3. Можно брать пакеты от сообщества или компилировать и ставить самому из исходников.
ПМСМ, это уже излишне для обычного пользователя.

Спасибо! Будем ждать 19 версию Mesa.
И потихоньку пережать на 15.1

P.S.
Хотя, для старых карт, мало вероятен прирост производительности со сменой дров.