Устранение тиринга на гибридной графике Nvidia

Раздел для тем в стадии оформления.

Автор темы
ProfessorNavigator
Сообщения: 30
Зарегистрирован: 16 апр 2018, 11:20
Благодарил (а): 1 раз
Поблагодарили: 4 раза

Устранение тиринга на гибридной графике Nvidia

Сообщение ProfessorNavigator » 08 окт 2018, 13:16

StarMAUGLI писал(а):
09 сен 2018, 08:35
а что такое
На сколько я понял - аппаратная проблема. Пытался разобраться, натолкнулся на кучу незнакомых технических терминов на английском языке, вроде "южный мост", махнул рукой. Комп все равно уже у другого человека, проблема решена заменой основной платы (увы). Линукс не причем, это у Асуса какой-то ляп.


Genuimous
Сообщения: 4
Зарегистрирован: 27 мар 2019, 10:09
Благодарил (а): 1 раз
Поблагодарили: 8 раз

Устранение тиринга на гибридной графике Nvidia

Сообщение Genuimous » 27 мар 2019, 11:26

Господа, всем привет. В долгих поисках натунулся на эту тему, и таки победил тиринг! Но есть нюансы.

Моменты, которыми стоит руководствоваться
1. Действительно, большинство советов в инетрнете касается других дистрибутивов: сусе, арч, федора и их производные, в лучшем случае голого дебиан. В семействе убунту эти советы шлляпа и не работают, и, более того, с очень высокой вероятностью приведут к краху системы. Поэтому искать мануалы нужно именно для убунту. Убунта многим хороша, но... она такая убунту.
2. Тиринг касается далеко не всех конфигураций и, в основном, он побежден уже из коробки. Например, на втройках от интел тиринга отродясь не видел. Подозреваю, что в legacy-системах на nvidia тоже все более/менее хорошо. Самые отборные грабли начинаются на сколь-либо нестандартном железе, особенно в случае с гибридной графикой.
3. В линуксе (подозреваю что в винде с этим похуже) есть так называемый режим DRM/DRI (Direct Rendering Manager, см. википедию), котрорый позволяет графическому ускорителю работать, внезапно, в качестве ускортителя, как во времена 3dfx (то есть брать от видеокарты только GPU, а не жестко привязывать вывод картинки к конкретной видеоплате). Это дает всякие занятные плюшки, такие как возможность запустить виртуалку и выдаеть ей на аппаратноем уровне свою персональную видеокарту, а также обрабатывать видеопоток на одном GPU и выводить результат через другой GPU - собственно это нас и интересует в настоящем контексте. Потому что при гибридной графике нужно обрабатывать поток на дискретной карточке, а выводить через встроенную (касаемо SLI, двух дискретных GPU ничего не скажу). Работает оно из коробки, но с тирингом. Описанный в теме параметр как раз включает параметр режима, при котором тиринга быть не должно.
4. В современных версиях Ubuntu (начиная с 18.04) и ее производных все уже готово для того, чтобы режим работал сам собой, но не включен по-умолчанию (что логично, т.к. аппаратно-зависимый). К сожалению, в штатных настройках упоминания о нем нет, потому и много разных домыслов в сети.
5. В убунте есть так называемый "стек" HWE. По сути это набор мета-пакетов и их зависимостей (включая ядро и X подсистему, но, возможно, не ограничиваясь ими). Нужен он лишь для того, чтобы иметь возможность поставить самые современные версии пакетов, не обновляя релиз, потому что в него бекпортируются более новые пакеты, а также в этой ветке быстрее выходят обновления. Чтобы включить HWE, надо поставить пакеты (через sudo apt install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04, где версия - это ubuntu-релиз вашей системы), подробнее см. тут: https://www.linuxuprising.com/2019/02/h ... 2-lts.html - но надо понимать, что если версии вас устраивают, нет абсолютно никакой нужды переходить на HWE, это может быть вредно, хотя отзывы в целом положительные.
6. Чтобы убрать тиринг, нужно прописать параметр nvidia-drm modeset=1, это будет работать только на ядрах 4.13 (лучше 4.15 или 4.18, хотя есть отзывы что на 4.15 не работает, что неверно, хотя, вероятно, речь идет о ранних билдах 4.15) и иксах версии 19 и старше. То есть либо обновляем убунту 16.04 через hwe, либо используем 18.04 или старше (младше 16.04 скорее всего вообще не подойдет).

Тестовая система
Система на платформе Intel Skylake (Intel P630), видеокарта nvidia quadro 600 (описание тут: https://technical.city/ru/video/Quadro- ... phics-P630)
Linux mint 19.1 (на базе ubuntu 18.04), ядро 4.15, X версии 19.6 (или около того, точно не помню)
Драйвер nvidia версии 390 в режиме дискретной графики, вывод изображения через втроенный в системную плату порт HDMI (т.к. на nvidia quadro есть только DP-порты).

Отключение тиринга
Открываем терминал и вводим:
sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf
В моей системе такого файла не было, поэтому он создался. В этот файл пишем:
options nvidia-drm modeset=1
Это будет единственная строка в файле.
!!! обратите внимание, что начиная с версии релиза 18.04 более не нужно указывать версию драйвера (ранее было options nvidia_390_drm modeset=1 где 390 - версия проприетарного драйвера nvidia)
Сохраняем, выходим (Ctrl+X, Y, Enter).

Далее в терминале применяем изменения:
sudo update-initramfs -u

И перезагружаемся:
sudo reboot
(ну или через интерфейс)

Сломаться ничего не должно, в теории, даже если параметр nvidia-drm modeset=1 не применим, это не должно быть проблемой (проверил на виртуалке, вроде нормально).

Проверки
После загрузки проверяем в терминале:
sudo cat /sys/module/nvidia_drm/parameters/modeset
должно написать Y

glxgears
(если такой утилиты нет в системе, надо установить пакет mesa-utils - это стандартное средство для проверки видеокарты наподобие dxdiag в windows)
на экране появятся шестеренки, а в терминале будет частота кадров, она должна быть равна частоте кадров монитора (60 Гц в большинстве случаев, либо частота будет несколько сотен ГЦ и скорее всего тиринг будет присутстовать)

На ютубе поискать tearing test и посмотреть (дерганье картинки это нормально, не должно быть лишь горизонтальных сдвигов), запустить свой любимый тестовый фильм, в котором есть панорамирование сцены на фоне с вертикальными линиями.

Если все тесты пройдены - значит хорошо. Если нет - либо что-то сделано не правильно, либо система не удовлетворяет требованиям, либо не повезло.


Genuimous
Сообщения: 4
Зарегистрирован: 27 мар 2019, 10:09
Благодарил (а): 1 раз
Поблагодарили: 8 раз

Устранение тиринга на гибридной графике Nvidia

Сообщение Genuimous » 27 мар 2019, 11:27


Аватара пользователя

slant
Сообщения: 1744
Зарегистрирован: 21 июн 2017, 15:09
Решено: 26
Благодарил (а): 13 раз
Поблагодарили: 757 раз

Устранение тиринга на гибридной графике Nvidia

Сообщение slant » 27 мар 2019, 13:20

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

Только маленькая коррекция:
Genuimous писал(а):
27 мар 2019, 11:26
либо используем 18.04 или старше (младше 16.04 скорее всего вообще не подойдет).
Эта фраза должна быть построена так: "либо используем 18.04 или младше (старше 16.04 скорее всего вообще не подойдет)."
Версия 16.04 - старше чем 18.04 - она выпущена раньше. И существует, соответственно, дольше.

Аватара пользователя

AlexZ
Сообщения: 1117
Зарегистрирован: 06 янв 2018, 18:06
Решено: 3
Откуда: Горно-Алтайск
Благодарил (а): 168 раз
Поблагодарили: 139 раз

Устранение тиринга на гибридной графике Nvidia

Сообщение AlexZ » 28 мар 2019, 09:40

Genuimous писал(а):
27 мар 2019, 11:26
Система на платформе Intel Skylake (Intel P630), видеокарта nvidia quadro 600
Это десктоп или ноут?
Genuimous писал(а):
27 мар 2019, 11:26
Потому что при гибридной графике нужно обрабатывать поток на дискретной карточке, а выводить через встроенную
В ноутах это нужно только для тяжелых на графику приложениях, использовать на постоянку нвидиа-карту неоптимально


Genuimous
Сообщения: 4
Зарегистрирован: 27 мар 2019, 10:09
Благодарил (а): 1 раз
Поблагодарили: 8 раз

Устранение тиринга на гибридной графике Nvidia

Сообщение Genuimous » 28 мар 2019, 09:44

AlexZ писал(а):
28 мар 2019, 09:40
Это десктоп или ноут?
Это самосборная приставка к ТВ на платформе SFX, т.е. технологически ближе к десктопу. Там обычный настольный процессор и стандартная PCIe видеокарта, чипсет интел от настольных платформ.


Genuimous
Сообщения: 4
Зарегистрирован: 27 мар 2019, 10:09
Благодарил (а): 1 раз
Поблагодарили: 8 раз

Устранение тиринга на гибридной графике Nvidia

Сообщение Genuimous » 28 мар 2019, 09:57

slant писал(а):
27 мар 2019, 13:20
Эта фраза должна быть построена так: "либо используем 18.04 или младше (старше 16.04 скорее всего вообще не подойдет)."
Версия 16.04 - старше чем 18.04 - она выпущена раньше. И существует, соответственно, дольше.
Мда, натупил. Тогда уж лучше новее/старее. Внезапно понял, что издревле неправильно называю версионность, руководствуясь значением чисел (больше число, значит старше). При этом коллеги понимают, ни разу не было проблем с этим, что особенно странно - значит не я один такой с измененным восприятием. Спасибо за уточнение, учтем : )

Аватара пользователя

slant
Сообщения: 1744
Зарегистрирован: 21 июн 2017, 15:09
Решено: 26
Благодарил (а): 13 раз
Поблагодарили: 757 раз

Устранение тиринга на гибридной графике Nvidia

Сообщение slant » 28 мар 2019, 10:19

Genuimous писал(а):
28 мар 2019, 09:57
Внезапно понял, что издревле неправильно называю версионность, руководствуясь значением чисел (больше число, значит старше).
Тут ситуация, как до недавнего времени с родом слова "Кофе". До последней реформы образования в Росиии у него был строго мужской род, а не как сейчас - правильными стали считать оба варианта. :)
Т.е. понять то поймут многие, но согласно правилам логики построения фраз в языке, и соответственно - грамотно будет... :)

Вернуться в «Песочница»