Архитектура: e2k Порядок байт: Little Endian CPU(s): 8
Но оно где надо -- есть, в универах некоторых есть.
Ну тут оси: Эльбрус ОС (это технологическая ос для Эльбруса) и Alt Linux. Работал с Alt Linux достаточно, знаю как её ковырять. Астра -- ось для корпоратов, её только по запросам достанешь (на Эльбрус тоже есть).
Почему, у меня есть:
А студенты прошаренные, умеют кодить и в ассемблер. Некоторые курсачи будут по тематике сдавать, им интересно.
Ну я не Muddy Murk, собрал как мог. Главное, работает, проги запускаются, балуюсь уже.
Игра закрытая, возможно запустить в двоичной трансляции, но нужна норм карта)
Там код не оригинальной игры, а порт под Linux и рендерер переделан под OpenGL + Linux. Надо собирать этот движок под Linux На x86 и сравнивать производительность. Ещё движок использует 1,5 ... 2 потока всего, т. е. загружено 2 ядра всего, остальные ничего не делают.
Нет, Эльбрус не MIPS процессор, а e2k (VLIW/EPIC). Вот пруф: http://ftp.altlinux.org/pub/people/mike/elbrus/docs/elbrus_prog/html/chapter4.html
и
https://www.altlinux.org/Эльбрус/архитектура
Ну портируют его, игры он всё-равно не сможет запускать на другой архитектуре.
Да просто полностью под бинарной трансляцией придётся запускать. Грубо говоря, будет у тебя 30-50% оставшейся производительности.
А как он будет запускать игры под x86-64 (amd64) на e2k?
Привет Роман, точно, классный сайт запилили.
Но в бинарной трансляции запустится. 2й точно нормально пойдёт. 3й — должен тоже нормально пойти. Нужно уговаривать Дмитрия Бачило проверить на его Эльбрус 8СВ (согласится ли?).
Не, это не самая "топовая" модель, конечно же помогли приобрести компьютер на процессоре 8С (1300 МГц, DDR3-1600). Сейчас актуальная на 8СВ (1550 МГц, DDR4-2400). У Дмитрия Бачило имеется в его личном музее, иногда помогаем ему со сборкой и консультацией (хотя он и сам прекрасно умеет собирать код, ставить ОС, настраивать).
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
Вот список игр с инструкциями как собирать, игр достаточно много уже накопилось за 3 года работы команды: https://www.altlinux.org/How-to_compile_games_on_e2k
Проверка возможности переносимости кода (разработчику nillerusr было интересно), ну и товарищам хотелось собрать игру, продемонстрировать работоспособность, ну и пропатчить код для переносимости. Игра может спокойно собираться на linux, так что проблем с переносом почти не возникло, вот патч игры: https://github.com/nillerusr/source-engine/pull/305
Запускали, но в режиме бинарной трансляции (эмуляция):
* https://www.youtube.com/watch?v=ru18dahSXn8
* https://www.youtube.com/watch?v=VkyloQGXMf0
Есть потребность. Упрощает портирование ПО без наличия машины, уже некоторых выручило. Но это крайне нишевая вещь, согласен, но есть возможность пощупать железку в эмуляции.
Попробуйте, но требуются навыки работы в дистрибутивах Linux (можно WSL), умение компилировать код. А если хотите портировать, то там нужны глубокие знания C, двоичной трансляции, низкоуровневого программирования (в т. ч. самому разобраться в ассемблере Эльбруса без документации).
Да уже портировали, всё, T2 ничего не сможет сделать: https://www.youtube.com/watch?v=tNtCWWjUoIU
Что значит совместимость с играми?
Это обычный компьютер: есть проц, шина PCIe для подключения видеокарт.
Есть языки программирования, есть компилятор LCC C/C++ (который не всё оптимально собрать может),
Игры тормозят: кривая оптимизация при компиляции, нет оптимизации в коде, упрощающей работу компилятора, там, где есть ассемблер — писать участки кода под e2k, либо использовать сишные заглушки.
Проблема в движке LuaJIt, который под Эльбрус работает в бинарной трансляции, динамическая компиляция ускорит движок в 10 раз, но там надо писать 16000 строк в двоичном коде.
Там в бинарной трансляции Lintel amd64, выделено 7 ядер на исполнение. Все запросы к видеокарте транслируются через amd64 код Windows DirectX, на этом много потерь.
Что всё? Будет ядро 5.15. Ось 7.2 скоро и 8.0 пилится с новой Mesa
Игра опен сорсный порт, это свободный порт под Linux, он так лагает и на amd64 Linux машине. Так что там ещё много работы
Это игры не 2003 года, это свободная реализация этих игр (заново написаны энтузиастами), их надо ещё дописывать и дописывать. Всё это делается в свободное время энтузиастами.
Мануал по процессору есть: https://mcst.ru/sites/default/files/u11/TVGI.431281.027RE_2023-05-29.pdf
По играм: эти игры портировали и собирали энтузиасты, ну и пробу пера делал Gaijin по просьбам энтузиастов.