Почему Linux мёртв в настольном сегменте на примере OBS Studio: Часть 2

Предисловие
Можно долго перечислять причины несостоятельности Linux в настольном сегменте, например худшую производительность в играх по сравнению с Windows, ведь нативных игр под линукс почти нет, а всё остальное запускается через прослойки вроде Wine/DXVK/VKD3D с очевидными потерями производительности.
![]() |
![]() |
реклама
Ещё печальнее Linux показывает себя в играх при использовании стандартного ядра вместо модифицированного...
![]() |
![]() |
Но это нельзя назвать причиной несостоятельности Linux в настольном сегменте, ведь тот же Wine из коробки настроен и работает в дистрибутиве Chimbalix, в других линуксах придётся потанцевать с бубном, чтобы установить и настроить Wine, однако не суть.
Может, под линуксом через костыли игры и хуже работают, и далеко не все, но сейчас речь пойдёт о настоящей проблеме практически любого линукса, ведь она затрагивает фундаментальную основу, а именно — распространение программ.
реклама
Совсем недавно я занимался программой OBS Studio, пытался собрать из исходного кода, ведь не нашлось ни одного адекватного установочного пакета, что можно было бы нормально использовать, в том числе на автономных системах...
![]() |
![]() |
Мне пришлось изрядно потанцевать с бубном, чтобы просто подготовиться к компиляции OBS Studio из исходного кода, ведь инструкции от разработчиков оказались несостоятельными, там даже не указаны конкретные версии зависимостей, и вообще, в каком именно линуксе можно собрать их поделку, ведь, как показала практика, OBS Studio нельзя скомпилировать в чистом Debian 12, как и в прочих линуксах, даже если строго следовать инструкциям.
А всё почему? Правильно, потому что для сборки OBS нужен ffmpeg 6.1 и выше, а в репозиториях Debian лежит версия 5.1, от чего конфигурация исходного кода завершается ошибкой, и я не знаю никаких «официальных» способов засунуть нужный ffmpeg в дистрибутив, ибо это Linux со своим извечным болотом зависимостей.
![]() |
![]() |
![]() |
На этом я бросил попытки собрать актуальную, 31-ю версию OBS Studio из исходного кода. Компиляция из исходников была единственным способом получить актуальную версию программы, которую можно было бы нормально установить и использовать, но, увы, не прокатило. Видимо, нужен специфический линукс вместо чистого Debian 12, но какой именно — разработчики тактично умолчали в инструкции по компиляции, как и о многих других нюансах, в том числе допустив грубейшие ошибки, как, например, с параметром NVENC в JSON-файле.
реклама
Это была одна из причин, почему Linux мёртв в настольном сегменте, заключается она в отвратительных методах распространения приложений, когда распространяют будто пытаясь поиздеваться над пользователем, а не ради пользователя.
FFMPEG
На этом танцы с бубном вокруг OBS Studio не закончились, хотя и перетекли в другую область, а именно — ffmpeg. Зачем оно мне надо? На самом деле оно мне и подавно не сдалось, но я задумался, а что если скомпилировать ffmpeg и собрать DEB-пакеты? Если получится, можно будет и обновить в следующей версии Chimbalix данную системную утилиту, а то в репозиториях Debian совсем уж всё тухло.
На официальном сайте сразу предлагают скачать исходники, мол, берите и компилируйте как хотите, вот оно, наглядное проявление скотского отношения к пользователям.

реклама
Что забавно, есть и раздел предварительно скомпилированных версий ffmpeg, для Windows аж несколько вариантов, берите и пользуйтесь на здоровье, так же и для macOS, но вот для Linux всё, как обычно, по-идиотски.
Первая ссылка ведёт в репозитории Debian, а там уже известно, что для Debian 12 в наличии только ffmpeg 5.1, когда актуальная 7.1.
![]() |
![]() |
![]() |
Вторая ссылка ведёт на сторонний репозиторий debian-multimedia, но там максимум версия 6.0.1, даже не 6.1, короче не подходит.

Третья ссылка исключительно для Ubuntu, ведёт на тормозной launchpad (открывается сайт очень долго), где без шпаргалки не разобраться в этих наименованиях дистрибутива... Да и проблема в том, что ближайший к Debian 12 дистрибутив Ubuntu 22.04 LTS (Jellyfish), и там ffmpeg очень старой версии 4.4, только начиная с Ubuntu 24.04 LTS идёт ffmpeg 6.1, с которой, теоретически, может собраться OBS Studio. Актуальная версия 7.1 доступна только в тестовых версиях Ubuntu, где танцев с бубном будет ещё больше, чем обычно в линуксах бывает.

Далее Fedora и RHELL, сразу подальше этот вариант, ибо у меня линукс на основе Debian, да и не очень привлекательно это всё выглядит, какие-то очередные простыни инструкций, ещё и пакет нужно самому искать, и не факт, что найдётся, брр.

Следующий раздел уже предлагает статически скомпилированные варианты, но тут не видно версии 7.1, только 7.0 последняя, да и сторонний это сайт какой-то вообще, причём в архивах находятся файлы со встроенными библиотеками, а такие не подойдут для сборки зависимого софта, очередной вариант мимо.

Предпоследний вариант находится в репозитории GitHub, и там довольно много вариантов ffmpeg, в принципе даже пригодных для использования, на первый взгляд...
![]() |
![]() |
Беру версию 7.1 shared, но вот проблема, она не содержит в себе «object» файлы, упакованные в «.a» архивы, необходимые для сборки стороннего софта по зависимостям, а значит, собрать тот же OBS Studio не получится даже теоретически с помощью этого всего.
![]() |
![]() |
Да, это можно запустить и использовать через терминал, при этом окно заполнено параметрами конфигурации вместо полезной информации...

Что по итогу? Правильно, осталась сборка из исходного кода! Ведь прочие варианты для линукса, как обычно, оказались непригодными для полноценного использования, элементарно не выполняют свои функции в полной мере, либо вообще непригодны для использования, либо устарели как болотный пень, короче, ничего хорошего.
В целом, собрать ffmpeg из исходного кода относительно просто, ибо этим проектом занимались явно компетентные люди, в отличие от некоторых, не буду тыкать пальцем. Однако есть проблема, обычный пользователь, скорее всего, не осилит сборку ffmpeg.

И вот в чём дело, собрать ffmpeg можно командами "./configure" и "make", но получится из этого, как многие уже наверняка догадались, ничего хорошего, и работать оно будет никак - десять простыней в справке файла конфигурации намекают как бы.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Но это ещё не все проблемы - конфигурацию я решил отложить на потом, ведь была более серьёзная проблема в виде здоровенной простыни из параметров, что автоматически применены при компиляции. И так для каждого модуля, ещё приправлено предупреждением о конфигурации, выглядит отвратно, а ведь это всё показывается при каждом использовании ffmpeg, и, судя по форумам в интернете, это бесит людей.
![]() |
![]() |
В итоге я полез в исходный код, нашёл злополучные исходные файлы, накинул дополнительное условие, добавил параметр -show_config и создал дополнительную функцию, чтобы убрать с глаз долой весь мусор при нормальном использовании ffmpeg.
![]() |
![]() |
По крайней мере, я задумывал новую функцию для отображения информации о конфигурации, однако что-то пошло не так, где-то заколебался с этим всем линуксоидным бредом и забыл доделать исходники до задуманного, потому мой параметр почти не отличается от -version...
![]() |
![]() |
![]() |
Буду ли дорабатывать и компилировать заново, а после снова собирать DEB-пакеты? Пф, извольте, не хочу с этим больше иметь дел, внести правки в исходник, а потом прописать make install довольно просто, но вся проблема в сборке бредовых DEB-пакетов, просто не хочу этим заниматься. После Installer-SH сборка DEB-пакетов у меня вызывают отвращение...
Ещё нужно было разобраться с зависимостями, ведь компонент ffplay не собирается без sdl подходящего... Также хотел собрать документацию, для чего нужен был doxygen, однако линуксоидные репозитории, как обычно, крайне ненадёжные, потому пришлось выковыривать утилиту из локальной копии на внешнем SSD. Типичный Linux, вечно всё через одно место «работает».

Дальше собрал DEB пакеты основных компонентов, но вот проблема, так как конфигурацией особо не занимался, то и работал ffmpeg никак, хотя про это говорилось ранее.
![]() |
![]() |
Ну что же, нужно провести конфигурацию, но читать десять простыней параметров... Я что, дурак, чтобы это делать? Конечно нет, потому взял параметры от старого ffmpeg! И тут начались танцы с бубном над бесконечными зависимостями, каждая из которых выводится строго по одной за раз, ведь линуксоидные утилиты слишком глупые, чтобы вывести весь список разом, он будет выводиться по одной штуке за раз.

Причём, важно отметить, оно не всегда указывает правильное имя необходимого пакета, порой нужно импровизировать и угадывать, но линуксоидам не привыкать с «дряхлым пингвином», а вот обычному пользователю, что захотел полноценно воспользоваться актуальной программой, придётся страдать...
Мне приходилось по одной зависимости устанавливать всё необходимое для компиляции, причём это далеко не всё, как можно заметить по полосе прокрутки четырёх терминалов. Да и ряд модулей пришлось исключить, а некоторые заменить другими, ибо ffmpeg 7.1 оказался несовместим с некоторыми «устаревшими» зависимостями.

Типичный для Linux ад зависимостей. Спасибо, что хоть как-то собралось, а не просто обломалось на какой-нибудь мелкой ерунде. Казалось бы, вроде бы исходный код подготовлен для компиляции достойно, даже собирается в линуксе на основе Debian 12, а значит, если дополнительно потанцевать с бубном — соберётся и в чистом Debian 12, но вот более полноценная сборка, чтобы этим можно было пользоваться, уже вызывает проблемы с болотом зависимостей...
![]() |
![]() |
Наконец скомпилированный ffmpeg нормально работает, однако на этом проблемы не заканчиваются, можно заметить, что я указываю фактическую версию компонентов, а не выдуманную чьей-то явно нездоровой головой... И так получается, что мои DEB-пакеты не конфликтуют со стандартными от Debian 12, но при этом пакетный менеджер неправильно ведёт учёт, и устаревшие версии считает самыми свежими. Почему? Правильно, потому что чья-то явно нездоровая голова решила, что нужно поиздеваться над нумерацией версий библиотек, и добавили префикс «7» через двоеточие, что вводит в заблуждение пакетный менеджер, и считает последней версией давно устаревшую.

А это приводит к тому, что при установке зависимых пакетов пакетный менеджер пытается обновить родительский пакет, что ни к чему хорошему не приведёт. А потом линуксоиды ещё будут верещать, мол, разрабатывать и распространять софт для Linux легко и просто, якобы это разработчики все такие дурачки, не хотят под прекрасный линукс разрабатывать, но ни в коем случае не линукс хлам, в котором можно голову сломать, и в итоге будет работать абы как, наперекосяк, а потом ещё проси разрешения у непонятно кого, чтобы добавить это в репозитории линуксоидные для распространения...

Так что да, установка dev пакетов считается пакетным менеджером как downgrade, ведь эти пакеты невозможно установить без конфликтов. Ну и конечно, мне пришлось подкинуть заодно и сам ffmpeg в пачку к dev пакетам, чтобы не обновлялся принудительно менеджером пакетов.
![]() |
![]() |
![]() |
Теперь в системе два набора библиотек, причём, стоит заметить, основная ссылка ".so" указывает на последнюю версию библиотеки только когда установлен dev пакет, ведь именно в этом пакете находится ссылка такого уровня, что показалось мне довольно забавным и нелогичным, хотя, чтобы в линуксе хоть что-то было сделано логично, пф...

Пара слов о формате DEB
Ну что же, теперь пара слов о создании пакетов в этом мракобесном формате... Разумеется, я не просто взял и собрал, как это можно сделать с Installer-SH. Нет, с DEB всё гораздо сложнее, ведь нужно знать ряд вспомогательных инструментов вроде fakeroot, dpkg-deb, lintian, md5deep и gzip, причём не просто знать о существовании, но и правильно использовать, иначе всё пойдёт прахом. Мне пришлось набросать небольшую шпаргалку в процессе сборки, иначе можно повеситься с терминалом, в который нужно колдовать эти все линуксоидные заклинания, да не абы где, а в определённых местах.

Пришлось искать мануалы в интернете «как собрать DEB пакет», однако я не могу согласиться с тем, как автор статьи нахваливает формат DEB, мол, логичное и простое... Если бы это мракобесие было логичным и простым, я бы не искал мануалы «как это сделать», а данная инструкция на пятнадцать простыней (одна простыня в минуту), скорее всего, даже не существовала бы.

Но давайте начнём с сути, DEB-пакет состоит из каталога DEBIAN и usr. В первом хранится файл «control», единственный минимально необходимый файл, без которого сборка элементарного пакета невозможна, и в целом для очень простой программы вышеперечисленного мануала предостаточно, чтобы руками все поля прописать и собрать. Однако в моём случае всё гораздо сложнее, ведь ffmpeg — это не маленький одиночный скрипт, который достаточно просто закинуть в usr/bin.

Я действовал иначе, просто расчехлил локальный репозиторий Debian 12, нашёл там ffmpeg-пакеты и собирал свои на основе устаревших. Хотя это может показаться простым, да и говорю «просто», но даже так это занятие оказалось не особо простым.

Для примера запустим lintian, инструмент проверки DEB пакетов на ошибки, и он ругается на мой пакет двумя ошибками. Первая указывает на десятую строку файла control, причём ругается без оснований. Ну а вторая ошибка указывает на отсутствующий файл changelog.

Насколько я знаю, этот файл должен быть оформлен в DEB формате, а у меня нет никакого желания заниматься данным мракобесием, так что плевать на эту «ошибку». Тем более исходный код заботливо положил вместе с программой, кому надо — вперёд и с песней, вот вам исходники «как есть», там и смотрите всё, что интересует. Правда, я нигде не выкладывал эти пакеты и вряд ли буду выкладывать, учитывая, что в итоге взял часть библиотек из предварительно скомпилированного ffmpeg, но не будем забегать далеко вперёд.

Собственно, пакуя и проверяя утилитой lintian, были собраны основные пакеты, особенно меня взбесил DEB-формат при упаковке библиотек. Ведь помимо файла control нужно ещё нести с собой shlibs, triggers и symbols, если первые два настраиваются элементарно, то с файлом symbols всё совсем неадекватно, в итоге отказался от него. Файл symbols просто невозможно сформировать по-человечески, там сотню простыней мануалов нужно перечитать, чтобы хоть что-то понять.

У меня вообще-то есть свои дела, и поиграть хочется иногда, отдохнуть, а сборка DEB-пакета подразумевает, что я должен с головой утонуть в документациях, и не факт, что всё получится, возможно, придётся как-то по-особенному компилировать, чтобы сделать всё необходимое, настолько это всё враждебно сделано по отношению к людям, иначе говоря — классика Linux.
![]() |
![]() |
![]() |
Ну и разумеется, это всё дело гадит прямо в операционную систему, а вся «простота» формата заключается лишь в том, что корень пакета — это корень файловой системы, и это действительно просто, ведь можно весь линукс в DEB-пакет засунуть с таким подходом, но стоит ли оно того...
Возвращаемся к OBS Studio...
А теперь вернёмся к OBS Studio. С прошлого раза у меня осталась виртуальная машина, там установлен чистый Debian 12, пытался скомпилировать OBS из исходников, и всё застопорилось на недостаточно свежем ffmpeg. Debian 12 хоть и актуальный линукс, но он не способен предоставить актуальную версию ffmpeg, потому я собрал свои DEB пакеты и просто установил.
![]() |
![]() |
Но, как уже можно было заметить по терминалу на фоне, свежий fmpeg не сильно помог в компиляции OBS Studio, на этот раз мозги делает модуль NVENC, не находит зависимости нужные, а ведь никто не говорил в инструкциях о такой проблеме...
![]() |
![]() |
![]() |
Потому отключаю встроенный в OBS модуль NVENC и вообще переключаю на модуль от ffmpeg, и так конфигурация завершается успехом, ну наконец!
![]() |
![]() |
![]() |
Впрочем, конфигурация лишь половина дела, дальше компиляция, и вот тут начались очередные проблемы, беда в библиотеке libssh.so.4, вернее, в её отсутствии, и это вроде как уже моя проблема, что не вписал её в зависимости, ибо не знал. Но эта библиотека изначально не была прописана в зависимостях libavformat, так что тут спорный вопрос, а должен ли я был вписывать эту библиотеку? Тем более и без неё ffmpeg работал.
![]() |
![]() |
В общем, устанавливаю недостающую библиотеку, и, о чудо, компиляция пошла! Куча ругани на deprecated функции, но не страшно, критических ошибок не видно.
![]() |
![]() |
![]() |
Неужели я наконец скомпилировал актуальный OBS Studio? Спустя столько мучений и подстав от разработчиков... Да! Оно работает! Осталось перенести в основную систему и протестировать! Правда, меня очень смущает тот факт, что собралось в режиме Debug, но про это ничего не сказано в официальной документации, неужели так надо?
![]() |
![]() |
![]() |
Упс, что такое, не работает? Ох уж эти линуксы...

Короче, иду в файл конфигурации и только сейчас замечаю, что предоставленные разработчиками примеры требуют доработки, а именно — префикс установки, это уже моя ошибка, но вот про параметр CMAKE_BUILD_TYPE в документации ничего не сказано, так что изменяю Debug на Release, ведь это логично, надеюсь, сработает.
Запускаю конфигурацию и компилирую, а вот до установки дело не дошло, и тут вина писателей документации, что неправильно написали вторую половину команды, очередной косяк документаций.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
По документации нужно ввести "cmake --install", но по факту нужно вводить "cmake --install /Path/To/Build/Dir"

В любом случае я наконец скомпилировал актуальную версию OBS Studio 31.0.0-308 (2025-05-28), и она даже работает, правда, нет NVENC кодировщика, но это ожидаемо, ведь в виртуальной машине не скомпилировать так программу, или что-то недосмотрел... И свою версию ffmpeg вроде как собирал без nvenc, хотя там чёрт ногу сломит в этих параметрах...

К слову, в отличие от сторонних AppImage-вариантов, где засунули половину линукса в контейнер, чтобы обойти характерную для Linux проблему ада зависимостей, мой вариант работает, потребляя адекватное количество ресурсов.
![]() |
![]() |
Скорее всего, не смогу запустить эту версию OBS в линуксах старее Debian 12, однако других вариантов у меня, пользователя, нет, ведь не существует официальных установочных пакетов, совместимых с Debian 12... Осталось проверить лишь один момент, сможет ли работать OBS Studio со старой версией ffmpeg 5.1, стандартной и последней для Debian 12, или придётся устанавливать мою версию 7.1. Удаляю свои пакеты, восстанавливая оригинальный ffmpeg.

И всё работает.

А ещё появился NVENC, предоставляемый системным ffmpeg, это радует. Однако отмечу один тонкий момент: в чистой операционной системе, в которой ещё не проводилась компиляция ffmpeg, оно не работает без ffmpeg версии 7.1, как это объяснить? Даже не знаю, вероятно, где-то остались хвосты в системе, возможно, кэшированные, благодаря которым оно и работает, в остальных случаях нужно подкидывать библиотеки libavcodec.so.61 и т. п.

Тесты в Debian / Chimbalix / Ubuntu / Fedora
Дальше нужно бы протестировать программу в прочих линуксах. Debian 11 ругается на отсутствующие библиотеки, подкидывать бессмысленно, ведь упёрлось в зависимость Python 3.11, а такую найти в среде Debian 11 — та ещё проблема...
![]() |
![]() |
![]() |
Далее чистый Debian 12, и вот тут начались танцы с бубном над зависимостями, руками подкидывал требуемые библиотеки, но всё тщетно, почти запустилось, но лишь почти. Напомню, компилировался OBS Studio в портативном режиме, и такая засада.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Пытался даже собрать OBS Studio с флагом «-static», чтобы убрать эти противные линуксоидные зависимости внешние, но, увы, так вообще не компилируется...
![]() |
![]() |
Дальше просто пляски с бубном вокруг зависимостей, пока не запустилось...
![]() |
![]() |
![]() |
![]() |
По итогу собралась пачка из 40 пакетов, столько нужно установить в систему, чтобы OBS Studio заработал, причём часть уже заброшена в отдельный каталог LD_LIBRARY_PATH, около десятка библиотек там...
![]() |
![]() |
![]() |
Большинство зависимостей просты как палка, не проблема внедрить в отдельный каталог библиотек, но вот Qt — совсем другое дело, над ним придётся отдельно потанцевать с бубном, иначе я не знаю, как эту пачку хлама упаковывать в формат Installer-SH...
Теоретически можно создать дополнительный скрипт, устанавливающий все DEB-пакеты с зависимостями, но тогда приложение будет ограничено сугубо дистрибутивами на основе Debian 12... Хотя и так всё будет ограничено по самое не хочу, ибо масса внешних зависимостей, не поддающихся статической сборке, за что вонючее «спасибо» разработчикам OBS.
В общем, закинул библиотеки в отдельный каталог, и OBS Studio запустился, правда, побитый он какой-то, интерфейс выглядит поломанным.
![]() |
![]() |
![]() |
Проблема интерфейса была исправлена доработкой переменных окружения, но была обнаружена другая проблема — тот самый захват окна не работает, прямо как было у AppImage варианта из предыдущей статьи. Я уже начал грешить на зависимости, вдруг не хватает, но нет, проблема устойчивая.
![]() |
![]() |
![]() |
![]() |
Даже во второй виртуальной машине, где компилировался OBS Studio, есть чёрное окно при захвате.
![]() |
![]() |
От безысходности полез в поисковую систему, и, как оказалось, чёрный экран при захвате окна — довольно распространённая беда, правда, у людей она решилась установкой более нового драйвера видеокарты, а что это значит? Правильно, проблема может быть в линуксоидной, вечно кривой Mesa3D, отвечающей за OpenGL в линуксах, именно она отвечает за графику при отсутствии видеокарты либо при наличии видеокарт AMD/Intel.
![]() |
![]() |
В итоге было решено включить аппаратное 3D-ускорение для виртуальной машины, и да, захват окна заработал. Это, к слову, один из технических недостатков проекта OBS Studio, что крайне привередлив к графическому драйверу видеокарты.

И насчёт AppImage-варианта пара слов для ясности ситуации, там кривая Mesa3D встроена в сам контейнер и используется на постоянной основе, потому даже на реальном ПК проблема черного окна не исчезала, а потребление ресурсов было неадекватным.
Ну что же, на этом можно завершить танцы с бубном, так я подумал... Наконец программа работает без установки дополнительных зависимостей в Debian 12, правда, лаунчер выдался не совсем простой, но это не проблема. Всё равно буду упаковывать в формат Installer-SH, а там есть свой лаунчер, просто добавлю несколько переменных.

На этот раз собрал распространяемый пакет без извращений с переходом на tar.xz формат, как это приходилось делать при упаковке archimage варианта OBS, где засунули половину линукса в контейнер с битыми ссылками...

Ну что же, осталось запустить чистый Debian 12 и протестировать! Запускаю свой Installer-SH и устанавливаю OBS Studio, пара кликов — и готово, работает тоже без проблем, кроме записи окон, тут уж нужно аппаратное ускорение на графику подключать виртуальной машине. Кстати, моя версия OBS Studio закрывается без ошибок, в отличие от archimage-версии, так что мне даже модифицировать лаунчер не пришлось, чтобы подавить реакцию на общие ошибки.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
В дистрибутиве Chimbalix, разумеется, тоже протестируем. Правда, у меня под рукой только версия 24.8, а она находится в разработке. Впрочем, это не суть важно, всё равно мой Installer-SH не затрагивает саму систему и работает исключительно в домашнем каталоге по умолчанию, так что ничего не поломает мне, как установил, так и удалю, а может и нет, вдруг решу оставить OBS Studio 31 вместо устаревшей 30 версии.
![]() |
![]() |
![]() |
Далее Ubuntu 22.04 LTS, почему бы и нет? Но увы, даже скопировав все зависимости, программа так и не запустилась, ругань в стиле «segmentation fault»... Может, какие-то библиотеки копировались с ошибками? Не знаю, вероятность ошибок есть, но это не точно, в «дряхлом пингвине» поди разберись ещё, где именно проблема...
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Хотя так оно и есть, просто дополнительные библиотеки с ошибками были скопированы, но дополнительная попытка ничего не дала, ведь всё встало на «Питоне».

Ubuntu 23.10, этот дистрибутив настолько недоразвитый, что большинство базовых зависимостей просто отсутствует, которые есть из коробки в чистом Debian 12, нужно ещё больше зависимостей закидывать... Но в итоге удалось запустить OBS Studio, хотя Xcomposite не работает без нормального 3D-ускорения, но вот Pipewire позволяет записывать отдельные окна, правда, делает это довольно криво, но ведь делает! Впрочем, чего ещё было ожидать от вечно кривого и недоделанного Wayland, особенно в паре с таким же вечно кривым Mesa3D...
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Ubuntu 24.04 LTS, увы, но тут всё печально, Python3 встал колом, короче не работает, даже если подкинуть библиотеки в этот сомнительный линукс.
![]() |
![]() |
![]() |
![]() |
Увеличивать в два раза общий размер приложения ради одной Ubuntu 23.10, подкидывая набор лишних библиотек? Пф, обойдётся этот несостоятельный линукс, всё равно им невозможно нормально пользоваться, тем более промежуточными версиями, даже несчастное меню приложений согласно стандартам XDG не удосужились полноценно реализовать, зато на уродливый snap пытаются принудительно переводить пользователей, вызывает только отвращение данный линукс...
Ради забавы установил OBS Studio в Fedora 38, но программа не запустилась, даже подбросив зависимости и переведя Qt в режим offscreen, снова Python3 встал колом, хотя это было ожидаемо.
![]() |
![]() |
![]() |
![]() |
Так что да, где скомпилировано — там и будет работать, ибо OBS Studio не компилируется в статическом режиме, видимо, слишком недоразвитый для такого. А ещё линуксоиды будут верещать, мол, возьми исходный код да компилируй, если нет нормальных исполняемых файлов, пригодных для использования, якобы это прекрасная особенность линуксов, ага, конечно (тщательно снимаю лапшу с ушей).
Заключение
Извольте, но я не собираюсь компилировать это мракобесие под все линуксы в отдельности, мне хватило танцев с бубном при компиляции в Debian 12... Так что новый пакет OBS Studio будет совместим только с Debian 12 и Chimbalix, за это скажите спасибо разработчикам программы, что не осилили нормальные исходники, пригодные для нормальной компиляции за пределами неизвестно какого дистрибутива (не указано в инструкции по компиляции), которым они там пользуются, если пользуются вообще, а не просто сидят на Windows, как подавляющее большинство людей.
Конечно, чисто теоретически, можно снова расчехлить бубен и пойти танцевать над Python3, в надежде запустить OBS Studio под Ubuntu 22.04, Fedora 38 и прочими линуксами, но не буду. Хватит мне танцев с бубном, пусть этим мракобесием занимаются другие "красноглазые" любители линуксов, ведь это же линукс, "попен-сорс", якобы сообщество, кто-то да сделает якобы, все дела...
Единственное, что упаковал программу в Installer-SH не со своими скомпилированными библиотеками ffmpeg, а со статическими официальными версии 7.1, что увеличило размер программы примерно в 2 раза, но зато функционал будет явно лучше, даже OpenH264 какой-то появился при выборе кодека. Да, в виртуальной машине не всё доступно, на реальной должны быть ещё NVENC кодеки при наличии видеокарты от NVIDIA, но всё же я хочу собрать софт максимально функциональным, это естественное желание.

В общем, для себя я уже собрал OBS Studio, и даже позаботился о совместимости с чистым Debian 12, чтобы не только в Chimbalix работало, и по традиции выкладываю установочный пакет в репозитории Chimbalix-Software-Catalog.
https://github.com/Shedou/Chimbalix-Software-Catalog/releases/tag/obs3000_308_cl

На этом, пожалуй, завершу танцы с бубном вокруг OBS Studio. Хоть и с трудностями, но мне удалось заполучить пригодный для использования установочный пакет, правда, я сам его и создал, ибо разработчики оказались недостаточно компетентными, чтобы выполнить обязанности по компиляции и упаковке своих поделок.
Просто позор, даже элементарный архив с исполняемыми файлами не удосужились собрать разработчики известного OBS Studio, отчего этим мракобесием приходится заниматься мне, пользователю... Впрочем, моя попытка оказалась явно успешнее AppImage варианта упакованного в предыдущей части, по крайней мере, у меня обошлось без запихивания половины линукса в контейнер, отчего и серьёзных проблем с производительностью не обнаружил.
Пожалуй, нужно будет удалить встроенный в Chimbalix уже устаревший OBS версии 30.0.1 и установить свежий, скомпилированный на этой неделе из исходников, но это уже совсем другая тема.

Всё же он работает довольно неплохо, да и давно уже пора было перевести эту программу в формат Installer-SH, но компиляция из исходного кода отвращала до последнего... У меня даже появились некоторые дополнительные идеи по совершенствованию Installer-SH, которые позволят устанавливать софт в системном режиме, но не теряя возможность выноса домашнего каталога.
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.

Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.



























































































































Комментарии Правила