Почему Linux скорее мёртв, чем жив в настольном сегменте, а видеокарты AMD Radeon несостоятельны
Когда-то, можно сказать, я был фанатом AMD, если процессор то "красный", даже несмотря на то, что практически месяц просидел без ПК по вине вечно кривого AMD, когда купил Ryzen 5 1600 вместо Intel Core i7 6700К, спустя полгода после выхода "красных" на рынок, ведь новенький Ryzen отказывался работать с имеющимся модулем памяти DDR4, что остался после i7 6700K, дело решилось только когда заказал совершенно новый модуль памяти маленького объёма, чисто запустить систему и прошить самый последний из существующих BIOS...
реклама
А если видеокарта - обязательно предпочитал Radeon, особенно любил Sapphire, хотя практически каждую видеокарту этого горе-производителя приходилось дорабатывать напильником, исправляя многочисленные косяки BIOS, брак, и даже перепаивать систему охлаждения, буквально паяльным феном перепаивал радиатор чтобы видеокарта не превратилась в уголь от перегрева, ведь местами был заблокирован воздушный поток необходимый для охлаждения цепей питания:
Но продлилась эта глупость не особо долго, первые трещины фанатизма появились примерно с покупкой Sapphire R9 390X, что умерла от короткого замыкания ГП во время OpenCL теста, потом Radeon RX Vega 56, вроде бы и отличная карточка, правда крайне прожорливая, но артефакты в играх и на рабочем столе сильно пошатнули мой фанатизм к видеокартам AMD, и последний гвоздь в крышку гроба "красного лагеря" был забит отвратительной RX 5600M, до сих пор доставляющей проблемы в ноутбуке MSI Alpha 15:
реклама
А купленная GeForce GTX 1070, что по сей день отлично работает и поддерживается настоящим лидером в области видеокарт, окончательно прикончила все остатки моей глупости при выборе видеокарт, больше я не смотрел в сторону Radeon.
И так как я уже давно лично не имел дел с видеокартами AMD Radeon, было решено купить процессор Athlon 200GE со встроенным графическим процессором Radeon Vega 3 (AMD Radeon RX Vega 3), почему не полноценную видеокарту? Полноценная видеокарта слишком большая, и будет занимать много места, ведь в мой компактный ПК габаритным объёмом всего ~12 литров, увы, вторая видеокарта не влезет никак, а лишний процессор вполне можно прикрепить где-нибудь к крышке корпуса, чтобы всегда был под рукой и не валялся где попало:
реклама
Да и нет никакой разницы между встроенным ГП в ЦП, и ГП в полноценной видеокарте, ну кроме оперативной памяти, главное, что Vega 3 это всё та же Vega, пусть и обрезанная по количеству ядер, но с архитектурной стороны практически ничем не отличается от обычной Vega 56, или Vega 64:
Вероятно некоторые уже обратили внимание, что GTX 1070 на фотографиях выше работает в PCI-e x1 слоте, да ещё второго поколения...
Этому есть причина, ведь как оказалось - это характерная особенность AMD, выпускать мусор под видом нормальной продукции, да, Athlon 200GE далеко не всегда способен работать с дискретной видеокартой в слоте PCI-e x16, о проблеме было известно ещё в 2018 году, но "красные" оставили эту проблему на откуп производителям материнских плат, и я тот самый "счастливчик" в 2024 году, что столкнулся с этим:
реклама
Почему AMD Radeon это худший выбор для Linux, или как пришло время переустанавливать линукс
В чём проблема? Правильно, AMD выпустили процессор для AM4 платформы, который как я предполагаю, не способен одновременно работать и с видеокартой, и с NVMe SSD, причём единственное упоминание косвенно говорящее об этом нашлось только в разделе интерфейсов подключения накопителей:
По факту я, как потребитель, не получил информации о том, что процессор откажется работать с видеокартой в слоте PCI-e x16 при наличии NVME SSD, есть только информация о том, что NVMe SSD не будет работать с сериями AMD Athlon-series / 7th Gen и A-series или Athlon X4 APU.
Но проблема в том, что у меня не простой Athlon, а "Athlon with Radeon Vega Graphics Processors", то есть Athlon 200 серии, а про такую серию ничего не было сказано выше, в итоге у меня, как потребителя, были определённые ожидания на основе недостоверной / отсутствующей информации в спецификациях...
Я не ожидал что видеокарта заработает в PCI-e x16 режиме ни в коем случае, но в режиме PCi-e x4 уж точно должна была завестись, однако не завелась, увы, даже если принудительно отключить Vega 3, что по сути должно было освободить занятые в процессоре линии PCI-e, но не освободило...
Почему это всецело проблема AMD? Ну, я уже говорил, что владел процессором Intel Core i7 6700K, как и другими процессорами Intel, например Intel Celeron G3900, и у процессоров Intel всегда была встроенная графика (кроме i3 10105F), но это никогда не доставляло проблем с работоспособностью PCI-e x16 слота, ни при каких обстоятельствах, какие бы видеокарты не вставлял в PCI-e x16, слот работал полноценно и без проблем, даже несмотря на активную всегда встроенную графику Intel HD510-HD530:
Но сейчас я использую Linux вместо операционной системы, а вместо процессора установлено AMD с Radeon Vega... Хотя мне и удалось заставить работать Radeon под линуксом, но GTX 1070 так и осталась в слоте PCI-e x1, и это проблема, особенно когда вместо операционной системы используется Linux.
Конечно, GTX 1070 у меня как вторая видеокарта, но вывод изображения доступен только через Vega, ибо линукс не осилил дополнительный монитор подключенный ко второй видеокарте, а это дополнительный трафик через и так узкую шину PCI-e 2.0 x1:
Но эту проблему отложил на потом, куда важнее было наладить условия пригодные для проведения сравнительных тестов. В случае Windows может я и не знаю как принудительно задействовать конкретную видеокарту при запуске игр, но могу одним кликом мыши отключить любую видеокарту, тем самым принудительно заставляя использовать оставшуюся:
Да и в случае с Windows нет никаких проблем с двумя дисплеями подключенными к разным видеокартам, так что проводить сравнительные тесты одно удовольствие.
Но в среде Linux всё совсем иначе, "дряхлому пингвину" наверное ещё лет 20 нужно, чтобы догнать хотя бы уровень Windows 7... Впрочем, в моём дистрибутиве Chimbalix уже и так многое заточено для относительно нормальной работы, из коробки есть готовый к работе Wine Proton, даже Mangohud мониторинг можно запустить прямо через контекстное меню проводника, чтобы не заниматься мракобесием через терминал...
Однако мне хотелось иметь какой-нибудь другой линукс для сравнения, и такой у меня уже был, это Nobara 40 основанная на Fedora, но как показали тесты - Nobara оказалась непригодна для игр, в большинстве случаев только мой Chimbalix был способен хоть как-то конкурировать с Windows, когда Nobara неспособна была даже запустить ряд тестов, а где запускала - демонстрировала ужасный уровень производительности:
Как Chimbalix ненароком отобрал звание игрового линукса у Nobara Linux
Налицо проблемы с драйвером NVIDIA, что был предоставлен дистрибутивом Nobara, с таким драйвером невозможно проводить дальнейшие тесты, потому было решено установить официальный драйвер NVIDIA.
Пришлось потанцевать с бубном, чтобы удалить драйвер предоставленный дистрибутивом Nobara, и не обращайте внимания на квадратики вместо какого-то текста, это же линукс, тут в порядке вещей подобные косяки, особенно в tty режиме...
Основная проблема Nobara это её происхождение, ведь она произошла не от стандартного Debian, а от Fedora, а это злосчастное семейство Red Hat, в итоге имеющийся локальный драйвер всегда приводил к выпадению в "пустоту" при установке:
Я не хотел подключать к интернету Nobara Linux, чтобы попробовать драйверы из репозиториев линуксоидных, там наверняка уже с костылями под Red Hat должны идти, но бросил эту идею, ведь этот хлам даже без интернета уже достал навязчивыми принудительными уведомлениями, предлагающими установить обновления...
На этом жизнь Nobara закончилась, ведь с Nouveau даже рабочий стол был непригоден для какого-либо использования, 1 кадр в 3-4 секунды рисовался, настолько перегружено рабочее окружение KDE в паре с Wayland...
Да и в тот момент была отключена Vega, хотя если бы и была включена - не помогла бы, всё равно установить нормальный драйвер видеокарты оказалось невозможно, хотя ярые фанаты линукса наверняка обвинят во всех проблемах саму NVIDIA, но ни в коем случае не "прекрасный и пушистый" Red Hat Linux и вечно недоразвитый оригинальный Linux...
В итоге я пошёл искать игровые линуксы, просто чтобы не создавать очередной Chimbalix, а просто запустить - и оно было пригодно для использования и проведения тестов при минимальных телодвижениях:
Первой пошла Manjaro, тест на второй монитор она не прошла:
Драйвер используется NVIDIA, правда неизвестно насколько поломанный разработчиками дистрибутива, ведь Manjaro основана на Arch Linux, а эта основа тоже далеко не лучшая, по крайней мере в реализации данного конкретного линукса:
Настоящие проблемы начались при попытке монтирования накопителей с NTFS файловой системой, увы, но Manjaro уже на данном этапе стал непригодным для установки вместо поломанной Nobara:
В общем проверяю ChimbaBench, в том числе при помощи десятиэтажного заклинания (переменные __NV_PRIME_RENDER_OFFLOAD=1 и __GLX_VENDOR_LIBRARY_NAME=nvidia), необходимого для переключения OpenGL на вторую видеокарту...
Однако снова вижу странное ограничение FPS на уровне 111 и отсутствие Wine, а значит придётся заняться танцами с бубном, чтобы установить это приложение в Manjaro, короче отметаю дистрибутив как абсолютно непригодный даже для проведения сравнительных тестов, просто не хочу связываться с ним, я ещё не забыл как Manjaro ломалась сама по себе при установке драйверов через официальную контрольную панель дистрибутива:
Следующим линуксом был Drauger OS, первым делом проверил "второй монитор" и он заработал, я не сразу понял почему именно, но позже выяснилось, что линукс таки способен вывести изображение на второй монитор подключенный ко второй видеокарте, но только при условии если обеими видеокартами заведует один драйвер.
Тут видеокартой GTX 1070 заведует нефункциональный Nouveau, а он работает под кривой Mesa3D, потому собственно и второй монитор заработал... По сути если видеокартой заведует отдельный, адекватный драйвер NVIDIA - линукс сразу обламывается, линуксоиды, конечно же, скажут что это сама NVIDIA виновата, но по факту это проблема Linux, и проявляется она одинаково во всех проверенных дистрибутивах:
В конце концов у Windows нет никаких проблем при одновременной работе двух разных видеокарт с разными драйверами, а в Linux есть, это было странно, но теперь стала понятна причина...
Впрочем, у Drauger OS есть серьёзная проблема, да, этот мусор называемый "операционной системой" меня просто взбесил, какой придурок вообще решил установить нестандартный root пароль отличающийся от "live" или "root" / "user", при этом не предупредить пользователя об этом идиотизме перед скачиванием?
Хотя нестандартный root пароль это ещё половина беды, Drauger OS оказалась неспособна подключить диски в файловой системе NTFS, сразу в помойку такой линукс:
Ради интереса ещё побаловался со вторым монитором, но этот хлам постоянно зависал на минуту при переключении монитора, похоже вечно кривой Wayland в этом виноват, ведь даже в моём дистрибутиве Chimbalix такого мракобесия не происходило, чтобы система намертво зависала при переключении мониторов, да, тормозило, но не зависало:
Тем временем "игровой" Drauger OS не только намертво зависает постоянно, но и тормозит после переключения мониторов:
Ну а программа установки Drauger OS это вообще отдельный вид издевательства над пользователем, она абсолютно непригодна для установки рядом с уже существующими операционными системами, или если пользователю нужно сохранить имеющиеся посторонние разделы в пределах диска, настолько кривую и нефункциональную программу установки нужно ещё постараться сделать:
Не можете осилить свой установщик? Ну не делайте хрен огородный знает что! Возьмите пример хотя бы с меня, просто доработайте что уже есть! Зачем городить настолько нефункциональный хлам, тем более при наличии уже готовых решений, хоть и далёких от идеала...
Просто в помойку такой линукс, без вариантов.
Следующим было решено проверить дистрибутив "попса":
Брр, слишком много терминала на квадратный пиксель...
Не успел дистрибутив Pop OS полностью загрузиться - как начал радовать меня зависающей программой установки, в плохом смысле этого слова:
Собственно проверяю второй монитор, и он не заработал, ведь драйвер nvidia, а Linux слишком недоразвит, чтобы нормально работать при наличии нескольких разных драйверов для разных видеокарт:
Проверил Wine, но мне предложили установить какой-то древний репак Wine версии 6.0, разумеется через репозитории, которые недоступны без интернета, а я не рискну каждому линуксу подряд давать доступ в сеть вот так сразу:
В целом этот линукс гораздо более работоспособен, чем предыдущий Drauger OS, по крайней мере NTFS диски подключились, однако это GNOME меню хоть и не вызывает рвотные рефлексы, но помойка знатная:
Меню самая настоящая свалка, всё в одной куче, и вложенные категории наверняка через костыли будут работать, ведь GNOME не особо следует XDG стандартам, я не смогу этим нормально пользоваться, увы...
К слову, проблема 111 FPS на месте при использовании второй видеокарты, и тут я уже начал понимать откуда эта проблема вообще взялась, но об этом позже:
Меня бесят Activities вместо полноценного рабочего стола, но я ведь не для использования ищу линукс, а чисто ради сравнительного тестирования на пару с Chimbalix, потому пробую установить:
Программа установки выглядит как нефункциональный хлам, какого чёрта открывается GParted при нажатии кнопки ручной разметки? Какого чёрта эта программа установки вообще зависла?
Короче отправляется в мусорку Pop OS...
Меня уже достали эти все "игровые" линуксы, но было решено проверить ещё один, однако зарёкся, что если он окажется таким же мусором, как и предыдущие, то вообще не буду устанавливать дополнительные линуксы... Ну а сравнительные тесты буду проводить исключительно между Chimbalix и Windows, ведь это единственные известные мне операционные системы, которыми действительно можно пользоваться.
Короче, следующим было решено проверить Sparky Linux, взял XFCE версию, чтобы не издеваться над собой используя неадекватно перегруженный KDE, или боже упаси GNOME:
Второй монитор работал, но тут и драйвер Nouveau за GTX 1070, а он работает в пределах кривой Mesa3D, NTFS диски монтируются, пока что это самый приятный линукс из проверенных, иногда даже проскакивала мысль сделать новую версию Chimbalix именно на его основе, но не будет спешить:
Иду проверять ChimbaBench, на этот раз вместо десятиэтажного заклинания использую переменную DRI_PRIME, почему? Да потому что сейчас отвечает за графические API кривая Mesa3D, в любых иных случаях DRI_PRIME работать не будет, увы, и позор линуксоидам, которые этого нюанса не знают, но бросаются яростно на других людей тыкая переменной DRI_PRIME как лекарством от всех проблем...
Но тут поговорим про странное ограничение FPS при использовании второй видеокарты, здесь окончательно стала ясна причина такого странного поведения, и это шина PCI-e 2.0 x1, ведь в линуксах второй монитор обычно не работает подключенный ко второй видеокарте, а значит готовую картинку нужно перегнать обратно в процессор через узкую шину PCI-e x1, что собственно и определяет максимальный FPS независимо от производительности видеокарты:
Да, шины хватает, чтобы перегнать только 111 кадров за секунду в разрешении 1280x720, при снижении разрешения и максимальное количество кадров за секунду увеличивается, ведь каждый кадр требует меньшей пропускной способности шины.
Эту зависимость можно отлично увидеть просто меняя разрешение какой-нибудь игры. При разрешении 720x480 выходит перегнать около 220 FPS, при 1280x800 уже всего 102 FPS, а при 1920x1080 предел на уровне 51 FPS. Вот так шина PCI-e x1 лимитирует FPS, когда вывод изображение происходит через другой ГП, а не напрямую на монитор:
Именно из-за шины PCI-e x1 у меня в тестах ранее получился лимит 100 FPS под линуксами, когда в среде Windows эта же видеокарта была способна выдать все 740 FPS, ну и производительность тяжёлого теста Coronavirus 2020, как оказалось, тоже значительно снижена по вине шины, ведь линукс не может вывести изображение на второй монитор, а значит оно гонялось через шину, но шина нужна ведь не только для передачи картинки для вывода на монитор, по-хорошему она вообще не должна таким заниматься...
Почему AMD Radeon это худший выбор для Linux, или как пришло время переустанавливать линукс
Но вернёмся к Sparky Linux, попытался я значит установить его, но обломался:
Такой же идиотский установщик использовался в дистрибутиве Nobara, мне уже знаком этот идиотизм с ручной разметкой дисков, когда оно не принимает никакие параметры, даже если всё выставлено согласно указаниям:
И у меня уже не было времени продолжать данное мракобесие с очередным линуксом, так что пришлось продолжить позже...
Закончив важные дела - сразу запускаю Sparky Linux в режиме UEFI, ибо в MBR, скорее всего, ничего не выйдет:
Особенно меня порадовала возможность выбрать локализацию и единицы измерения в формате "C" (си):
Разметил диск и начал установку, ошибок не было:
Пока система устанавливалась - я баловался с мониторами, увы, но всё тормозит и рассыпается артефактами, классическое поведение в среде Linux при наличии двух видеокарт с подключенными мониторами, я абсолютно не удивлён этому, спасибо хоть не зависало намертво, как в Drauger OS:
Однако в конце установки система выдала ошибку, мол, не может установить загрузчик... Короче начались очередные танцы с бубном на ровном месте, типичный линукс:
Наконец подобрав подходящую последовательность ударов в линуксоидный бубен - получаю очередную ошибку в самом начале установки, хорошо хоть не в конце... Короче ещё немного потанцевав с бубном и началась установка системы:
Аллилуйя! Наконец "оно" установилось! Уж извините, не могу позволить себе тут материться как сапожник:
Уже в установленном линуксе играюсь со вторым монитором, какая же красота... Когда окна разрываются на треугольники и квадраты, а ведь это очень старая проблема Linux, ей больше 10 лет уже:
В общем отключаю второй монитор и приступаю к подготовке, копирую нормальный драйвер NVIDIA в домашний каталог, блокирую нефункциональный Nouveau, и перезагружаю систему:
Но пока сходил на кухню - установка выдала ошибку:
Я просто забыл отключить менеджер дисплея, работать с утилитой для сервисов systemd крайне неприятно, ибо приходится прописывать руками название сервиса, но пробую снова:
На этот раз проблема оказалась явно не в менеджере дисплея, вот это уже интересно и необычно, так что иду смотреть логи, благо NVIDIA умеет вести адекватные логи:
Я ожидал увидеть классическую ошибку отсутствия GCC компилятора, но нет, компилятор на месте... Проблема в ядре Linux, точнее в отсутствии заголовочных файлов необходимых для сборки DKMS модулей! У меня только один вопрос, какую отборную дичь курили разработчики Sparky Linux, когда собирали этот дистрибутив "искристого пингвина"?
Для тех, кто не понял, без заголовочных файлов невозможно собрать не только драйверы NVIDIA, но и AMD, и VirtualBox, и вообще всё что угодно может не собраться...
Хорошо что этот дистрибутив основан на Debian 12, локальный репозиторий которого у меня есть в наличии, правда GUI утилита GDebi оказалась практически непригодной для использования, я уже пытался сделать выборку нескольких пакетов сразу, и она не справилась с задачей как должна была, брр:
Так что иду в терминал и начинаю колдовать десятиэтажные заклинания, ничего необычного, это же "пингвин":
Снова останавливаю менеджер дисплея и устанавливаю нормальный драйвер NVIDIA:
Если бы разработчики дистрибутива оказались чуть умнее, то мне не пришлось бы руками устанавливать заголовочные файлы ядра и то у меня под рукой был локальный репозиторий с подходящими пакетами, потому смог это сделать без проблем, а если бы не было - пришлось бы подключать интернет и начинать мракобесие через менеджер пакетов, просто издевательство...
Впрочем, это всяко проще оказалось, чем просто установить драйвер видеокарты AMD в линуксе.
Да, теперь линукс не может вывести изображение через нормальный драйвер видеокарты, по идее нужно потанцевать с файлами конфигурации, чтобы заставить работать со второй видеокартой и подключением дисплея, но как-нибудь потом займусь:
Проверяю ChimbaBench, и теперь DRI_PRIME бесполезен, ведь помимо Mesa появился нормальный драйвер NVIDIA, а DRI_PRIME действует только в пределах кривой Mesa, короче система наконец стала пригодна для сравнительных тестов:
Ну... Почти пригодна, нужно ещё решить проблему 32 битных библиотек, ибо судя по размеру Sparky Linux - там нет 32 битных библиотек, крайне необходимых для ряда игр и приложений, так же нужно установить Wine Proton, собрать префикс с DXVK и прочими костылями, короче ещё много всего нужно сделать.
Извольте, но я устал, не хочу сразу за это всё браться сейчас...
-
--
Заключение
Почему Linux мёртв в настольном сегменте? Неужели у кого-то ещё остался такой вопрос после всего, через что мне пришлось пройти, чтобы найти хоть какой-то минимально работоспособный линукс для установки рядом с Chimbalix? Чтобы в будущем его использовать как альтернативу при сравнительных тестах...
А ведь мне ещё нужно решить проблему "второго монитора" в основном используемом линуксе, иначе приходиться блокировать AMD Radeon через BIOS, чтобы "пингвин" мог вывести изображение на монитор через дискретную видеокарту, и не терялась производительность на шине PCI-e x1.
Ладно, на этом завершу статью, нужно отдохнуть от этого линуксоидного мракобесия...
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила