The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск мультимедийной библиотеки SDL 2.0.14

22.12.2020 22:32

Представлен релиз библиотеки SDL 2.0.14 (Simple DirectMedia Layer), нацеленной на упрощение написания игр и мультимедийных приложений. Библиотека SDL предоставляет такие средства как аппаратно-ускоренный вывод 2D- и 3D-графики, обработка ввода, воспроизведение звука, вывод 3D через OpenGL/OpenGL ES/Vulkan и множество иных сопутствующих операций. Библиотека написана на языке Си и распространяется под лицензией zlib. Для использования возможностей SDL в проектах на различных языках программирования предоставляются биндинги.

В новом выпуске:

  • В видеодрайвере KMSDRM, применяемом в Linux, реализована поддержка графического API Vulkan.
  • В драйвер HIDAPI добавлена поддержка игровых контроллеров PS5 DualSense и Xbox Series X.
  • Добавлены константы для новых кнопок и колёс игровых контроллеров.
  • Предложены новые функции для получения информации от игровых контроллеров:
    • SDL_GameControllerGetSerial()
    • SDL_GameControllerHasAxis()
    • SDL_GameControllerHasButton()
    • SDL_GameControllerGetNumTouchpads()
    • SDL_GameControllerGetNumTouchpadFingers()
    • SDL_GameControllerGetTouchpadFinger()
    • SDL_GameControllerHasSensor()
    • SDL_GameControllerSetSensorEnabled()
    • SDL_GameControllerIsSensorEnabled()
    • SDL_GameControllerGetSensorData()
    • SDL_GameControllerRumbleTriggers()
    • SDL_GameControllerHasLED()
    • SDL_GameControllerSetLED()
  • Предложены новые функции для получения информации от джойстиков:
    • SDL_JoystickGetSerial()
    • SDL_JoystickRumbleTriggers()
    • SDL_JoystickHasLED()
    • SDL_JoystickSetLED()
  • Добавлен API для создания виртуальных джойстиков:
    • SDL_JoystickAttachVirtual()
    • SDL_JoystickDetachVirtual()
    • SDL_JoystickIsVirtual()
    • SDL_JoystickSetVirtualAxis()
    • SDL_JoystickSetVirtualButton()
    • SDL_JoystickSetVirtualHat()
  • Добавлены функции SDL_LockSensors() и SDL_UnlockSensors() для обеспечения эксклюзивного доступа к датчикам.
  • Добавлена функция SDL_GetPreferredLocales() для получения настроек текущей локали.
  • Добавлена функция SDL_OpenURL() для открытия URL в web-браузере, выбранном в системе по умолчанию.
  • Добавлена функция SDL_SIMDRealloc() для возвращения памяти, полученной через SDL_SIMDAlloc().
  • Добавлена функция SDL_GetErrorMsg() для получения списка ошибок.
  • Добавлены функции SDL_crc32(), SDL_wcscasecmp(), SDL_wcsncasecmp(), SDL_trunc(), SDL_truncf().
  • Добавлены признаки:
    • SDL_HINT_MOUSE_RELATIVE_SCALING (масштабирование движения указателя относительно DPI или логического размера отрисовываемой области),
    • SDL_HINT_JOYSTICK_HIDAPI_PS5 (включение применения драйвера HIDAPI для контроллеров PS5),
    • SDL_HINT_PREFERRED_LOCALE (переопределение локали).
    • Значение SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS изменено на false для улучшения совместимости с современными оконными менеджерами.
  • Для Linux реализованы признаки:
    • SDL_HINT_AUDIO_DEVICE_APP_NAME (выбор имени для показа названия приложения в PulseAudio),
    • SDL_HINT_AUDIO_DEVICE_STREAM_NAME (выбор имени для показа названия потока в PulseAudio),
    • SDL_HINT_LINUX_JOYSTICK_DEADZONES (определение мёртвых зон для джойстика),
    • SDL_HINT_THREAD_PRIORITY_POLICY (настройка планировщика потоков),
    • SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL (включение для потоков режима реального времени).
  • Для Windows реализован драйвер RAWINPUT для одновременно работы с более чем 4 контроллерами Xbox. Для активации данного драйвера предложен признак SDL_HINT_JOYSTICK_RAWINPUT.
  • Для Android добавлена функция SDL_AndroidRequestPermission() для запроса определённых системных полномочий.
  • Добавлена поддержка операционной системы OS/2.


  1. Главная ссылка к новости (https://discourse.libsdl.org/t...)
  2. OpenNews: Выпуск мультимедийной библиотеки SDL 2.0.12
  3. OpenNews: Мультимедийная библиотека SDL переходит на новую схему нумерации выпусков
  4. OpenNews: Выпуск мультимедийной библиотеки SDL 2.0.10
  5. OpenNews: Уязвимость в библиотеке SDL, приводящая к выполнению кода при обработке изображений
  6. OpenNews: Выпуск мультимедийной библиотеки SDL 2.0.6 с поддержкой API Vulkan
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54303-sdl
Ключевые слова: sdl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (50) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 22:37, 22/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Для Android добавлена функция SDL_AndroidRequestPermission() д

    А под ведроид кроме непонятной блотвари с гуглового варезника есть альтернативы ? Эклипсу похоже похоронили так что и труп не оживить если конечно удастся откопать.

     
     
  • 2.10, Урри (ok), 00:21, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Visual Studio есть, если не брезгуешь поделиями мелкомягких.
     
     
  • 3.11, Аноним (-), 01:37, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Visual Studio

    Одно другого лучше. Выходит что OpenSouce в ведроиде закончился ? Ожидаемо

     
     
  • 4.13, Аноним (-), 07:32, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нет, это ты закончился, потому-что ты толстый, и ты тролль. Скоро как грибы появятся мобильное на АРМах GNU/Linux сборки.
     
     
  • 5.35, Аноним (-), 16:18, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Главное верить. Деньги на храм свидетелей gnu/телефонов уже пора сдавать ?
     
     
  • 6.52, Michael Shigorin (ok), 18:55, 24/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Задумчиво читаю это вот через Jolla.
     
     
  • 7.56, Fatum (??), 17:38, 08/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И что там с софтом? От ведроида можно запустить?
     
  • 4.20, Аноним (20), 10:39, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В ведройде он закончился еще примерно в 4 версии.
    Потом гугл стал все в Гсервисы пихать и ломать апишки, видимо из-за этого те полтора китайца что пилили опенсурс на андройде забили на него. Впрочем такая "открытость" где большая часть приложений завязана на пропритарный закрытый блоат, в коде захардкожены ссылки на конкретные серверы конкретной компании (без чего часть функционала не работает), а все что взято из линукса извращено наркоманскими патчами костыльно меняющими поведение основных систем, и не нужна никому.
     
     
  • 5.21, Аноним (20), 10:46, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и из производителей андройдов с незалоченными загрузчиками остались либо лютая китайщина вроде сиаоми (и то надо их просить разблочить ваш девайс, указав уникальный номер вашего экземляра), либо редкие модели, которые еще надо найти и убедиться, что вы купили именно версию чей полный номер модели (не путать с просто моделью) не оканчивается на Z,X,C (условно) тк они с заблокированным загрузчиком и A,B,C, тк они для другого рынка и не поддерживают нужные частоты.
     
     
  • 6.26, анонэ (?), 12:58, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    >с незалоченными загрузчиками остались либо лютая китайщина вроде сиаоми

    причем он там не особо то и нужен, ибо из коробки есть божественный МИУИ

     
     
  • 7.44, Аноним (-), 19:57, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > божественный МИУИ

    Что это такое ?

     
     
  • 8.51, Аноним (51), 10:42, 24/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Он имел в виду, что там божественный МИУИ уже из коробки, и их даже не надо прош... текст свёрнут, показать
     
  • 3.12, Аноним (-), 07:30, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Брезкую, да.
     

  • 1.2, Аноним (2), 22:38, 22/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Годный и нужный проект. Долгих лет.
     
  • 1.3, eugener (ok), 22:44, 22/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    >  Добавлена поддержка операционной системы OS/2

    Ох.

     
  • 1.4, Козлетто (?), 22:50, 22/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Добавлена поддержка операционной системы OS/2.

    Привет из 90-х

     
     
  • 2.5, Тариф Анонимище (?), 22:54, 22/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Откуда они ее берут, это какой-то окаменелый энтерпрайз?
     
     
  • 3.6, Аноним (6), 23:02, 22/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    есть подозрение, что используют eComStation, он чуть-чуть менее окаменелый.
     
     
  • 4.32, anonymous (??), 14:34, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ArcaOS, проект активно развивается на базе OS/2 4.x, фактически форк-продолжение.

    Кажется, поддержка OS/2 в SDL2 появилась именно благодаря этим ребятам.

     
  • 2.28, Trubin (ok), 13:39, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мама дорогая! О, мой пейджер!
     
     
  • 3.29, Аноним (29), 14:09, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Африке тебя не поймут там подержаные компьторы и электроника в ходу. Не сарказм. Африка это лютая нищита в некоторых регионах Африки уже всех животных в округе поели если это не охраняемый заповедник. Не жерафов не бигимотов не кого. Это то, что я слышал.
     
     
  • 4.30, Аноним (29), 14:10, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Электроника подержанная превезённая из европы. То есть и то, что европейцы выкидывают.
     
  • 3.31, Аноним (29), 14:14, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И да, в Африке ещё вроде проверять надо пейджеры в ходу.
     

  • 1.7, InuYasha (??), 23:18, 22/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Эхъ, в наше бы время такое! )
    А ведь совсем недавно у него даже с переходом на полный экран были глюки. )
     
     
  • 2.8, Аноним (51), 23:24, 22/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Альттаб не работал. Как это вообще возможно.
     
     
  • 3.9, Аноним. (?), 23:50, 22/12/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Очень просто. У меня он нигде не работает так как виндузятники его используют. Он у меня вообще не используется и эта функциональность назначена на более удобные клавиши.
     

  • 1.14, Fracta1L (ok), 07:48, 23/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    > Библиотека написана на языке Си

    Пора бы уже на Rust мигрировать

     
     
  • 2.15, anonymous (??), 08:12, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Дак и мигрируй, что мешает? Свали на redox и там запили клон на rust.
     
  • 2.17, Аноним (17), 09:10, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В дурке мобилы с доступом в интернет доступны обычно завсегдатаям.
     
  • 2.18, Аноним (18), 09:41, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Проекту ещё рано умирать.
     
  • 2.24, Фрейд (?), 12:18, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Неприязнь к дыреням как бы намекает на проблемы с женщинами и мужественностью.
     
     
  • 3.34, Ordu (ok), 14:50, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лол. Да. Настоящие мужики любят сишные дырени. Дышат на них перегаром и протирают ветошью.
     
  • 2.36, Печка (?), 16:47, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Зачем? С SDL все прекрасно, хорошая библиотека, прекрасное комьюнити, продуманный (понятный) API, стабильная работа. Переписывать на Rust наверное стоит что-то не стабильное, где разработчики не могу этого сделать на их языке. Идея всё переписать на Rust - глупа. Мы все знаем, какие проблемы, на самом деле, не решает Rust...
     
  • 2.40, Аноним (-), 18:05, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Пора бы уже на Rust мигрировать

    Утсарел морально. Только Vlang, это будущее !

     
  • 2.50, СССР (?), 01:38, 24/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    завязывай чушь нести
     

  • 1.16, Аноним (16), 09:00, 23/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL
     
  • 1.23, iLex (ok), 12:18, 23/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    На примере SDL кстати хорошо видно, что практически весь современный софт состоит в основном из мёртвого кода, который никогда не выполняется.
    Так, если вы сделаете статическую линковку с SDL, ваш бинарник сразу вырастет на полтора метра - но это же как раз и есть размер всей SDL-библиотеки! То есть даже если вы вызываете только одну функцию, библиотека будет влинкована вся целиком. И реально выполняемых байт в вашем бинарнике будет менее 1%, остальное балласт.
    Сейчас все библиотеки такие. Их архитектура настолько убога, что линкер в принципе не способен определить, какие же куски кода реально используются.
     
     
  • 2.25, Аноним (25), 12:29, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А если отстрелить ноги, то вы не сможете ходить, да. Но зачем так делать?
     
  • 2.33, anonymous (??), 14:38, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Епта, когда ты Qt5 или WinAPI линкуешь, ты же не весь функционал фреймворка используешь. Зочем ты линкуешь статикой?
    Библиотеки - это реализация принципа "пиши один раз, используй всюду". Ты можешь предложить лучшее решение, не используя копипаст кусков кода?
     
     
  • 3.37, Аноним (51), 17:22, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Статически линковать это так принято у виндоус разработчиков. Вообще, на виндоус оно странное, без SDL_MAIN_HANDLED совсем не работает. И 64 битная версия почему-то сегфолтится когда я пытаюсь перехватить вызовы dlsym, 32 битная нормально работает без непонятных багов. Может быть дело в вайне я не знаю. Что я делаю не так?
     
     
  • 4.38, Аноним (2), 17:30, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Вообще, на виндоус оно странное
    >Что я делаю не так?
    >дело в вайне

    Шапку ты тоже через ноги одеваешь?

     
     
  • 5.39, Аноним (51), 17:41, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не вижу разницы. Я проверял, эти бинарники собранные mingw32-w64 потом замечательно работают в чистой 7. Оно работает, я просто не могу понять почему 32 битные файлы нормально к LD_PRELOAD относятся и 64 битные умирают в агонии в кишках вайна.
     
     
  • 6.45, anonymous (??), 20:14, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Охохо. А вайн у тебя какой разрядности? Что за костыли, нельзя сразу нативные сборки делать?
     
     
  • 7.48, Аноним (51), 21:40, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    64 битный вайн. Нативные сборки делать нельзя, я хукаю проприетарщину.

    Я короче не с теми символами пытался линковаться, лол. Например, dlsym@@GLIBC_2.0 для 64 бит будет dlsym@@GLIBC_2.2.5. Чёто тупо вышло, да. Надо насыпать лапши из макросов, мне оба варианта нужны одновременно.

     
  • 7.49, Аноним (51), 21:42, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С SDL_MAIN_HANDLED правда до сих пор не разобрался, в интернете говорят так делать нельзя, но как делать если иначе не работает? На линуксе кстати без проблем, только кросс билд обламывается. Я пробовал предложенные в том посте решения, не получилось.
     

  • 1.41, Нуб (?), 18:32, 23/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а возможно прикрутить поддержку геймпадов отсюда в проект написанный вокруг другой либы? Просто у сдл есть огромная библиотека известных девайсов - чтобы не велосипедить работу с ними самостоятельно
     
     
  • 2.42, Аноним (42), 19:06, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С недавних пор, Wine имеет опциональную зависимость от SDL2. Исключительно ради поддержки геймпадов, и ни для чего больше
     
     
  • 3.43, Аноним (51), 19:28, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Faudio тоже зависит от sdl2. Но у меня почему-то не работает звук в игрушках на unreal engine (пробовал с пульсом вместо алса всё равно скрежет), приходится выставлять SDL_AUDIODRIVER=dummy (сдл именно нативный у faudio, это не конфликт с вендовыми либами). Может, стоит через winetricks использовать, не пробовал. Зря я что ли компилировал нативный faudio, должно так всё работать.
     
     
  • 4.54, Аноним (42), 21:26, 25/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если подозреваешь, что используется Windows-версия библиотеки вместо Linux-версии библиотеки, выстави в winecfg библиотеку openal как built-in. Она и так выставлена в этом положении, но чтобы наверняка. Ну и проверь что в ~/.wine/drive_c/windows/system32/openal.dll это заглужка от Wine размером 2 Кб, а не виндовая библиотека размером 500 Кб.
     
  • 2.46, anonymous (??), 20:17, 23/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Можно, но тебе понадобится выключить все остальное - видео, аудио, инпут, графику. Полученная библиотека будет обрубленной, но джойстики будут на месте
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру