LINUX.ORG.RU
ФорумTalks

Как я nvidia на radeon менял

 , ,


1

3

Краткая предыстория: с начала времён я пользовался продукцией зелёных. 440mx -> 8600gt -> 550ti -> 750ti -> 1050ti. Пользовался проприетарным драйвером, т.к. только он нормально мог в 3D.

У радеона как-то смущало качество драйверов, хотя прогресс шёл.

В итоге я купился на новости и поменял свою 1050ti на Radeon RX 5500. В качестве драйвера взял дефолтный radeon (upd: на самом деле amdgpu).

И сразу к впечатлениям:

  • С драйверами всё очень просто. Нужна только mesa и библиотека для Vulkan. Никаких dkms-модулей, всратых nvidia-settings и настроек в xorg.conf
  • Производительность OpenGL и Vulkan субъективно не хуже нвидии. Сложно сравнить, потому что предыдущая карточка была менее мощной. Стало на треть больше попугаев в PassMark, а FPS в игорах вырос местами даже сильнее.
  • С ходу завёлся sway-wm. Для тех кто не в курсе - nvidia обделила нас такой возможностью
  • Запустил навскидку несколько игор. Всё, что работало на nvidia, работает и на radeon. В том числе и под вяленым
  • В общем-то за полдня я не смог найти сценария, чтобы что-нибудь упало/не_завелось/тормозило

Мораль: AMD круто, цена/качество железа на уровне нвидии, а драйверы объективно лучше.

У меня всё!

★★★★★

Последнее исправление: melkor217 (всего исправлений: 1)
Ответ на: комментарий от te111011010

А вайланду радеон научили?

Научили, полёт нормальный.

Причём есть нормальный GBM вместо EGLStreams, в который могут не все композиторы, и то криво-косо.

melkor217 ★★★★★
() автор топика
Ответ на: комментарий от Meyer

Может, все-таки amdgpu?

Век живи - век учись -_-

Kernel driver in use: amdgpu

melkor217 ★★★★★
() автор топика
Ответ на: комментарий от anti_win

vp9 есть еще с 7хх gtx.

Нет, с gtx950, причем старшие версии типа gtx970 не умеют аппаратно декодировать vp9 потому как чип был выпущен раньше.

Aber ★★★★★
()
Ответ на: комментарий от anti_win

Хрен его разбери, вроде работает. Потребление проца в двух примерах отличается на порядок.

~ mpv --hwdec=vaapi /tmp/The\ World\ in\ HDR.mkv                                       
 (+) Video --vid=1 (*) (vp9 3840x2160 59.940fps)
 (+) Audio --aid=1 --alang=eng (*) (vorbis 2ch 44100Hz)
mesa: for the --simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the --global-isel-abort option: may only occur zero or one times!
mesa: for the --amdgpu-atomic-optimizations option: may only occur zero or one times!
Cannot load libcuda.so.1
Using hardware decoding (vaapi).
AO: [pulse] 44100Hz stereo 2ch float
VO: [gpu] 3840x2160 vaapi[p010]
AV: 00:01:00 / 00:02:34 (39%) A-V:  0.000 Dropped: 214


Exiting... (Quit)
~ mpv  /tmp/The\ World\ in\ HDR.mkv                                                                                                                                                       
 (+) Video --vid=1 (*) (vp9 3840x2160 59.940fps)
 (+) Audio --aid=1 --alang=eng (*) (vorbis 2ch 44100Hz)
AO: [pulse] 44100Hz stereo 2ch float
VO: [gpu] 3840x2160 yuv420p10
AV: 00:00:30 / 00:02:34 (19%) A-V:  0.000 Dropped: 163


Exiting... (Quit)
melkor217 ★★★★★
() автор топика
Ответ на: комментарий от Spoofing

это ж сколько пыли должно быть в системнике? Или у вас там цветок стоит?

SR_team ★★★★★
()
Ответ на: комментарий от te111011010

А как же тогда битки майнили?

Битки это частный случай и неактуальное прошлое. В актуальном настоящем CUDA победила в промышленном/научном GPGPU.

А вайланду радеон научили?

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

Midael ★★★★★
()

Давай подкину сценарий, когда AMD не работает:

  • Нужно аппаратно кодировать видео для игровых стримов для YouTube

Всё что кодирует AMD - мутномыльное тормозное говно. Даже у Quick Sync от Intel результат лучше.

Это такая боль. Купить карточку AMD хочется, но нельзя из-за этого. Разве что вместе со свежим топовым Тредрипером, чтобы кодировать на процессоре, но это траты космических масштабов

stevejobs ★★★★☆
()
Ответ на: комментарий от iZEN

Тут я грешу на блоб от nvidia, потому что под виндой все нормально работает, плавно без лагов

И кстати говоря, я ушел с nvidia еще на ubuntu 19.04 на интеловскую интеграшку uhd520, потому что у меня отвратительно лагала отрисовка анимации в KDE и Gnome Shell, а на intel все было восхитительно плавно. Но это было на 1080р, 4К intel конечно не вытягивает, поэтому в отчаянии я купил amd и не прогадал, сейчас наслаждаюсь плавностью и производительностью в 4к

А какая ситуация на FreeBSD с графикой? Чья лучше работает?

nightsinger
()
Ответ на: комментарий от stevejobs

аппаратно кодировать видео для игровых стримов для YouTube

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

Попробую сегодня сравнить на иксах, пока старая карточка есть.

melkor217 ★★★★★
() автор топика

Запустил навскидку несколько игор. Всё, что работало на nvidia, работает и на radeon. В том числе и под вяленым

Огласите весь список, пожалуйста. Unreal Tournament 2004 нативный работает?

kawaii_neko ★★★★
()
Ответ на: комментарий от kawaii_neko

Огласите весь список, пожалуйста

  • Age of Empires II (оригинал и Definitive Edition)
  • CS 1.6
  • CS GO
  • Dota 2
  • Eve Online
  • Factorio
  • GTA V
  • Quake Champions
  • Quake Live
  • RimWorld

В основном гонял самые «жирные» игры типа GTA V, остальное для галочки проверил

Unreal Tournament 2004 нативный работает?

Не проверял. Quake Live и CS 1.6 - довольно похожий сценарий. Нативные игры тех же годов с рендером OpenGL.

Имхо взлетит.

melkor217 ★★★★★
() автор топика
Последнее исправление: melkor217 (всего исправлений: 2)
Ответ на: комментарий от stevejobs

Всё что кодирует AMD - мутномыльное тормозное говно

Результаты первого эксперимента так себе. Взял динамичную картинку из квейка, 6000kbps (дефолт твича) и пресет fast. Получилось таки мыльцо.

melkor217 ★★★★★
() автор топика
Ответ на: комментарий от stevejobs

Да, инфа сотка, 1080p60, 6000kbps даёт мыльцо, и качество выкручивать некуда вроде. А выше битрейт на тот же твич не заслать :(

melkor217 ★★★★★
() автор топика
Последнее исправление: melkor217 (всего исправлений: 1)
Ответ на: комментарий от melkor217

Если у тебя intel на десктопе, то можно пользоваться igpu и внешней карой amd. Я так запускал, из коробки все должно работать (перед запускаемым приложением DRI_PRIME=1), но я правда помню пробовал GL игрушку рисуемую на AMD захватывать на intel и у меня ничего не получилось.

Aber ★★★★★
()
Ответ на: комментарий от Aber

Если у тебя intel на десктопе, то можно пользоваться igpu и внешней карой amd

Хм, попробую. А мощности интеграшки в теории должно хватить для таких настроек?

melkor217 ★★★★★
() автор топика
Ответ на: комментарий от melkor217

Я не знаю что такое «таких настроек», кодированием видео занимается отдельный ASIC в gpu, никак не завязанный на «мощность» графического чипа, например во всех rx он идентичный и производительность кодирования между rx460 и rx590 не отличается. Тоже самое в intel, говорят что intel кодирует лучше.

И да, тебе нужно тогда будет подключить монитор к видеовыходу intel и тогда можно будет использовать amdgpu через DRI_PRIME.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)
Ответ на: комментарий от melkor217

вообще говоря, заслать, но только если у тебя партнёрка и ты не в России ;)

с Твичом и его битрейтом какая-то муть. Зачастую картинка в 720p с высоким битрейтом выглядит лучше, чем 1080p с тем же битрейтом плюс частыми деградациями

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

вообще говоря, заслать, но только если у тебя партнёрка и ты не в России ;)

Какая ещё партнёрка и при чём тут Россия? Я ничего не понял, но похоже на нацпол!

Зачастую картинка в 720p с высоким битрейтом выглядит лучше, чем 1080p с тем же битрейтом плюс частыми деградациями

Звучит логично. Чем меньше размер картинки и фпс, тем больше места разгуляться на дозволенном битрейте.

У меня на 720p мыльца получалось поменьше, но всё равно с избытком. А стримить 480p30 я даже не пробовал - одноклассники засмеют.

melkor217 ★★★★★
() автор топика
Ответ на: комментарий от Aber

Если у тебя intel на десктопе, то можно пользоваться igpu и внешней карой amd

нужно тогда будет подключить монитор к видеовыходу intel и тогда можно будет использовать amdgpu через DRI_PRIME.

По описанию на https://wiki.archlinux.org/index.php/PRIME выглядит круто, попробую на днях.

melkor217 ★★★★★
() автор топика
Ответ на: комментарий от stevejobs

Я не разбираюсь в стриминге, но разве для игр не используют платы видеозахвата? А не для игр сейчас проверил через OBS и вроде моего 2700x хватает для 1080р c 6k битрейта (h264 пресет slow).

MLP_Fan ★★
()
Последнее исправление: MLP_Fan (всего исправлений: 1)
Ответ на: комментарий от melkor217

и при чём тут Россия?

Твич - это Амазон, а основные сервера Амазона - в США, в особенности - в штате Вирджиния. Из России Амазон работает как говно, и временами деградирует вплоть до 100 килобит.

У Твича есть сервера в европе, например Франкфурт. Но там сервера хилые, они временами продолжают перебрасывать видеопоток (исходящий из серверов) на Вирджинию, и так далее.

Какая ещё партнёрка

Амазон даёт больше полосы и ресурсов либо коммерческим клиентам своих сервисов (покупной EC2 итп), либо тех кого считает важными

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

Я ничего не понял, но похоже на нацпол!

Нацпол - это Фейсбук. У него та же система, что и у твича, только разрешение выше 720p можно получить ТОЛЬКО партнерам, и живя в России партнером не стать никак. То, что ты живешь в России определяет ИИ фейсбука, и он определяет очень хорошо - тупо запроксировать трафик через амазоновский сервер во франкфурте - не работает, он поймет что видос публикует кто-то очень аффилированный с Россией

кстати, с Украиной то же самое, но немного более изощренно. В некоторых списках стран-кандидатов на партнерку Украина есть, но в реальности украинцам ее тоже не дают. Так что поставить видео-прокси в Киеве тоже не работает.

в общем, у Фейсбука там нацпол вида деления на страны первого, второго и третьего мира. Большие горда США, Германии и Лондон туда точно попадают, всякие недочеловеки из пост ссср туда точно не попадают

stevejobs ★★★★☆
()
Ответ на: комментарий от MLP_Fan

для стриминга игр не используются платы видеозахвата, потому что:

  1. очень сложно скомпенсировать лаг между голосом ведущего, музыкой и картинкой. Задержка плавает

  2. карта видеозахвата находится в отдельном компьютере. Отдельный компьютер стоит денег! Весь поинт же в экономии денег, так? Сомнительный способ экономии :)

Карта видеозахвата для своей работы требует GPU и CPU компьютера, поэтому в тот же самый комп втыкать её не имеет смысла. Она даже заработает, но ничего не сэкономти. Даже потратит - двадцать-сорок тысяч на покупку карты захвата :)

  1. не все игры умеют фуллскриниться на оба дисплея. Если у тебя дисплеи с разным нативным DPI, то фулскрин ломается, даже если они работают в режиме дублирования. Имеется в виду Windows, конечно. Когда тебе просто нужно сдублировать на второй монитор - ты покупаешь два одинаковых монитора. Карта видеозахвата определяется как совершенно точно другой дисплей.

  2. сделать так, чтобы видеокарта NVidia работала с картой видеозахвата - это большой челленж. На стороне NVidia, она определяется как монитор, но определяется неправильно. На стороне карты видеозахвата, нужен очень точный формат видео, а для этого всё должно определиться правильно с обоих сторон. Я попробовал несколько плат захвата.

Поэтому обычно картинка снимается через какой-нибудь OBS, а для кодирования используется видеокарта или мощный процессор

===

и вроде моего 2700x хватает для 1080р c 6k битрейта (h264 пресет slow).

а теперь запусти это с какой-нибудь игрой. Игра сожрёт значительную часть CPU. Не весь, но тем не менее. Если ты включишь еще и стриминг, процессор закончится. А потом в игре почему-то возникнет нагрузка, и на видео начнутся лаги. А потом ты откроешь Гугл Хром чтобы посмотреть какой-нибудь гид по прохождению на ютубе, хром и ютуб-плеер отожрут свои 30% процессора, и вооще всё встанет колом

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

рестриминг решается покупкой аккаунта на restream-io каком-нибудь, но это деньги. Плюс задержка между тем что видит человек на ютубе и тем что у тебя творится на мониторе - растёт. Может дорасти до полминуты. Ты говришь: «ребята, а прокомментируйте вот это». А они это услышат только через полминуты, а у тебя уже всё изменилось.

ну и вообще, если 1080p хорошо, то для ютуба лучше 2к хотя бы, не? Если человек растянет 1080p на свой 4к монитор - это выглядит не очень красиво. Статистика Ютуба показывает, что те, кто смотрит в 2к и 4к - считаные проценты, но эти считаные проценты очень пересекаются со считаными процентами геймеров

короче, мой i7 6700k и GTX 1080 постоянно загружены по максимуму всегда. Того же Ведьмака в 4k, даже 30фпс, стримить уже не получится, или получится с дикими лагами

тредрипер и RTX 2080ti могли бы вытащить Ведьмака, но это деньги. У меня столько нету :)

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от stevejobs

Я предполагал захватывать подобным устройством. У него вроде и аудиовход есть чтобы рассинхрона не было и к монитору вроде прозрачно пропускает.

А софтварный энкодинг предлагал для всяких программерских стримов, а не игр. Не покупать же интел или нвидию для таких целей.

Кстати, а GTX1080 тянет рестрим одновременно на все что вы описали?

MLP_Fan ★★
()
Ответ на: комментарий от stevejobs

В некоторых списках стран-кандидатов на партнерку Украина есть, но в реальности украинцам ее тоже не дают.

Дают. Как минимум у геройщика twaryna был контракт с фейсбуком.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Aber

Если у тебя intel на десктопе, то можно пользоваться igpu и внешней карой amd

И да, тебе нужно тогда будет подключить монитор к видеовыходу intel и тогда можно будет использовать amdgpu через DRI_PRIME.

Включил интеграшку, она стала доступна в /dev/dri и всё кодирует без PRIME. Я что-то делаю не так?

$ ls -lh /dev/dri/by-path
total 0
lrwxrwxrwx 1 root root  8 May  8 07:37 pci-0000:00:02.0-card -> ../card0
lrwxrwxrwx 1 root root 13 May  8 07:37 pci-0000:00:02.0-render -> ../renderD128
lrwxrwxrwx 1 root root  8 May  8 07:50 pci-0000:03:00.0-card -> ../card1
lrwxrwxrwx 1 root root 13 May  8 07:37 pci-0000:03:00.0-render -> ../renderD129
$ lspci | grep 00:02
00:02.0 Display controller: Intel Corporation UHD Graphics 630 (Desktop)
$ lspci | grep 03:00
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 14 [Radeon RX 5500/5500M / Pro 5500M] (rev c5)
03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio
melkor217 ★★★★★
() автор топика
Ответ на: комментарий от melkor217

всё кодирует без PRIME.

Ну так этого же и добивались? Интеграшка долждна кодировать видео, потому как многие подозревают что интел это делает лучше чем AMD, а вот в игры играть можно на AMD.

Должен вернуть инфу про intel:

glxinfo | grep OpenGL

Должен вернуть инфу про amd:

DRI_PRIME=1 glxinfo | grep OpenGL

Я не знаю как работает PRIME против vulkan игр, я тестил эту фичу в 2017 году, до массового прихода vulkan.

Aber ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.