Представлен релиз библиотеки SDL 3.2.0 (Simple DirectMedia Layer), который помечен как первый официальный стабильный выпуск ветки SDL 3. Библиотека нацелена на упрощение написания игр и мультимедийных приложений, и предоставляет такие возможности, как аппаратно-ускоренный вывод 2D- и 3D-графики, обработка ввода, воспроизведение звука и вывод 3D через OpenGL, OpenGL ES, Metal, Direct3D или Vulkan. Код написан на языке Си и распространяется под лицензией Zlib. Предоставляются обвязки для использования SDL в проектах на различных языках программирования...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62596
DirectMedia вродe в версии 9с задепрекейтили?
Если шутка, то "ха-ха". Если нет, то SDL не имеет отношения к DirectX и Microsoft. Это отдельная библиотека. Что-то вроде кроссплатформенного DirectX на минималках. (Не пытается быть полноценным API, скорее обёртка и шлюз для доступа к кроссплатформенным API независимо от платформы.)
Это невежество
Кто может объяснить, если я собираюсь делать игры на Godot, мне надо отдельно ставить и изучать SDL3, или это все встроено в движок?
> Кто может объяснить, если я собираюсь делать игры на Godot, мне надо
> отдельно ставить и изучать SDL3, или это все встроено в движок?Встроено. Движки это выше уровнем, чем такие библиотеки.
1. Пока не будет аппаратного midi через PipeWire - так и будет мусором.
2. Когда fheroes2 на неё переведут?
аппаратный midi в pipewire нужен только старым жирным неудачникам
Тем, кто пишет музыку на синтезаторе?
да, на старом синтезаторе
A что на новых синтезаторах?
Понимаешь ли, синтезаторы прошлого века имели смысл потому, что тогдашние компьютеры имели крайне ограниченные звуковые системы и для синтеза звука в целом не были предназначены.
Сейчас аппаратные синтезаторы - это скорее прикол, нежели необходимость.
А что в музыке не "прикол"?"Дисторшен" это не прикол, а фундаментальная потребность? Дергать проволоку, натянутую на вибрирующий фанерный ящик это прикол?
Ну и потом, хорошо, есть у вас отличный программный синтезатор, в виде программы под мак. На него надо как-то подать последовательность нажатий клавиш с фортепианной клавиатуры. Есть какой-то иной стандартный способ, кроме midi, это сделать?
Кстати, при чём тут вообще аппаратный (или программный) синтезатор? Midi не знает, на что именно поток нот подаётся.
Они не понимают. У них миди - это ненужные файлики из /windows/media/ (или максимум - из duke3d), а клавиш irl даже не трогали. И, уж, точно не понимают, как и с чем работают в студии. Мозговую деятельность они эмулируют так же как и аналоговые процессы в звуке :)
>Есть какой-то иной стандартный способ, кроме midi, это сделать?Emacs
Изначально речь про игрушки, а уж там то, перегнать звук в поддерживаемый формат и не нудить.
они называют это музыкой, да
Проект opensource, добавь поддержку сам
Проект кого надо сурс. Добавят только то что им надо.
Клонируй исходники и добавляй в свой форк всё что хочешь.
>Когда fheroes2 на неё переведут?Если я не ошибаюсь SDL3 из Виндов поддерживает только 10 и 11. 7 и XP не поддерживаются. Это может быть недостатком.
Не просто недостаток, а фиаско. XP форева!
Никогда не пойму, зачем что-то вырезать. Всегда стараюсь писать подо всё сразу, особенно высокоуровневое - и даже получается. Ничто не мешает разграничить платформы под ифы и #ифдефы."Если у тебя какой-то софт работал под одной ОС, но не работает под более новой, и надо всё переделывать так, что сломается поддержка старой - ты криворукий недокодер."
С третьей стороны - если уж прям так до крови из отверстий нужны новые фичи - напиши для семёрки стабы. Ну, не будет RTX - и что? Зато работает.
> Никогда не пойму, зачем что-то вырезать. Всегда стараюсь писать подо всё сразу,
> особенно высокоуровневое - и даже получается. Ничто не мешает разграничить платформы
> под ифы и #ифдефы.Кроме того что код становится спагетти сложным в понимании и это все еще майнтайнить прдется. При том - тому кто фигачит вот это все. Что и не вызывает у фигачащего энтузиазма.
> "Если у тебя какой-то софт работал под одной ОС, но не работает
> под более новой, и надо всё переделывать так, что сломается поддержка
> старой - ты криворукий недокодер."Платформа уже не поддерживается ее производителем - и коммерчески не интересна. А Valve на минуточку - не благодетели, а коммерческая фирма. И SDL им нужен - для игродела. Актуального здесь и сейчас. Вы с вашей икспой или что там, будете у них игры покупать? И вас таких - сколько?
> С третьей стороны - если уж прям так до крови из отверстий
> нужны новые фичи - напиши для семёрки стабы. Ну, не будет RTX - и что? Зато работает.Вот тебе это нужно? Ты и хреначь патчи. А Valve посчитал что им тот рынок уже не интересен, и не стал свои ресурсы на это все тратить.
> Если я не ошибаюсь SDL3 из Виндов поддерживает только 10 и 11. 7 и XP
> не поддерживаются. Это может быть недостатком.Учитывая что портироание на SDL3 - требует менять сорцы и проч, вы и правда думаете что те кто релизит новые игры - будут учитывать те древности? :)
Речь шла о fheroes2, которая хоть и прожорливее оригинальной игры, но вполне может играться на тех старых компьютерах ровесниках 7 и XP. Для нищука, апгрейд на 10 потребует ССД и добавление оперативной памяти для нормальной работы, а это может быть проблематично для него.
Но я не разработчик fheroes2 и не имею проблем с деньгами и если разработчики решат переходить на SDL3, то я их осуждать не буду.
> Речь шла о fheroes2, которая хоть и прожорливее оригинальной игры, но вполне
> может играться на тех старых компьютерах ровесниках 7 и XP.Я не думаю что там много разработчиков пользуется такой конфигурацией. А как известно спасение утопающих - дело рук самих утопающих. Так что если некрофилам с виндой это все надо - настало время заняться самообслуживанием нужд.
Или как вариант - древней оси и софт древний. Почему нет?
Я думаю, что команда fheroes2 будет учитывать. Я прощупывал почву, общаясь с ними, на тему задействования GPU для рендера, чтобы формировать картинку не в оперативке, с тем чтобы потом отправлять кадр на GPU, а сделать примерно как в оригинале. То есть хранить все спрайты в видеопамяти, и объяснять видеокарте что и куда надо скопировать. Когда я увидел полное отсутствие энтузиазма, с какими-то словами про поддержку старых устройств, я даже возленился опровергать их другой аргумент про то, что vga'шная палитровая анимация нереализуема в OpenGL. Смысла с ними разговаривать?Впрочем, справедливости ради, я отмечу что не могу сказать, чтоб я сильно горел желанием это всё реализовывать. Тем более в fheroes2, который использует C++ в стиле восторженного школьника, который узнал про классы и наследование, и теперь пробует наследовать всё от всего, чтобы посмотреть что получится.
> я даже возленился опровергать их другой аргумент про то, что vga'шная
> палитровая анимация нереализуема в OpenGL. Смысла с ними разговаривать?Вот именно палитровую анимацию так делать - это через ж@пу в левый глаз. Ну и требовать GPU для гамезы с 256 цветами из эпохи DOS это лол, конечно. Оно так изначально пахало на чуть ли не 386.
> Впрочем, справедливости ради, я отмечу что не могу сказать, чтоб я сильно
> горел желанием это всё реализовывать. Тем более в fheroes2, который использует
> C++ в стиле восторженного школьника, который узнал про классы и наследование,
> и теперь пробует наследовать всё от всего, чтобы посмотреть что получится.Что самое интересное, игры - это то место где все это получает нехилый пойнт. И именно поэтому игроделы C++ и жалуют. Получается обычно нормально. Потому что такова природа игорей. Там и правда можно все от вся унаследовать, это неплохо работает и ничего ужасного не произойдет.
> 7 и XP не поддерживаются.Так и сами системы не поддерживаются уже много лет. Никому не нужна ни XP ни 7, никто ими не пользуется, на что указывает статистика использования, ради 2% и 0.2% пользователей этих ос, никто не будет заморачиватся. Ты же не ноешь, почему дебиан 5 который вышел в том же 2009 году что и виндовс 7 не поддерживается с 2012?. Семёрка и так жила до 2021 года, это более чем огромный срок поддержки ОС.
Я писал о fheroes2, а не о SDL3. Плюс эти ничтожные проценты скорее всего актуальны только для богатых стран. Вторые герои стоят не много даже для нищука, а для компьютера-картофелины у человека из какого-нибудь второго или третьего мира 7 и XP предпочтительнее. На таких системах и fheroes2 сносно пойдёт. Для 10 может потребоваться апгрейд компа на который денег может и не быть.
> Я писал о fheroes2, а не о SDL3. Плюс эти ничтожные проценты
> скорее всего актуальны только для богатых стран. Вторые герои стоят не
> много даже для нищука, а для компьютера-картофелины у человека из какого-нибудь
> второго или третьего мира 7 и XP предпочтительнее. На таких системах
> и fheroes2 сносно пойдёт. Для 10 может потребоваться апгрейд компа на
> который денег может и не быть.Какая разница, система не актуальная, значит уже не нужна. Компов которые семёрку поддерживают уже лет 8 нет.
Г-ди, неужели нашёлся человек, который верит статистике Steam?
А что не так со статистикой Стима?
Нужно просто понимать, что она построена по ИХ пользователям.
Но по юзерам GOG, не по юзерам EGS, не перекличка пиратов с торрентов.Не нравится их статистика - тогда приведите в пример другую.
При чем еще и не по всем их пользователям, а по рандомной выборке
Скорее всего эта рандомная выборка достаточно репрезентативна, но это именно статистика по выборке тех кто согласился на отправку данных
> но это именно статистика по выборке тех кто согласился на отправку данныхНе устану повторять — ССЗБ.
Впрочем, почему именно пользователи семёрки (и особенно XP!) не соглашаются с отправкой данных? Стыдно, возможно?
Я могу поныть что старые версии дистров Linux не поддерживаются. Хочу чтоб Fedora core 9 поддерживалась, OpenSUSE 11.1, Debian Lenny потому что там были зашибатые версии GNOME (и набор всяких апплетов к нему) и прикольные программки на Mono (хотя бы тот же Beagle).Число пользователей что Windows XP что Windows 7 точно больше чем 2% и 0.2%. На XP Thorium сообщает в user agent что он на Windows 10.
> Я могу поныть что старые версии дистров Linux не поддерживаются. Хочу чтоб
> Fedora core 9 поддерживалась, OpenSUSE 11.1, Debian Lenny потому что там
> были зашибатые версии GNOME (и набор всяких апплетов к нему) и
> прикольные программки на Mono (хотя бы тот же Beagle).
> Число пользователей что Windows XP что Windows 7 точно больше чем 2%
> и 0.2%. На XP Thorium сообщает в user agent что он
> на Windows 10.Ага, масоны всё скрывают. На самом деле виндовс 7 популярнее десятки и 11. А 78% десятки и 20% 11 придуманы агентами госдепа.
А потом те же личности, когда предлагают вырезать то x86, то arm32, говорят нам использовать дебиан 5. Вы там у себя определитесь уже.
>виндовс 7 не поддерживается с 2012Вы будете удивлены но платная поддержка закончилась в январе 23 года.И куча предприятий платила !!!! Т.к сертификата ФСБ для 8 и старше нет ,а в связи с санкциями и не будет.А на отечественную ось за 3 года не возможно всё перевести,я честно говоря и не верю что переведут - даже на Samba перевести тяжко.
дебиан 5 не поддерживается с 2012 умник.
А вот поддержка windows server 2008/r2 до января 2026 :)
Не выпендривайся. Мне нужна 7. Значит - уже не "никому". Так что, stfu && gtfo;
Ну всегда найдутся любители странного.
> 7 и XP не поддерживаются. Это может быть недостатком.Так же не поддерживаются TR-DOS, IS-DOS и многие другие операционные системы выброшенные авторами в результате устаревания железа под которые они писались
Если сидишь на TR-DOS, то и программы бери для него, никто не будет писать под него свежий софт
Это сравнение не является доказательством потому что разница между DOS и Windows XP огромна а между XP и 11 принципиальных отличий нет.
Ты же даже не понял что за TR-DOS и IS-DOS я упомянул :-DТо что ты считаешь, что между XP и Windows 11 нет разницы не означает, что ее нет
Это совершенно разные системы внутри
Ну попробуй ты драйвер работавший на Windows XP поставить на Windows 11, мы тут всем кагалом поржем над тобой
> Ты же даже не понял что за TR-DOS и IS-DOS я упомянул :-DБегло посмотрел в Wikipedia.
> То что ты считаешь, что между XP и Windows 11 нет разницы не означает, что ее нет. Это совершенно разные системы внутри
Конечно она есть, но не такая большая как между твоими TR-DOS и IS-DOS и Windows XP. Разве не понятно? Или ты будешь снова и снова повторять что это совершенно разные системы внутри? Код смотрел что ли?
Такие древности спокойно потянут 7, браузер не запустить, как и на ХР, но на героев хватит
Ребята, поставьте себе Linux и не мучайтесь.
Мучусь с тех пор как поставил. После всех лет страданий я бы даже сказал - Linux is defective by design.
> Если я не ошибаюсь SDL3 из Виндов поддерживает только 10 и 11. 7 и XP не поддерживаются.Ошибаешься.
All desktop Windows versions, back to Windows XP, are still supported.
https://wiki.libsdl.org/SDL3/README/windows
Спасибо. Буду знать. А то запомнилось из ЕМНИП местных новостей, что не поддерживает.
почему sdl3 а не raylib?
> почему sdl3 а не raylib?Потому что SDL решает дофига самых разных кроссплатформенных аспектов одним махом, от вывода аудио до работы с клипбордом.
Последний более высокоуровневый и решает более узкие задачи, а напротив SDL часто используют как минимальный вариант кросплатформенного оконного и мультимедийного api, он не берёт на себя в общем случае задачи отрисовки, настройки и наладки конвеера и пр., а даёт только возможность не заниматься тем, чтобы создавать устройство вывода звука, через pipewire/directsound и прочие, не писать кальки кода для создания окна под winapi/x11 и пр. Т.е. по сути это основа графическо-мультимедийного приложения любого типа, которое можно разрабатывать не вдаваясь в детали платформы и зоопарка прочих api. Raylib же в этом плане сильно ограничен и больше настроен именно под графические, обычно игровые приложения, хотя можно использовать как угодно, благо графический api довольно богат, но там уже вопрос гибкости и удобства может выстрелить.
Гоняю миди через pipewire между клавой и TE, работает, ты о чем? Или тебе прям поддержка пятипинового разъема треба?
А игры на SDL тащат целый fluidsynth в виде либы. Это при налиции аппаратного midi. Позор.
> А игры на SDL тащат целый fluidsynth в виде либы. Это при
> налиции аппаратного midi. Позор.Fluidsynth обычно звучит многократно лучше тех кривых бухтелок. Конечно были и нормальные звуковухи, где сэмплы в RAM DSPшника грузились - но на вооон тот объем сэмплов RAM в звуковухе жаба обычно душила.
> Это при налиции аппаратного midi.У пары человек.
Можно подумать, у вас аппаратное миди когда-то было.
Что уже можно собрать с sdl3? Вроде yquake2, есть ещё?
Зачем тебе что-то собирать с SDL3, тем более что он только что вышел?
Интересно же попробовать.
Собрал yquake2, работает :)
>[оверквотинг удален]
> ldd quake2
> linux-vdso.so.1 (0x00007f69b6bcc000)
> libm.so.6 => /usr/lib/libm.so.6 (0x00007f69b51dd000)
> libopenal.so.1 => /usr/lib/libopenal.so.1 (0x00007f69b4fef000)
> libSDL3.so.0 => /usr/lib/libSDL3.so.0 (0x00007f69b4c00000)
> libc.so.6 => /usr/lib/libc.so.6 (0x00007f69b4a25000)
> /lib64/ld-linux-x86-64.so.2 => /usr/lib/ld-linux-x86-64.so.2 (0x00007f69b6bce000)
> libatomic.so.1 => /usr/lib/libatomic.so.1 (0x00007f69b4fe5000)
> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f69b4600000)
> libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f69b4fbf000)
> Существенно улучшена поддержка протокола Wayland, который теперь активирован по умолчанию в окружениях, предоставляющих одновременную поддержку Wayland и X11, и поддерживающих расширения протокола fifo-v1 и commit-timing-v1.Это целый один композитор, на секундочку, никому не известный Jay.
Вяленый ненужен.
Если на винде сидеть.
Да и на Иксах тоже.
Ты уже написал waylandX?
Зачем?
Чтобы запускать софт, который дропнет иксы.
Дропну этот софт.
> Это целый один композитор, на секундочку, никому не известный Jay.Так вот - мотиватор накодить фичу как раз и зарелизился для остальных :)
Посмотрел в git-ах. В mutter уже добавили (в 48-alpha), соответственно, в следующем релизе (в марте) уже будет. В KDE и wlroots допиливают и тоже, вроде как, к следующему релизу.Короче, пока SDL3 хоть куда-то уйдёт уже всё появится.
>Это целый один композитор, на секундочку, никому не известный Jay.Это стандартные протоколы вайланд.В релизе год назад из за не реализации этих протоколов выход sdl откладывали https://www.opennet.dev/opennews/art.shtml?num=60847
А теперь загляни сюда
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/m...Про 2 протокол лень искать ссылку.
> Wayland, который теперь активирован по умолчанию в окружениях, предоставляющих одновременную поддержку Wayland и X11
> задействован по умолчанию мультимедийный сервер PipeWireПроцесс закапывания копроиксов идет по плану!
me доволен> Реализована начальная поддержка HDR.
А вот это уже интересно.
>удалён код для работы на устаревших платформах, таких как OS/2Arcaos такая 'эм, упс'
Она 32-разрядная, так что все правильно сделали.
> Задействован по умолчанию мультимедийный сервер PipeWire, который помечен как более приоритетный, чем PulseAudio.Прямо как тут: https://xkcd.com/927/
Не знаем мы барин аглицкого наречия.
С каких пор ИТ специалисты его забыли?
В случае с Pulseaudio и PipeWire эта картинка вообще ни о чем
PipeWire имеет полную совместимость и Pulseaudio-клиенты работают с ним, как с Pulseaudio, для тех кто не хочет переписывать ничего и не нужно переписывать, все просто работает, так что никакого нового стандарта лишнего не появилось
> В случае с Pulseaudio и PipeWire эта картинка вообще ни о чем
> PipeWire имеет полную совместимость и Pulseaudio-клиенты работают с ним, как с Pulseaudio,
> для тех кто не хочет переписывать ничего и не нужно переписывать,
> все просто работает, так что никакого нового стандарта лишнего не появилосьЯ знаю, но зачем придумывать ещё одно API, когда есть уже существующие?
> Я знаю, но зачем придумывать ещё одно API, когда есть уже существующие?Например потому что старое это овнокод в котором никто не хочет копаться?
Или имеет архитектурный ФАТАЛЬНЫЙ НЕДОСТАТОК.
Или просто кому-то нечего делать)
> Например потому что старое это овнокод в котором никто не хочет копаться?Сервер понятно говнокод был, но API для взаимодействия с сервером нормальное. Для обычных приложений пойдёт.
> Я знаю, но зачем придумывать ещё одно API, когда есть уже существующие?PipeWire не просто API - там вся архитектура отличается от PulseAudio.
А почему PulseAudio не смогли сразу продумать по-человечески - это уже вопрос к Леньке Поттерингу, знатному "инноватору". Ну, видимо, недостаточно сильно инновировал - с кем не бывает...
Вряд ли только к нему. Этих звуковых серверов было как грязи, и они все канули в небытие, как неудачные. Поттеринг был не более неудачен чем они.
Пацаны на сколько модняво выглядит приложение на этом тулките? И чем он лучше или хуже GTK.
Это не GUI toolkit. SDL - абстракция для вашего GUI Framework, которая позволяет взаимодействовать с окнами, избегая системное программирование.
> И чем он лучше или хуже GTK.Это не GUI тулкит. Это abstraction layer по аналогии с виндововым DirectX-ом.
Нет, можно, конечно, на нём и GUI сваять (steam не даст соврать). Но зачем?
ImGUI + SDL и никакие QT не нужны
Хочется увидеть список софта для каждодневного использования с открытым исходным кодом на этой связке.
Для каждодневного использования, конечно, ты не увидишь - большинство разработчиков все-таки адекватны.Я однажды попробовал ImHex, и это поделие закономерно выжрало одно ядро CPU. Видишь ли, во всех этих т.н. immediate mode GUI логика приложения намертво прибита к отрисовке, поэтому ты обязан перерисовывать весь экран 60 раз в секунду - даже если ничего не поменялось. Бедолаге-кодеру ImHex даже пришлось добавить в настройки поле ввода, чтобы юзер мог ограничить FPS :)
В общем, этот ImGui и все остальные immediate mode GUI можно только врагу пожелать.
> Существенно улучшена поддержка протокола Wayland, который теперь активирован по умолчаниюПропал калабуховский дом.
Впрочем, в качестве библиотеки для 2d-поигрулек и эмуляторов ничего не изменится.
>> Это не GUI тулкит. Это abstraction layer по аналогии с виндововым DirectX-ом.
>> Нет, можно, конечно, на нём и GUI сваять (steam не даст соврать). Но зачем?А как в третьей версии с перерисовкой? Можно как-то на события завязать? Libevent можно к нему прицепить?
SDL2 линкуется с libudev.so.0 или libudev.so.1 в зависимости от того, какая версия библиотеки установлена в системе. Линковка осуществляется через dlopen() и использование библиотеки является опциональным. Можно ли заставить SDL2 искать обе библиотеки в зависимости от того, какая из них установлена в системе? Может есть патч?
> Можно ли заставить SDL2 искать обе библиотеки в зависимости от того, какая из них установлена в системе? Может есть патч?Ты, конечно, нашел где такой вопрос задавать. Пиши на форуме SDL или в их ишью трекер.
> Хотел я этот ваш ReactOs попробовать для виндовых сборок. Требований у меня ноль - плюсы ( VVM: C++) или Rust, консольные приложения, без зависимостей, нужно только компилятор запустить и тесты погонять.Рекомендую Windows Server 2003 x64 с One-Core-API :
clang из состава LLVM 18.6.X работает ( компилирует работоспособные .exe, библиотеки и .dll),
можно, скопировав установленные на Windows Server 2012 R2, использовать linker ( проверен в деле тот, что идёт в составе MS VS 2015 SP3) и SDK ( от Windows Server 2022).Для использования cl.exe потребуется перенести и соответствующие ветви реестра (registry).