Найти в Дзене
OVERCLOCKERS.RU

Почему разработка софта для Linux это выброшенные ресурсы, или как я подбирал ядро для Chimbalix

Оглавление

Предисловие

Сразу отвечу на вопрос "что значит поломать User Space" - это когда изменения в ядре операционной системы приводят к поломке, или неправильной работе пользовательских приложений.

Ни для кого не секрет, что разработка серьёзных приложений вроде 3DS Max, AutoCAD, а так же разработка проработанных AAA игр это процесс трудоёмкий и сложный, и в основной своей массе такие приложения разрабатываются только для Windows, но не Linux. Почему так происходит?

Кто-то скажет что дело в "чемоданах с деньгами", мол, плохая и ужасная корпорация всех подкупает, потому бедный и многострадальный "пингвин" никак не может стать популярным... А кто-то скажет что дело в недоразвитости линуксов, и будет прав.

В линуксах даже портативного софта как класса нет, благодаря вечно бурлящему болоту зависимостей (AppImage контейнеры нельзя назвать хорошей заменой полноценному портативному софту), и даже нет нормального каталога для установки приложений.

И если проблему с каталогом для приложений я благополучно решил в своём дистрибутиве при помощи каталога "PortSoft", и он доказал свою состоятельность в реальном использовании:

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

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

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

Конечно, в серверном сегменте "пингвин" неплохо живёт благодаря своей бесплатности, всё же выходит дешевле нанять танцора с бубном чтобы тот плясал над терминалом, чем покупать лицензии Windows Server, но сейчас речь не про серверы, да и изначально Linux разрабатывался именно для ПК, а не серверов, так что давайте перейдём к подбору ядра для новой версии Chimbalix Linux.

-

Chimbalix Linux 24.1 Alphachi-Pre7

Ранее я столкнулся с проблемой поломанного "User Space" при обновлении ядра Linux до версии 6.8.х, но было не до конца ясно, насколько всё плохо с веткой ядра Linux 6.8, потому было решено всё проверить на реальном ПК:

Проверяю записанный на флешку образ перед установкой дистрибутива, и с этим проблем нет, ядро в данный момент используется 6.8.7-2 Liquorix, скриншоты делаю камерой смартфона, и плевать на хейтеров, что недовольны таким способом передачи информации:

Программу установки я не смогу проверить при автоматической разметке дисков, ибо у меня много разделов которые нельзя трогать, потому вручную выбираю нужный раздел для установки системы и отключаю костыль под названием файл подкачки, просто чтобы не мешался с моими 64 ГБ ОЗУ:

Не прошло и 10 минут как система установилась, и тут можно заметить, что система без каких-либо проблем автоматически перезагружается, как и положено, когда с изначальным ядром MX Linux 6.5 AHS часто можно было встретить просто чёрный экран ожидающий пока пользователь нажмёт Enter...

Так как я сейчас использую тестовый образ, который нигде не выкладывался в сети - на выбор есть три ядра Linux, начнём с Liquorix 6.8.7-2:

Первый запуск системы, сработал скрипт завершающий настройку системы и подготавливающий Wine префикс, с NVMe SSD это и пол минуты не заняло:

Итак, что первым делом нужно сделать? Правильно, нужно установить адекватный драйвер видеокарты вместо Open-Source хлама, буду устанавливать тот же драйвер, что и всегда использовал во время проведения сравнительных тестов, а именно полноценный CUDA 12.3.1 v545.23.08, пригодный для установки на автономных системах, учитесь AMD!

Так как в линуксе встроен конфликтный драйвер Nouveau, то отключаю его скриптом, правда есть проблема, сейчас у меня целых три ядра, а скрипт не тестировался в таких условиях, потому он не обновил конфигурацию для всех ядер Linux... Надо будет доработать скрипт:

Ну что, конфликтный драйвер Nouveau отключен, осталось установить нормальный драйвер видеокарты:

Впрочем, рано радоваться, с ядром Linux 6.8 драйвер не установился, увы, а ведь я говорил, что раз программа установки поломалась из-за ядра Linux - значит и другой софт может поломаться:

Эх, с пингвином 6.8 никто не хочет дружить, опять выдался уродец криволапый...

Очевидно что нет смысла проверять ядро Zabbly 6.8.7, результат будет предсказуемым, потому сразу перейду к ядру Zabbly 6.7.10, и драйвер видеокарты прекрасно установился:

Выбор очевиден, новая версия дистрибутива Chimbalix Linux будет с ядром 6.7, увы, но ядро 6.8 ломает тот самый "User Space", осталось проверить производительность в игре Forward to the Sky, благодаря встроенному Wine в моём дистрибутиве нет характерных для Linux танцев с бубном:

Ну что сказать, ядро Zabbly меня разочаровало, производительность получилась на уровне 25 FPS, а время кадра крайне нестабильно, результат даже хуже, чем у исходного ядра MX Linux 6.5 AHS:

Ладно, пора бы удалить ядра из ветки 6.8, и установить модифицированное ядро Liquorix 6.7.12, ибо обычное ядро Linux ну совсем печальные результаты показало:

Ну вот, с модифицированным ядром Liquorix совсем другое дело, около 36 FPS и время кадра уже гораздо более адекватное, да, это всё ещё далеко не уровень древней Windows 7, у которой было 53 FPS с тем же самым ПК, но всё же:

-18

Осталось проверить виртуальную машину VirtualBox, ибо она весьма капризна к ядру Linux, не забываю добавлять пользователя в группу vboxusers, без этого будут проблемы с доступом к USB шине, что кстати характерная проблема именно в среде Linux:

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

Пожалуй остановлюсь именно на ядре Liquorix 6.7.12.

Ну и подведём полученные результаты производительности, очевидно что производительность сильно зависит от ядра Linux, однако до уровня Windows ещё очень далеко, но выбранное для следующей версии дистрибутива Chimbalix ядро Liquorix 6.7.12 показывает лучший результат среди себе подобных:

-21

Хм, может сказать что-то вроде: Chimbalix дистрибутив Linux для игр... Хотя ладно, давайте не будем мучить и так замученных хейтеров, они не выдержат такой наглости.

-

Заключение

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

Каковы перспективы практически любого линукса, пока бурлит ад зависимостей, а разработчики постоянно всё ломают? Такие же, как и прошлые на протяжении почти 30 лет - биться в конвульсиях и быть популярным на уровне статистической погрешности в узких кругах, пока подавляющее большинство используют Windows и Mac OS.

Тем временем Windows 11 запускает приложения, что разрабатывались в 90x годах прошлого века, хотя уже сменилось не одно поколение ядра в промежутке между Windows 98 - Windows 11:

Как думаете, для какой платформы разработчик предпочтёт разрабатывать приложение, когда в среде Windows приложения 25 летней давности прекрасно работают, а в Linux бурлит ад зависимостей и постоянно всё ломают буквально за считанные годы?

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

Так и получается, что под Linux есть масса приложений "зомби", которые вроде и есть, но использовать невозможно, ибо невозможно удовлетворить зависимости в более новых линуксах, а более старые линуксы тоже использовать невозможно, ибо репозитории мертвы, да и тонна проблем совместимости с "железом" никуда не исчезает.

За серверный сегмент я не говорю, и особо не говорил, там Linux хорошо обустроился благодаря своей бесплатности, правда если бы Windows Server была так же бесплатна - у "пингвина" скорее всего не было бы и шанса на серверный сегмент, то же касается и мобильного сегмента, хотя там от "пингвина" только одно название...

Как говорится - «Linux бесплатен, только если ваше время не имеет ценности», хотя можно чуток видоизменить эту фразу для большего соответствия реальности...

«Linux бесплатен, только если ваше время и труд не имеют ценности».

Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.

-23