MotoFan.Ru — всё для Motorola > Устройства Motorola > Motorola на Linux OS > Motorola ZINE ZN5, ZN5 T-Mobile

Xash3D FWGS на ZN5 (Half-Life и модификации) Полная версия
Страницы: 1, 2

  a1batross

 7.11.2019, 5:34

Итак, свершилось, собрал Xash3D FWGS и на ZN5. Теперь возможно это один из технически продвинутых портов на Motorola ZN5. smile.gif

Нажмите для просмотра прикрепленного файла

Всё началось с того, что благодаря усилиям 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-8b8ae45e0b85
https://open.tube/videos/embed/852f367b-ce9...82-061d7a559e32

Да, конечно, можно сказать, что ведь Quake II работает лучше, но и Xash3D никогда не был движком из 1999 года и не приспособлен работать в таких тесных по памяти/IO/CPU условиях. Чудо что он вообще работает. Тем не менее, старичкам предлагаю рассказать на каких их компьютерах работал Quake, Quake II и Half-Life.

Кстати, работает сеть, но поиск серверов зависает, поэтому можно подключаться через консоль -- connect 192.168.16.1, ну вы это без меня знаете. smile.gif
Если неудобно вводить через экранную клавиатуру, то можно печатать прямо в консоль через Telnet.

Перед тем как устанавливать:
* Разработка велась на SDL1.2-HW от Ant-ON, поэтому ни на чём другом работу не гарантирую.
* Для ZN5 64 обязательно выставить минимум 128 мегабайт свопа, иначе чревато зависанием телефона. Для 128 наверное тоже, но у меня такого нет. Там наверное даже не придётся замыливать так сильно текстуры. smile.gif
* Рекомендую не убитую флешку, иначе ждать загрузки будете столько же, сколько на видео.
* Рекомендую разгон до 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, что сейчас. Поэтому вот так. smile.gif

Огромное спасибо мотороле за их Linux-фоны, спасибо всему мотофановскому сообществу за порты игр и невероятно дружелюбную атмосферу, особенно EXL, поскольку именно ZN5 меня познакомила со многими классическими играми, в особенности Quake, которую я люблю до сих пор и наверное без этого бы не взялся форкать Xash3D.

Добавлено позже (7.11.2019, 5:46):
Только заметил, что на CI не собралось так, как надо.

Вот, в аттаче билд, но вообще, вдальнейшем на CI всегда самый последний будет. Пока я не отключу сборку, конечно.

Исходный код: https://github.com/FWGS/xash3d-fwgs
CI (автоматические сборки): https://github.com/FWGS/xash3d-deploy/tree/anewengine-master

 av fill.sa

 7.11.2019, 11:12

Однозначно +, единственное что тема не только для zn5, а в уелом под магикс. Вроде даже где-то отдельная тема по играм была.

 av 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. smile.gif

Ссылки в конце поста.

 av EXL

 7.11.2019, 16:04

Цитата(a1batross @ Сегодня, 22:29)
* Ну... вполне сравнимо. Интересно как бы там ворочался программный рендерер.

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

ps.gif Проверь когда будет время, поспособствует ли 740 МГц небольшому приросту производительности или нет.

  a1batross

 7.11.2019, 16:18

EXL,
Да, я скорее всего поставлю патченное ядро чтобы уж точно быть уверенным.

 av 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

У кого-то хоть получилось завести? smile.gif

fill.sa, VINRARUS

Там ветку bshift ребейзнули поверх той, что GCC 3 поддерживает. Собрать что ли bshift...

 av VINRARUS

 14.11.2019, 20:18

Цитата(a1batross @ 10.11.2019, 23:33)
* У кого-то хоть получилось завести?

Дя, свап не нужен на 128 битной зине. dribble.gif
При поездке в метро фпс 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 Мб свободно оперативки. grin.gif

 av EXL

 14.11.2019, 21:45

Цитата(VINRARUS @ Сегодня, 3:18)
* При поездке в метро фпс 10-25.

А если звук отключить, FPS возрастёт?
ps.gif А в 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. Их форум пожал сильно. sad.gif

Ещё не знаю сам ты это сделал или нет, но надоедливая полоска внизу фиксится viewsize 140 в консоли. Ещё фпс может подняться если viewsize уменьшать. Это тот самый "Screen size" из кваки, да.

 av 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.

Шото новые не выходят, не пойму как старые вышли. blink.gif
Цитата(a1batross @ Вчера, 9:18)
* Ещё не знаю сам ты это сделал или нет, но надоедливая полоска внизу фиксится viewsize 140 в консоли.

Та просто привязки клавиш странные, кнопка громкости сужает, а разшырить назад так просто низя. Восстановил перезалив конфиг.
Цитата(EXL @ Вчера, 0:45)
* А в Quake II у тебя сколько FPS на максимальном разгоне в 740 MHz и быстрой SDL-либе?

Сылка протухла.

 av 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

 av VINRARUS

 18.11.2019, 17:06

Цитата(EXL @ Сегодня, 2:32)
* где?

Тут: Нативные игры и эмуляторы для ZN5

 av EXL

 18.11.2019, 18:30

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

Там есть ссылка "Сборка libSDL с аппаратным ускорением" и она рабочая.

 av VINRARUS

 19.11.2019, 4:38

Цитата(EXL @ Вчера, 21:30)
* Там есть ссылка "Сборка libSDL с аппаратным ускорением" и она рабочая.

Да блин, на Quake II ссылка не рабочая. blind.gif

 av fill.sa

 19.11.2019, 10:53

Погоняйте заодно мой перенос последней версии
Sdl Hw (rc5)

На его основе если что можно исправлять найденые косяки и все такое. Главное чтобы находили и отписывались

 av VINRARUS

 21.11.2019, 18:05

Цитата(fill.sa @ 19.11.2019, 13:53)
* Погоняйте заодно мой перенос последней версии
Sdl Hw (rc5)

Халва на ней не запускается, другие игры з артефактами вместо звука. sad.gif

 av EXL

 22.11.2019, 8:05

Цитата(VINRARUS @ 19.11.2019, 11:38)
* Да блин, на Quake II ссылка не рабочая.

А, не так понял, sorry.gif
Надо будет поискать бэкапы. Где-то у меня были диски со всей этой мишурой под ZN5, нужно его куда-нибудь выложить.

 av 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 под магикс?
Страницы: 1, 2

Полная версия:


MotoFan.ru (©) 2024    Слушать Radio