1.1, Аноним (1), 21:53, 04/03/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Небольшие пояснения к новости, если вдруг не понятно, что такое SDL:
sdl12-compat (сущ.) — слой совместимости с SDL 1.2.
SDL 1.2 (сущ.) — то, что можно реализовать средствами SDL 2.
SDL 2 (сущ.) — то, через что работает sdl12-compat.
| |
1.5, Zenitur (ok), 22:42, 04/03/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Хорошая штука. Некоторые программы до сих пор используют SDL 1.2. Например Dosbox. Или Quake2 3.21 (если кому-то хочется запускать не source-порт, а оригинальные бинарники от Id Software прямиком из 2001 года). Или Unreal Tournament 2004
| |
|
|
3.14, Zenitur (ok), 00:28, 05/03/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Про первый квейк я не знаю - я не запускал официальные бинари от Id Software, а запускал современный ezQuake. Зато второй квейк, оригинальный из тех лет, я пробовал запускать. На сайте idsoftware.com предлагаются на выбор две сборки под Linux: собранную с libc5, и собранную с glibc. Я выбрал вторую сборку, и скачался файл quake2_3.21-r0.16.1-english.run
Ну чё, распаковал, запустил. Запускать надо именно файл quake2.sh, который скрипт, а не quake2, который является исполняемым файлом.
В настройках игры можно выбрать рендерер. Либо X11 OpenGL, либо SDL OpenGL. Первый работает совсем печально и плохо, зато второй работает без проблем. То же самое с софтварным рендерингом, там тоже два варианта: X11 Software и SDL Software. И тоже через SDL всё гладенько, тогда как через X11 всё печально.
Только звук заикается. Я решил эту проблему, запуская игру следующим образом:
export SDL_AUDIODRIVER=dsp
./quake2.sh
Либо в одну строчку:
SDL_AUDIODRIVER=dsp ./quake2.sh
Эта переменная нужна, чтобы выводить звук через OSS вместо ALSA. Через OSS всё чётенько, даже если это всего лишь эмуляция OSS поверх ALSA. Тогда как по умолчанию игра выводит через ALSA, и звук шипит и заикается.
SDL статически слинкован с бинарником игры, и видать это какой-то очень старый SDL 1.2, который плохо работает с ALSA. И да, судя по анализу бинаря при помощи binutils, ALSA там поддерживается (даже несмотря на то, что сборка от 2001 года).
Вот бы как-то выковырять оттуда старую SDL 1.2 оттуда, и зашить новую...
| |
|
4.19, Аноним (19), 15:13, 06/03/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Зачем ковыряться в древних бинариях, если движки обоих игр давным давно выложены под GPL?
| |
|
|
|
1.6, Skullnet (ok), 22:42, 04/03/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Идея хорошая, но приложений на SDL 1.2 очень мало, большую часть уже давно переписали на SDL 2.
| |
|
2.18, Аноним (18), 18:16, 05/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
У меня в Арче LMMS подтянул SDL1 в качестве зависимости, например.
| |
2.26, Аноним (26), 18:30, 09/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
Зачем же ты врёшь? На SDL12 огромная куча хороших свободных игрушек.
% cat /usr/ports/INDEX-13| awk -F\| '$8~/sdl-1.2/{print $1}' | wc -l
397
| |
2.29, mos87 (ok), 10:54, 10/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
кэп говорит, что есть куча приложений которые никто никогда переписывать не будет
ЛОЛ, в абанте ВЛЦ до сих пор от сдл1 зависит... д.б.
правда это конечно 1) абанта 2) ЛТС 3) отсутсвие практики какой-нибудь lazy-loading загрузки плагинов в открытом софте. Что имхо сводит половину усилий по мудялризации примерно на нет. (перевод на пальцах - ставятся тонны говна которое ты использовать никогда в жизни не будешь... а потом оно обновляется... а потом к нему прилетают тонны "очень нужных" обновлений "безопасности")
| |
|
1.9, Аноним (9), 22:50, 04/03/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
аххх...еть. Кому-то в этом мире еще не только нужна обратная совместимость, но он готов для этого работать.
| |
1.10, Аноним (10), 22:55, 04/03/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> совместимый с двоичным и исходным кодом SDL 1.2, но работающий поверх SDL 2
Ведите всех модно-молодёжных хипстеров и как обосс@вшихся котят тыкайте сюда носом, пока не поймут, как правильно нужно модернизировать библиотеки и что значит фраза "обратная совместимость".
| |
1.12, Аноним (12), 00:07, 05/03/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Альт-таб работает? Я могу заменить файлы игры чтобы старый sdl заработал? Это игры типа Darwinia и Uplink, а так же railroad tycoon 2 и ещё примерно сотня других, есть проблемы с фулскрином и переключением окон, выводом звука и вейландом.
| |
|
2.13, Аноним (12), 00:09, 05/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
К слову заменить бандленный sdl1 на системный sdl1 более новой версии по-моему нельзя, во всяком случае я видел только сегфолты.
| |
|
1.20, Аноним (19), 15:15, 06/03/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А этот слой совместимости позволит запускать старые программы на wayland без xwayland?
| |
1.27, mos87 (ok), 10:52, 10/03/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
да оно давно наклёпано так-то. просто в последнее время seen some love
самое приятное применение сего было бы подкладывать сей shim старым (Локи) играм, чтобы меньше мучений было. Но есть игрухи и не древние (например не открытые на двигле дум3) котоые тоже с SDL1
короче YMMV - где-то робит, где-то не очень.
| |
|