Найти тему
OVERCLOCKERS.RU

LLVMpipe проблема современных дистрибутивов Linux

Оглавление

Однажды я выпустил ChimbaBench v2.2, там добавил тест GPU Heavy (v0.5) специально для нагрузки видеокарт:

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

Можно было бы сказать что во всём виновата виртуальная машина, и вообще на реальном ПК проблем не будет якобы... Однако есть одно "НО", как-то я запустил Ubuntu 13.04 в виртуальной машине, а в ней ChimbaBench v2.2, ради прикола включил тест GPU Heavy (v0.5), каково же было моё удивление когда ничего не зависло и всё нормально заработало!

И тут я понял, дело не в том что тест GPU Heavy слишком сложен чтобы его осилил процессор без помощи видеокарты через драйвер LLVMpipe, нет, на самом деле это современные дистрибутивы Linux с современными версиями драйвера LLVMpipe не способны осилить тест GPU Heavy...

Simply Linux 10.1

Начну с данного дистрибутива просто потому что он первый попался под руку среди множества других:

-3

У данного дистрибутива драйвер на основе LLVM 11.0.1 (256 bits), и тест GPU Heavy невозможно запустить, приложение намертво зависает и закрыть возможно только через диспетчер задач, операционная система ничего не делает при попытке закрыть приложение крестиком, всё аналогично и в режиме OpenGL 2.0:

Короче дистрибутив не осилил...

Debian 11.6.0 xfce +nonfree

Дальше Debian, здесь тоже драйвер на основе LLVM 11.0.1, но при этом тест GPU Heavy был запущен и работает:

И тут я задумался, а вдруг проблема Simply Linux в настройках виртуальной машины? Ведь в Debian завелось же! Но нет, я просто зря потратил время подбирая настройки виртуальной машины для Simply Linux, без вариантов зависает и висит длительное время, я даже количество ядер выделял побольше, тоже никак не помогло осилить тест GPU Heavy:

-6

В общем Debian справился, это радует, однозначно зачёт, а вот Simply Linux незачёт.

Fedora Workstation 37-1.7

У Fedora LLVMpipe на основе LLVM версии 15.0.0 (256 bits), и версия явно более свежая, однако это никак не помогло осилить GPE Heavy тест, увы:

На кнопку закрытия тоже никак не реагирует система, приложение просто намертво зависло и висит...

OpenSUSE Leap 15.4 Build 31.98 - KDE

Настало время Суслика! И здесь всё отлично, "Суслик" осилил тест GPU Heavy! Хотя версия LLVM 11.0.1 далеко не самая новая, выходит не в LLVM версии дело, а проблема в самом LLVMpipe драйвере у других дистрибутивов:

Похоже мне нужно будет составлять таблицу работоспособности дистрибутивов.

EndeavourOS Cassini Neo 22.12

Увы, Нео уже не тот, не осилил тест GPU Heavy, сколько бы я не ждал... Версия LLVM при этом 15.0.7 (256 bits), но разве это что-то меняет? Закрыть зависшее приложение без помощи диспетчера задач, как обычно, нельзя, даже не знаю, стоит ли дальше упоминать про этот типичный факт:

Однозначно незачёт.

Parabola LXDE 2019.6

Вот и настала очередь свободного дистрибутива, интересно, осилит ли он тест GPU Heavy? Да, этот дистрибутив осилил тест, правда запускался довольно долго, но запустился:

Версия LLVM 8.0 (128 bits).

Rosa Fresh Plasma 5 - 12.2

Роса тоже справилась с задачей, тест запущен и работает:

Версия LLVM 12.0.1 (256 bits), идём дальше.

Pure OS 10 GNOME

Пюрешка, что может быть вкуснее пюрешки? Ладно, запускаю тест и он работает! Меня это очень радует, особенно тот факт, что не возникло никаких проблем с позиционированием окна при изменении разрешения в настройках бенчмарка:

Однозначно зачёт, версия LLVM 11.0.1 (256 bits).

SalentOS 14.04.2 Full

Далее я дёрнул старичка, и он осилил без проблем тест GPU Heavy, правда в режиме OpenGL 2.0 ибо драйвер большее не поддерживает, тем не менее:

Версия LLVM 3.4 (128 bits), а ещё можете полюбоваться на кривые обои рабочего стола, только в дистрибутивах Linux такое счастье можно нынче обнаружить, даже за Windows XP я такого не припомню...

В любом случае это зачёт.

Slackware 15.0

Время Слаки! К сожалению этот дистрибутив не осилил мой тест ни в режиме OpenGL 2.0, ни в режиме OpenGL 3.0, и LLVM 13.0.0 (256 bits) не помог никак:

К сожалению зависшее приложение всё так же невозможно было закрыть без помощи диспетчера задач.

Trisquel 11 MATE

Трещотка в моём нелюбимом исполнении MATE, без помощи диспетчера задач зависшее приложение так же не удалось закрыть, думаю нет смысла объяснять что произошло:

LLVM версии 15.0.6 (256 bits).

Trisquel 11 KDE

Второй шанс трещотки! И она его упустила, висит намертво:

Ubuntu 13.04

Дед выходит на арену и легко раскидывает всех предыдущих неудачников! Даже выдавил 2-3 FPS при разрешении 360p, когда SalentOS с более новым LLVMpipe едва 1 FPS вытягивала имея такое же количество ядер в распоряжении! Да, в режиме OpenGL 2.0 работает, но чего ещё было ждать от Galliun 0.4:

Версия LLVM 3.2 (128 bits).

Ubuntu 14.04.5

Сынок 13 убунты тоже справился, и даже вытянул OpenGL 3.0 версию теста, к качеству изображения конечно есть вопросы, есть засветы которых быть не должно, но оно работает:

Драйвер Gallium 0.4, версия LLVM была 3.8 (128 bits).

Ubuntu 22.04.1

А вот современный малыш к сожалению не справился с тестом GPU Heavy, ещё обновлениями назойливо надоедает, хотя доступ к интернету заблокирован, а в настройках обновления максимально отключены, вот вам и современные дистрибутивы:

Однозначно незачёт, кстати, версия LLVM 13.0.1 (256 bits).

Red OS Murom 7.3.2

Далее идёт богатырь, но силёнок оказалось маловато и GPU Heavy тест одержал верх, приложение висит намертво, и без диспетчера задач не закрыть:

В общем никак, нужно больше кушать каши... Версия LLVM... Да кому она уже нужна? Ладно, версия 12.0.1 (256 bits).

Wubuntu 11.3.3 u22.04.2 KDE

Клон настоящей Windows выходит на сцену! И сразу же уходит с позором:

Версия LLVM 15.0.7 (256 bits).

И на этом пожалуй хватит, остались только 32 разрядные дистрибутивы, но их я не буду уже проверять...

Результаты

Пришло время подвести итоги:

-22

Итого среди современных дистрибутивов 8 провалили тест и 4 прошли, то есть провалило тест в 2 раза больше современных дистрибутивов чем прошло, Trisquel 11 MATE/KDE я посчитал как один дистрибутив, и Parabola LXDE я не учитывал так как он не совсем современный.

Среди древних дистрибутивов 3 из 3 прошли тест, как и Parabola ещё не совсем древняя, но уже и не совсем современная.

Если грубо подсчитать без учета самых древних дистрибутивов, то выходит 9 провалов на 5 успехов.

Каков из этого всего можно сделать вывод? Я могу предположить только два варианта:

1) Разработчики ряда современных дистрибутивов откровенно накосячили, как следствие проблемы с работой приложений использующих встроенный в дистрибутив драйвер LLVMpipe.

2) Разработчики ряда современных дистрибутивов собрали/использовали драйвер LLVMpipe который не удовлетворяет спецификации OpenGL 2.x/3.x, как следствие зависание при попытке запустить тест GPU Heavy требующий чуть больше чем самый минимальный базовый функционал OpenGL.

В любом случае это проблема, и она существенная, особенно если дистрибутив нужно установить на ПК без полноценной видеокарты. В таком случае драйвер LLVMpipe обязан помогать используя процессор для работы, но на практике всё очень печально вышло, драйвер который по сути должен был заменить нефункциональную видеокарту сам оказался нефункциональным в ряде дистрибутивов...

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

-23

📃 Читайте далее на сайте