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
реклама
Начну с данного дистрибутива просто потому что он первый попался под руку среди множества других:
У данного дистрибутива драйвер на основе 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:
В общем 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 разрядные дистрибутивы, но их я не буду уже проверять...
Результаты
Пришло время подвести итоги:
Итого среди современных дистрибутивов 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.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила