LINUX.ORG.RU
ФорумGames

Запуск хоть какого нибудь шутера или бродилки.

 , ,


0

1

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

Есть: OS - suse 15.0 CPU - iCore 3 RAM - 12Gb Video - 6670(1024)

Как ни странно, мало что можно запустить. Из steam ничего не запускается и ошибок не выдает. Родные дрова АМД от 15 года и fglrx снят с поддрежки. Новые amdgpu-pro, так же как и Vulkan, не держат 6670. Под PlayOnLinux удалось запустить Wow3, но с жуткими тормозами и без горячих клавиш. Странно, что в некоторых программах пишет 256, а где то 1024 Мб VRAM.

Можно улучшить ситуацию?

«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=256M]
	Memory at f7e20000 (64-bit, non-prefetchable) [size=128K]
	I/O ports at e000 [size=256]
	Expansion ROM at 000c0000 [disabled] [size=128K]
	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

P.S. Странно, что тег cut не работает (



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

Нет уж, давай ты сам всё сделаешь.

У тебя firmware лежат в /lib/firmware/radeon, вот аналогично их нужно и расположить в Initramfs.

Есть повод. Файл упакован xz. Распаковал, создал соответствующие папки и закинул файлы. Обратно запаковать пока не получилось

xz -cvf init  /initrd-4.20/
xz: Compressed data cannot be written to a terminal

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

Честно я не понимаю, неужели у новичков голова вообще не работает и они не могут сделать по аналогии?

Я написал:

anonymous

Распакова

mkdir /tmp/initrd
cd /tmp/initrd
gunzip -c <path>/150-recovery.img-ramdisk.gz | cpio -i -d -H newc --no-absolute-filenames
Запаковка
cd /tmp/initrd
find . | cpio -o -H newc | gzip -9 > <path>/150-recovery.img-ramdisk_new.gz

Смотри твои файлы в архиве:

initrd-4.12.14-lp150.12.58-default
_initrd-4.20.7-1-default
TURKS_mc.bin
TURKS_me.bin
TURKS_pfp.bin
TURKS_smc.bin

Смотрим, что за тип initrd файлов:

# file initrd-4.12.14-lp150.12.58-default
initrd-4.12.14-lp150.12.58-default: XZ compressed data
# file _initrd-4.20.7-1-default
_initrd-4.20.7-1-default: ASCII cpio archive (SVR4 with no CRC)
Т.е. первый Initrd - это сжатый xz архив, второй просто несжадый cpio.

Я распаковал твой архив в /tmp/wrk, в ней создал две поддиректории /tmp/wrk/initrdxz, /tmp/wrk/initrdcpio

Делаем для xz архива:

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 newc
Просто cpio:
cd /tmp/wrk
mkdir /tmp/wrk/initrdcpio
cd /tmp/wrk/initrdcpio
cat ../initrd-4.12.14-lp150.12.58-default | cpio -i -d -H newc

Смотри содержимое lib в initrd:

# cd /tmp/wrk
# ls initrdxz/lib
dracut  dracut-lib.sh  fs-lib.sh  modules

# cd /tmp/wrk
# ls initrdcpio/lib
dracut  dracut-lib.sh  fs-lib.sh  modules
Как видишь директории lib/firmware нет вообще.

Тебе нужно создать lib/firmware/radeon и скопировать в неё файлы прошивок.

Делаем:

mkdir /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/

Скопировали, теперь нужно создать заново initrd архив:

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

Если просто cpio создать, то

cd /tmp/wrk/initrdcpio
find ./ | cpio -o -H newc ../_initrd-4.20.7-1-default2

Вот эти новые полученные файл и клади в /boot, а потом пробуй грузиться, нажимай в загрузчике grub на выделенном пункте меню клавишу «e», переходи к указанию файла Initrd и указывай твой, с постфиксом 2.

Затем нужно нажать комбинацию для запуска с изменённым конфигом, вроде бы для grub2 это shift+f10, смотри там внизу написано какую нужно нажать комбинацию.

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

Спасибо за еще более подробно расписанную инструкцию. Всё выло прочитано и выполнено. Как было сказано выше, сложность возникла с упаковкой файла. Файл 4.20 cpio был распакован до этого. Так что родной формат xz. В процессе было были прочитаны десятки веб страниц.

Сегодня еще раз все выполнил с начала и до конца. Файл получился на 1Мб меньше.

При запуске системы

Initramfs unpacking failed: Input was encoded with settings that are not supported by this xz decoder
Внятного ответа не нашел. Маны по xz и cpio прошел еще раз. Пробовал явно указать тип сжатия для xz размер файла увеличился в 3 раза. Результат тот же.

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

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

Ну сделай без сжатия, просто cpio, сожми в gzip, вместо xz при запаковки используй gzip, смотри выше в моём примере и пробуй.

Поддерживаемые алгоритмы сжатия и распаковки зависят от того, с какими опциями собрано ядро.

Можешь разобраться как initrd делается посредством mkinitrd.

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

Если эта фраза значит, что почему возникают ошибки загрузки firmware, если они отсутствуют в initramfs, но присутствуют на корневом разделе.

То ответ таков: прошивки загружаются во инициализации драйвера, а драйвер инициализируется сразу после загрузки модуля, а модуль у тебя грузится из Initramfs, а в initramfs на момент загрузки модуля в /lib/firmware пусто, он вообще отсутствует.

Так что обращайся к разработчикам дистрибутива или документации на скрипт генерации Initrd, как сделать настройку, что бы в Initramfs помещались и firmware.

Так что пробуй грузить Initramfs вообще без сжатия, либо сжимай gzip, смотры выше как.

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

У меня нет под рукой OpenSUSE, поэтому разобираться что и как ещё можно подкрутить я не могу.

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

Спасибо за подробные разъяснения и уделенное время!

Странно, что драйвер/пошивку нельзя реинициализоровать после запуска системы. Такое возможно было еще на оффтопике версии vista.

Разработчикам написал. Может ответят.

Мануал по сборке initrd для suse крайне ущербный. На буржуйский сайтах не немного лучше. Но будем искать.

Из простого желания погонять ботов, это превратилось с спорт. Голова уже поломалась. Другой вариант сжатия дал результат:

 [FAILED] Failed to start create Static Device Nodes in /dev

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

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

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

Свежая установка. На «затычке» шикарно летает Far Cry 2, чего мне вполне хватает. Всем неравнодушным большое спасибо. Ваши советы помогли мне многому научиться.

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

stslit
() автор топика
7 февраля 2020 г.

Просто используй старый Linux. Драйвер Catalyst 15.12 вышел в декабре 2015 года, посмотри на дистровотче версию SUSE, которая соответствует требованиям.ё

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