Господа, тиринг на Optimus-лэптопах победить невозможно. Когда я столкнулся с этим, сломал немало копий, в итоге нашел этот тред:
https://devtalk.nvidia.com/default/topic/775691/linux/vsync-issue-nvidia-prime-ux32vd-with-gt620-m-/1Там Нвидиа разрабы объясняют, что сейчас нет никакой синхронизации между Nvidia и Intel, поэтому мы видим тиринг (напомню, что именно интел-карточка занимается непосредственно отрисовкой на экран). Также они рассказывают, что пилят патчи в иксы, ядро линуха и свой Нвидиа драйвер, чтобы это дело пофиксить. Патчи в ядре уже были к тому моменту, как я нашел тред, патчи в Нвидиа-драйвер тоже готовы (но еще не выпущены).
Я несколько месяцев мониторил mailing-листы xorg-разработчиков, и наконец таки патчи от нвидиа были приняты, но, блин, попадут они только в версию 1.19, которая выйдет еще нескоро.
Вот такая история.
Тогда я задался вопросом: а почему я раньше этого тиринга не замечал? У меня оптимус-лэптоп с 2013ого года, а с проблемой столкнулся только сейчас, хотя она существовала якобы всегда. В итоге удалось выяснить, что с какого-то момента в Ubuntu стал использоваться драйвер Modesetting для intel (это видно даже в xorg.conf топикстартера):
Section "Device"
Identifier "intel"
Driver "modesetting"
Option "AccelMethod" "None"
BusID "PCI:0@0:2:0"
EndSection
Я вернул все как было. плюс включил некоторые нужные мне опции, получилось вот что:
Section "Device"
Identifier "intel"
Driver "intel"
BusID "PCI:0@0:2:0"
Option "AccelMethod" "SNA"
Option "TearFree" "True"
EndSection
Важно еще не забыть, что gpu-manager убунты удаляет /etc/X11/xorg.conf, надо обломать его: sudo chattr +i /etc/X11/xorg.conf
После ребута я получил черный экран, но было звуковое уведомление, которое мы слишим, когда загружается Lightdm. Оказывается, если отправить ноутбук в сон закрытием крышки, затем разбудить, картинка волшебным образом появлялась, я успешно логинился в систему и наблюдал почти исчезнувший тиринг, в играх так вообще не замечал его
на телевизоре по HDMI тиринг заметен, но тоже гораздо меньше, чем это было до настроек. Переключение на Intel через prime-select, кстати, перестает работать. Мне было лень разбираться в этом, поэтому ничего сказать не могу.
Я даже пост писал в том треде:
https://devtalk.nvidia.com/default/topic/775691/linux/vsync-issue-nvidia-prime-ux32vd-with-gt620-m-/post/4855602/#4855602Но мне никто не поверил, что я уменьшил тиринг
И кстати да, я не утверждаю, что метод 100% сработает, может мне просто повезло. Но с такими настройками я живу с момента выпуска 16.04, и норм...