Как разработчики Linux называют производителей железа ПК «паразитами» и к чему это приводит
Новый OpenCL-бенчмарк под названием ChmbaBenchCL уже показал себя как полезный и удобный инструмент для тестирования видеокарт. А недавно была выпущена новая версия бенчмарка под номером 1.1, где были внесены незначительные исправления и добавлены новые функции.

Источник: собственная иллюстрация
реклама
У меня уже есть планы по разработке нового функционала, однако с момента выпуска последней версии не прошло и недели. Да, я не удержался и собрал пригодные для использования исполняемые файлы для 32-битной архитектуры x86, работающие начиная с Windows XP.

Источник: собственное фото
Даже скомпилировал бенчмарк для 32-битного Linux, потому что я не линуксоид, чтобы бросать пользователей с каким-то непонятным исходным кодом вместо нормальных исполняемых файлов. Только для 32-битной FreeBSD нет варианта, потому что там и в 64-битной экосистеме всё очень печально с пользовательским опытом.

реклама
Источник: собственное фото
В остальном это тот же ChimbaBenchCL v1.1, только для x86-архитектуры, и на этом с разработкой было решено повременить, пока не будет проведено достаточное количество тестов, чтобы выявить недостатки и недостающий функционал.
Сейчас у меня есть две AMD Radeon HD 4870 с отвалом чипов из-за того, что платы со временем изогнулись под действием гравитации. Думаю, они ещё протянут на пару тестов без основательного ремонта. Но есть у меня ещё и Radeon RX 570, для которой драйверов официально просто не существует под Windows XP.
![]() |
![]() |
Источник: собственное фото
реклама
Впрочем, рядом лежит маленькая NVIDIA GeForce GTX 750, под которую есть официальные драйверы для Windows XP. Более того, я буду использовать не самую свежую версию драйвера — 340.52, чтобы сохранить совместимость, начиная с GeForce 8000-й серии и заканчивая GTX 700. Драйвер 368.81, конечно, поддерживает ещё и GTX 950/960 официально, но использовать его я пока не буду. А неофициально можно найти драйвер под XP и на линейку GTX 900/1000, чего для RX 470/570 не нашлось на просторах сети. Но минимальный порог там начинается с GTX 400, а мне нужна совместимость с гораздо более старыми картами.
Начнём же тестирование с компьютера, в котором уже установлена GeForce GTX 570. Снизу есть второй ПК с другой системной платой и 8 гигабайтами ОЗУ, но он работает хуже первого ПК с 4 гигабайтами. Впрочем, ко второму ПК мы ещё вернёмся, потому что там есть встроенная графика GeForce 8200, которую было бы интересно проверить.

Источник: собственное фото
Более того, на этом компьютере с материнской платой Biostar есть достаточно много параметров, отвечающих за работу шины PCI Express. Так я смогу проверить зависимость бенчмарка от скорости шины и процессора.
![]() |
![]() |
![]() |
реклама
Источник: собственное фото
Однако тестирование начнём с Windows XP.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Источник: собственное фото
Таким образом, была протестирована GeForce GTX 570 в трёх разных версиях Windows. Причём x86-версия бенчмарка показала такой же результат, как и 64-битная версия. Результаты получились настолько точными и стабильными, что не отличались ни на гигафлопс. Это отличный повод поковыряться с параметрами шины PCI Express и процессора, чтобы выявить возможные зависимости.
![]() |
![]() |
![]() |
![]() |
Источник: собственное фото
А что насчёт Linux? Чистый Linux с драйвером Nouveau бесполезен. Увы.
![]() |
![]() |
Источник: собственное фото
Я даже проверил пачку других дистрибутивов, но там даже CPU-драйвера не было для работы с OpenCL; только в дистрибутиве Nobara нашлась платформа rusticl от проекта Mesa, да только она бесполезна, потому что не работает с процессором. Просто мусор, характерный для Linux в целом.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Источник: собственное фото
Я даже подключил SSD с дистрибутивом, на котором уже когда-то устанавливал драйвер NVIDIA из репозиториев, только OpenCL API, судя по всему, в комплект не входил. Увы.
![]() |
![]() |
![]() |
![]() |
Источник: собственное фото
Проблема в том, что старый фициальный драйвер NVIDIA 340 невозможно установить с ядром Linux 6.8 из-за того, что в ядре Linux постоянно нарушают обратную совместимость, попутно называя разработчиков сторонних драйверов «паразитами» («stable API nonsense»). А потом некоторые удивляются, почему Linux на протяжении десятилетий как был чем-то убогим, нестабильным и непригодным для использования, так и остается по сей день.

Ну а дальше я пошёл удалять линуксоидные драйверы и устанавливать более старое ядро Linux 6.1, чтобы установить полноценный официальный драйвер вместо непригодного для полноценного использования мусора из репозиториев.
Источник: собственное фото
![]() |
![]() |
![]() |
![]() |
Источник: собственное фото
Однако я либо удалил что-то лишнее по зависимостям линуксоидного пакетного менеджера и не заметил, либо не установил что-то нужное. В общем, Linux в очередной раз оказался сломан и отказывается принимать старый драйвер видеокарты даже с ядром версии 6.1.
![]() |
![]() |
![]() |
Источник: собственное фото
Конечно, с GTX 570 можно было установить драйвер серии 4xx, и он установился бы даже с ядром 6.8, потому что NVIDIA, в отличие от AMD, поддерживает своих пользователей драйверами на протяжении 11-12 лет в среде «дряхлого пингвина». Но я хотел ещё протестировать 9500 GT, для которой нужен драйвер версии 340.
К чему эта несостоятельность разработчиков ядра Linux приводит на практике? Правильно, мне нужно устанавливать и подготавливать три отдельных дистрибутива Linux под разные версии драйверов. Почему три? Потому что в первых двух нужно через танцы с бубном впихнуть старые драйверы, а третий — под современные версии драйверов. Про видеокарты AMD и Intel я даже не заикаюсь, ибо там: что прибили гвоздями к дистрибутивам Linux, с тем и придётся жить, в отличие от NVIDIA. Переустанавливать драйверы в Linux — это сущий ад.
Поэтому Linux у нас по большей части пролетает мимо в данном тестировании, ибо установка и настройка дистрибутивов потребовала бы написания отдельной статьи, чтобы осветить «танцы с бубном» и весь происходящий в процессе геморрой. Это вам не Windows, где можно просто установить любой другой совместимый драйвер. Да, бывают драйверы отвратительного качества, например, у AMD Radeon. Но там и специальные утилиты вроде DDU есть, позволяющие вычистить «кривые» драйверы. Это все равно многократно лучше любого Linux с идиотскими философиями, где драйверы обязательно должны быть под вирусной лицензией GPL и вшиты в ядро, а все остальные — «паразиты».
Продолжая эксперименты, я урезал шину PCI Express до 4 линий вместо 16, однако это никак не повлияло на результаты GTX 570 в тесте ChimbaBenchCL. После я урезал шину до одной линии; повлияло ли это на результаты бенчмарка?
![]() |
![]() |
![]() |
Источник: собственное фото
Даже с урезанной шиной PCI Express x1 мой бенчмарк ChimbaBenchCL всё равно выдавал уверенный и стабильный результат. Только когда я взял MSI Afterburner и разогнал видеокарту, это повлияло на результаты. Причём прибавка соответствует степени разгона.
![]() |
![]() |
Источник: собственное фото
А потом я достал NVIDIA GTX 570 и вставил в компьютер RX 570 вместо видеокарты. Почему такое пренебрежительное отношение? Да потому что достала меня уже AMD с её вечно кривыми драйверами.

Источник: собственное фото
Почему-то OpenCL API сломался в драйверах AMD Adrenalin 26.1. А ещё видеокарта отказывается работать с шиной в режиме PCI Express x16, работает только в режиме x8. Плюс оболочка BIOS заметно лагает с видеокартой от AMD, с картой от NVIDIA всё летало. Зачем? Почему? Как? Что не понравилось «красной» видеокарте? Так много вопросов, и так мало ответов...
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Источник: собственное фото
Но я не сдавался в борьбе с проклятым AMD Radeon и переустановил драйвер видеокарты, после чего OpenCL API вернулся на место. Только шина так и не заработала на полные 16 линий.
![]() |
![]() |
![]() |
Источник: собственное фото
Ну а потом я провёл тесты и выяснил, что видеокарта поддаётся разгону, только целочисленный тест INT32 не прибавил количества операций в секунду в результатах после разгона. А когда я переключил шину PCI Express в режим x1, результаты целочисленных тестов упали на дно. Это говорит о том, что архитектура видеокарт и драйверы AMD настолько низкого качества, что встают в сильную зависимость от шины PCI Express. И это при том, что сама же AMD режет шину PCI Express аж до уровня x4 в своих современных видеокартах, когда NVIDIA даже до уровня x8 обрезает очень неохотно.
![]() |
![]() |
![]() |
![]() |
Источник: собственное фото
Этот тест объяснил неожиданно низкие целочисленные результаты на другой материнской плате, ведь там RX 570 тоже работала в режиме x8, только версия шины была 1.1, а в текущей тестируемой материнской плате шина версии 2.0 (в два раза быстрее при равном количестве линий).
Кстати, как там поживает Radeon RX 570 под управлением Linux? Да никак: OpenCL API недоступен. Классика AMD, потому что не осилили нормальных драйверов. Только в дистрибутиве Nobara заработал OpenCL, но драйвер Rusticl настолько паршиво работает, что не поддерживает расширения FP16 и FP64, а задержки доступа к памяти огромные — 629 наносекунд, что в два раза больше, чем было под управлением Windows. Да и FP32 с использованием инструкций FMA неадекватно маленький результат выдал с линуксоидным драйвером OpenCL (rusticl).
![]() |
![]() |
Источник: собственное фото
И да, Nobara Linux настолько сильно тормозит на старом компьютере, что даже диспетчер задач работает как невменяемый. Я уже не говорю о том, что загружался этот Linux дольше, чем даже Windows 10. Меня бесила Windows 10 своей долгой загрузкой на данном тестовом ПК, но, запустив Linux под названием Nobara с видеокартой от AMD, я чуть не уснул, дожидаясь рабочего стола. С видеокартой NVIDIA GTX 570 всё работало как-то шустрее, даже несмотря на бесполезный драйвер Nouveau.
В прочих дистрибутивах Linux, установленных на тестируемом компьютере, нет ничего интересного, потому что там вообще нет никакого OpenCL, кроме Chimbalix.
Результаты
Традиционно делаю таблицу с результатами, из которой прекрасно видно, что видеокарта от NVIDIA не проявила никакой зависимости от пропускной способности шины PCI Express. Тем временем Radeon показала очень сильную зависимость, что говорит об ужасном качестве драйверов и архитектуры у видеокарт AMD.

Источник: собственный скриншот
Если перевести данные в наглядные графики, можно заметить, что хуже всего показала себя Radeon RX 570 с линуксоидным драйвером Rusticl, потому что он не поддерживает ни FP16, ни FP64 расширения, а в тесте Image Blur производительность значительно ниже положенного. Иронично получилось, учитывая, как линуксоиды ненавидят проприетарные драйверы для железа ПК. Даже GTX 570 поддерживает FP64 и выдаёт сравнимую производительность с гораздо более новой RX 570.

Источник: собственный скриншот
В вычислительных тестах Radeon RX 570 показала себя тоже очень плохо. Не знаю, насколько некомпетентными нужно быть разработчикам драйверов, чтобы достичь такого сильного падения производительности при урезании пропускной способности шины PCI Express, но разработчики AMD смогли. Хотя разработчики линуксоидного OpenCL-драйвера пошли ещё дальше и уронили производительность FP32-FMA на самое дно, которого не каждый центральный процессор достигал. При использовании инструкций FMA видеокарта RX 570 в лучших условиях даже с разгоном едва дотягивает до гораздо более старой GTX 570.

Источник: собственный скриншот
Не знаю, глупость разработчиков это или «гениальность» маркетологов AMD, но, учитывая, как эта компания урезает шину PCI Express до x4 в ряде гораздо более мощных видеокарт, вроде RX 6500 XT, такая зависимость и жёсткое падение производительности, выявленное с видеокартой RX 570, выглядит как злонамеренное вредительство и запланированное устаревание. Тем более с видеокартой NVIDIA такой зависимости выявлено не было.

Источник: собственный скриншот ресурса en.wikipedia.org
Следовало бы провести гораздо больше тестов, но у меня уже появилась идея по внедрению нового теста в OpenCL-бенчмарк под названием ChimbaBenchCL. Какой же тест я хочу внедрить? Правильно, это будет тест, измеряющий пропускную способность шины PCI Express. Ведь, как показала практика, компания AMD выпускает весьма посредственные продукты с неожиданными проблемами, которые обретают чёткую связь только при всестороннем тестировании.

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























































