a1batross
7.11.2019, 5:34
Итак, свершилось, собрал Xash3D FWGS и на ZN5. Теперь возможно это один из технически продвинутых портов на Motorola ZN5.
Нажмите для просмотра прикрепленного файлаВсё началось с того, что благодаря усилиям
mittorn удалось запустить движок на устройствах с низким количеством памяти. Так, он его запустил на китайском плеере с Linux с 32 мегабайтами памяти и MIPS процессором:
*
https://vk.com/video146179717_456239236*
https://vk.com/video146179717_456239237*
https://vk.com/video146179717_456239238Его порт не использует SDL, а работает напрямую с фреймбуффером, альсой и evdev. У нас может и можно работать напрямую с alsa и evdev, но напрямую с фреймбуфером явно не получится, поэтому я полез портировать движок с SDL2 на классический SDL1.2.
К тому времени как я закончил, mittorn уже почти завершил low memory mode, а я только расчехлил ZN5 и тулчейны от MotoMAGX.
В целом, порт оказался проще, чем я думал. Его осложнило его лишь то, что HLSDK уже давно не собиралось GCC 3.x, не говоря уже о движке. Поначалу, я хотел завести Clang 9 на ZN5 и у меня получилось это сделать, но производительность на нём была в несколько раз ниже, вполне возможно из-за того, что мне пришлось отключить инлайнинг.
После немногих экспериментов, вот что получилось:
* Поезд из шести минут растянулся до 12.
* Hazard Course.
Видео:
https://open.tube/videos/embed/69e5ddfb-0b9...11-8b8ae45e0b85https://open.tube/videos/embed/852f367b-ce9...82-061d7a559e32Да, конечно, можно сказать, что ведь Quake II работает лучше, но и Xash3D никогда не был движком из 1999 года и не приспособлен работать в таких тесных по памяти/IO/CPU условиях. Чудо что он вообще работает. Тем не менее, старичкам предлагаю рассказать на каких их компьютерах работал Quake, Quake II и Half-Life.
Кстати, работает сеть, но поиск серверов зависает, поэтому можно подключаться через консоль -- connect 192.168.16.1, ну вы это без меня знаете.

Если неудобно вводить через экранную клавиатуру, то можно печатать прямо в консоль через Telnet.
Перед тем как устанавливать:
* Разработка велась на SDL1.2-HW от
Ant-ON, поэтому ни на чём другом работу не гарантирую.
* Для ZN5 64
обязательно выставить минимум 128 мегабайт свопа, иначе чревато зависанием телефона. Для 128 наверное тоже, но у меня такого нет. Там наверное даже не придётся замыливать так сильно текстуры.

* Рекомендую не убитую флешку, иначе ждать загрузки будете столько же, сколько на видео.
* Рекомендую разгон до 700 МГц.
Установка несложная:
0. Создаем /mmc/mmca1/mgxbox/Xash
1. Берём папку valve из файлов со
стимовской последней халфой(да, так надо!), кидаем в созданную папку.
2. В ту же папку Xash распаковываем xash3d-magx.7z из
https://github.com/FWGS/xash3d-deploy/tree/anewengine-master(в аттаче билд, если что-то пошло не так).
3. Закинуть в valve userconfig.cfg и gameinfo.txt из аттача.
3. Можно запускать run.sh из файлового менеджера, телнета, как вам угодно.
Я бы мог и PEP/MGX пакет собрать, но они никогда у меня прямо на телефоне не ставились, что в 2012, что сейчас. Поэтому вот так.

Огромное спасибо мотороле за их Linux-фоны, спасибо всему мотофановскому сообществу за порты игр и невероятно дружелюбную атмосферу, особенно
EXL, поскольку именно ZN5 меня познакомила со многими классическими играми, в особенности Quake, которую я люблю до сих пор и наверное без этого бы не взялся форкать Xash3D.
Добавлено позже (7.11.2019, 5:46):Только заметил, что на CI не собралось так, как надо.
Вот, в аттаче билд, но вообще, вдальнейшем на CI всегда самый последний будет. Пока я не отключу сборку, конечно.
Исходный код:
https://github.com/FWGS/xash3d-fwgsCI (автоматические сборки):
https://github.com/FWGS/xash3d-deploy/tree/anewengine-master
fill.sa
7.11.2019, 11:12
Однозначно +, единственное что тема не только для zn5, а в уелом под магикс. Вроде даже где-то отдельная тема по играм была.
EXL
7.11.2019, 11:18
a1batross,
Огромнейшее тебе спасибо за порт Xash3D FWGS и тёплые слова!
Цитата(a1batross @ Сегодня, 12:34)

У нас может и можно работать напрямую с alsa
Насколько я помню, у нас нету ALSA, вместо неё каких-то два EZX Audio и AAL Audio на выбор.
Цитата(a1batross @ Сегодня, 12:34)

После немногих экспериментов, вот что получилось:
Вполне неплохая скорость работы. На 740 МГц нужно проверить, как я понимаю, это на 532 МГц так идёт. Возможно тогда и Уровень MipMap'ов не нужно будет ставить такой низкий.
Цитата(a1batross @ Сегодня, 12:34)

Тем не менее, старичкам предлагаю рассказать на каких их компьютерах работал Quake, Quake II и Half-Life.
Это был какой-то Windows 98 под управлением Celeron на 400 или 500 МГц, 64 MB RAM, 16 MB VRAM для текстур OpenGL, ну или вообще можно было запустить на программном рендере, фактически как в этом порте. FPS'ов было поболее, как я помню. Загрузки были примерно такие же долгие. А разрешение было 800x600 или 1024x768 в OpenGL.
Цитата(a1batross @ Сегодня, 12:34)

Я бы мог и PEP/MGX пакет собрать, но они никогда у меня прямо на телефоне не ставились, что в 2012, что сейчас. Поэтому вот так.
Думаю, энтузиасты если им понадобится, сделают. Там по сути ничего сложного, сделать в твоём скрипте run.sh проверку наличия директории с нужными файлами с помощью ShowModule'ей и конфиг-файл для MgxBox (MpkgBox).
Цитата(a1batross @ Сегодня, 12:34)

вдальнейшем на CI всегда самый последний будет. Пока я не отключу сборку, конечно.
Поделись ссылочкой на CI и вообще исходники проекта пожалуйста.
Добавлено позже (7.11.2019, 18:19):fill.sa,
Я сделал так, чтобы она была видна в общем
Motorola на Linux разделе.
a1batross
7.11.2019, 15:29
fill.sa,
Да, я догадываюсь что оно и на остальных magx заработает, но черт его знает.
EXL,
Мипмапы вообще сильно помогают. До этого поезд на 2 FPS сдвинуться не мог.
Ну... вполне сравнимо. Интересно как бы там ворочался программный рендерер.
Да, соберут, а потом я встрою оное в CI.

Ссылки в конце поста.
EXL
7.11.2019, 16:04
Цитата(a1batross @ Сегодня, 22:29)

Ну... вполне сравнимо. Интересно как бы там ворочался программный рендерер.
Тот который от Valve вполне себе неплохо ворочался. На 640x480 -- точно.

Проверь когда будет время, поспособствует ли 740 МГц небольшому приросту производительности или нет.
a1batross
7.11.2019, 16:18
EXL,
Да, я скорее всего поставлю патченное ядро чтобы уж точно быть уверенным.
noph8
10.11.2019, 17:48
Цитата(EXL @ 7.11.2019, 19:04)

Тот который от Valve вполне себе неплохо ворочался. На 640x480 -- точно.
100%
Я первый халф прошёл на своём первом компе: Pentium 100 (разогнан до 133), 32МБ рамы и какое-то видео от S3 (вроде как Trio 64V+, но не помню уже точно за давностью лет). Играл в Win95 на минималках в 640х480, местами тормозило, но играть было возможно, если очень хотелось =)
С модами типа Blue Shift и Opposite Force уже не прокатывало.
А вообще - крутой проект, респект.
a1batross
10.11.2019, 20:33
У кого-то хоть получилось завести?
fill.sa,
VINRARUSТам ветку bshift ребейзнули поверх той, что GCC 3 поддерживает. Собрать что ли bshift...
VINRARUS
14.11.2019, 20:18
Цитата(a1batross @ 10.11.2019, 23:33)

У кого-то хоть получилось завести?
Дя, свап не нужен на 128 битной зине.
При поездке в метро фпс 10-25.
А вот пару скринов:
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаКод
CPU load:
740 MHz > 73 %
RAM:
MemTotal: 120576 kB
MemFree: 2972 kB
Buffers: 2888 kB
Cached: 28224 kB
SwapCached: 0 kB
Active: 80716 kB
Inactive: 17820 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 120576 kB
LowFree: 2972 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
Mapped: 77912 kB
Slab: 9868 kB
CommitLimit: 60288 kB
Committed_AS: 225312 kB
PageTables: 3488 kB
VmallocTotal: 131072 kB
VmallocUsed: 2824 kB
VmallocChunk: 4046848 kB
Судя по сводке ещо под 40 Мб свободно оперативки.
EXL
14.11.2019, 21:45
Цитата(VINRARUS @ Сегодня, 3:18)

При поездке в метро фпс 10-25.
А если звук отключить, FPS возрастёт?

А в Quake II у тебя сколько FPS на максимальном разгоне в 740 MHz и быстрой SDL-либе? Насколько я помню, отобразить FPS в Quake II можно добавив в конфиг либо
cl_showfps 1, либо
cl_drawfps 1.
a1batross
15.11.2019, 6:18
VINRARUS,
И как со скоростью загрузки? Она должна быть в разы выше так как игра больше не находится частично в swap.
Да, кстати, беззвучная игра может быть немного быстрее. Но правильнее вообще отключать подсистему звука, подправив run.sh, передавая Ксашу -nosound. Или в терминале ./run.sh -nosound.
Перезалей, пожалуйста, скриншоты в PNG. Их форум пожал сильно.

Ещё не знаю сам ты это сделал или нет, но надоедливая полоска внизу фиксится viewsize 140 в консоли. Ещё фпс может подняться если viewsize уменьшать. Это тот самый "Screen size" из кваки, да.
VINRARUS
17.11.2019, 0:59
Цитата(a1batross @ Вчера, 9:18)

И как со скоростью загрузки? Она должна быть в разы выше так как игра больше не находится частично в swap.
2-3 секунды подгрузка локацый.
Цитата(EXL @ Вчера, 0:45)

А если звук отключить, FPS возрастёт?
Цитата(a1batross @ Вчера, 9:18)

Да, кстати, беззвучная игра может быть немного быстрее. Но правильнее вообще отключать подсистему звука, подправив run.sh, передавая Ксашу -nosound. Или в терминале ./run.sh -nosound.
Странно, но вообще не заметил разницы.
Но звук бывает рывками. :-(
Цитата(a1batross @ Вчера, 9:18)

Перезалей, пожалуйста, скриншоты в PNG.
Шото новые не выходят, не пойму как старые вышли.
Цитата(a1batross @ Вчера, 9:18)

Ещё не знаю сам ты это сделал или нет, но надоедливая полоска внизу фиксится viewsize 140 в консоли.
Та просто привязки клавиш странные, кнопка громкости сужает, а разшырить назад так просто низя. Восстановил перезалив конфиг.
Цитата(EXL @ Вчера, 0:45)

А в Quake II у тебя сколько FPS на максимальном разгоне в 740 MHz и быстрой SDL-либе?
Сылка протухла.
EXL
17.11.2019, 23:32
Цитата(VINRARUS @ Вчера, 7:59)

Та просто привязки клавиш странные, кнопка громкости сужает, а разшырить назад так просто низя. Восстановил перезалив конфиг.
В Doom или Quake кажется было такое же странное поведение:
SDLK_MINUS уменьшает viewport, а
SDLK_PLUS его не увеличивает.
Цитата(VINRARUS @ Вчера, 7:59)

Сылка протухла.
Какая именно и где? Надо бы обновить. Вот отсюда можно ещё скачать:
https://code.google.com/archive/p/sdl-magx/downloads
VINRARUS
18.11.2019, 17:06
Цитата(EXL @ Сегодня, 2:32)

где?
Тут:
Нативные игры и эмуляторы для ZN5
EXL
18.11.2019, 18:30
Цитата(VINRARUS @ Сегодня, 0:06)

Тут: Нативные игры и эмуляторы для ZN5
Там есть ссылка "
Сборка libSDL с аппаратным ускорением" и она рабочая.
VINRARUS
19.11.2019, 4:38
Цитата(EXL @ Вчера, 21:30)

Там есть ссылка "Сборка libSDL с аппаратным ускорением" и она рабочая.
Да блин, на Quake II ссылка не рабочая.
fill.sa
19.11.2019, 10:53
Погоняйте заодно мой перенос последней версии
Sdl Hw (rc5)На его основе если что можно исправлять найденые косяки и все такое. Главное чтобы находили и отписывались
VINRARUS
21.11.2019, 18:05
Цитата(fill.sa @ 19.11.2019, 13:53)

Погоняйте заодно мой перенос последней версии
Sdl Hw (rc5)
Халва на ней не запускается, другие игры з артефактами вместо звука.
EXL
22.11.2019, 8:05
Цитата(VINRARUS @ 19.11.2019, 11:38)

Да блин, на Quake II ссылка не рабочая.
А, не так понял,

Надо будет поискать бэкапы. Где-то у меня были диски со всей этой мишурой под ZN5, нужно его куда-нибудь выложить.
fill.sa
25.11.2019, 18:31
Цитата(a1batross @ 7.11.2019, 6:34)

азработка велась на SDL1.2-HW от Ant-ON, поэтому ни на чём другом работу не гарантирую.
А которая из них? а то там дофига вариантов.
Сперва я знаю было 1.2.13 потом с выходом 1.2.14 перенесли и ее на магикс. И у переноса SDL1.2.14 тоже куча сборок там.
Антон представил 5 вариантов и еще были промежуточные сборки и вроде как даже в некоторые SDK попали как-раз промежуточные сборки.
У тебя какое вообще SDK под магикс?