Elbrusoid

+129
с 2022

Архитектура: e2k Порядок байт: Little Endian CPU(s): 8

5 подписчиков
2 подписки

Мануал по процессору есть: https://mcst.ru/sites/default/files/u11/TVGI.431281.027RE_2023-05-29.pdf

По играм: эти игры портировали и собирали энтузиасты, ну и пробу пера делал Gaijin по просьбам энтузиастов.

1

Но оно где надо -- есть, в универах некоторых есть.

Ну тут оси: Эльбрус ОС (это технологическая ос для Эльбруса) и Alt Linux. Работал с Alt Linux достаточно, знаю как её ковырять. Астра -- ось для корпоратов, её только по запросам достанешь (на Эльбрус тоже есть).

1

Почему, у меня есть:
А студенты прошаренные, умеют кодить и в ассемблер. Некоторые курсачи будут по тематике сдавать, им интересно.

1

Ну я не Muddy Murk, собрал как мог. Главное, работает, проги запускаются, балуюсь уже.

3

Игра закрытая, возможно запустить в двоичной трансляции, но нужна норм карта)

2

Там код не оригинальной игры, а порт под Linux и рендерер переделан под OpenGL + Linux. Надо собирать этот движок под Linux На x86 и сравнивать производительность. Ещё движок использует 1,5 ... 2 потока всего, т. е. загружено 2 ядра всего, остальные ничего не делают.

1

Ну портируют его, игры он всё-равно не сможет запускать на другой архитектуре.

1

Да просто полностью под бинарной трансляцией придётся запускать. Грубо говоря, будет у тебя 30-50% оставшейся производительности.

А как он будет запускать игры под x86-64 (amd64) на e2k?

Привет Роман, точно, классный сайт запилили.

2

Но в бинарной трансляции запустится. 2й точно нормально пойдёт. 3й — должен тоже нормально пойти. Нужно уговаривать Дмитрия Бачило проверить на его Эльбрус 8СВ (согласится ли?).

4

Не, это не самая "топовая" модель, конечно же помогли приобрести компьютер на процессоре 8С (1300 МГц, DDR3-1600). Сейчас актуальная на 8СВ (1550 МГц, DDR4-2400). У Дмитрия Бачило имеется в его личном музее, иногда помогаем ему со сборкой и консультацией (хотя он и сам прекрасно умеет собирать код, ставить ОС, настраивать).

7

1. Нужны свободные исходники
2. Нужно портировать на Linux (если игра только под Windows, то крайне ресурсозатратно, так как только Direct-X)
3. Адаптация под процессор (если в коде были ассемблерные части под x86-64, то их нужно ещё дописать под e2k).
4. Если в игре всякие скрипты под Lua/LuaJIT, то это создаёт дополнительные проблемы. Лучше портируются игры на C/C++.

С рендерингом Vulkan 120 - 200 FPS, но там не оригинальный DOOM3 а сильно перелопаченный движок с поддержкой Vulkan RBDOOM-3-BFG: https://github.com/RobertBeckebans/RBDOOM-3-BFG

2

Вот список игр с инструкциями как собирать, игр достаточно много уже накопилось за 3 года работы команды: https://www.altlinux.org/How-to_compile_games_on_e2k

2

Проверка возможности переносимости кода (разработчику nillerusr было интересно), ну и товарищам хотелось собрать игру, продемонстрировать работоспособность, ну и пропатчить код для переносимости. Игра может спокойно собираться на linux, так что проблем с переносом почти не возникло, вот патч игры: https://github.com/nillerusr/source-engine/pull/305

5

Есть потребность. Упрощает портирование ПО без наличия машины, уже некоторых выручило. Но это крайне нишевая вещь, согласен, но есть возможность пощупать железку в эмуляции.

2

Попробуйте, но требуются навыки работы в дистрибутивах Linux (можно WSL), умение компилировать код. А если хотите портировать, то там нужны глубокие знания C, двоичной трансляции, низкоуровневого программирования (в т. ч. самому разобраться в ассемблере Эльбруса без документации).

1

Что значит совместимость с играми?
Это обычный компьютер: есть проц, шина PCIe для подключения видеокарт.

Есть языки программирования, есть компилятор LCC C/C++ (который не всё оптимально собрать может),

Игры тормозят: кривая оптимизация при компиляции, нет оптимизации в коде, упрощающей работу компилятора, там, где есть ассемблер — писать участки кода под e2k, либо использовать сишные заглушки.

Проблема в движке LuaJIt, который под Эльбрус работает в бинарной трансляции, динамическая компиляция ускорит движок в 10 раз, но там надо писать 16000 строк в двоичном коде.

2

Там в бинарной трансляции Lintel amd64, выделено 7 ядер на исполнение. Все запросы к видеокарте транслируются через amd64 код Windows DirectX, на этом много потерь.

Игра опен сорсный порт, это свободный порт под Linux, он так лагает и на amd64 Linux машине. Так что там ещё много работы

1

Это игры не 2003 года, это свободная реализация этих игр (заново написаны энтузиастами), их надо ещё дописывать и дописывать. Всё это делается в свободное время энтузиастами.