How to: Linux накъсване на картината (tearing) при лаптопите (Nvidia Optimus/PRIME). Решение

0
36
NVIDIA GPU

Вчера разгледахме как да премахнем накъсването на картината или ефект още познат като tearing при Linux с видео картите на Nvidia, а сега ще разгледаме как става това при Optimus лаптопите, които използват вградена видео карта на Intel и външна (дискретна) видео карта на Nvidia.

При PRIME, начинът, който вчера разгледахме, не работи при избрана Nvidia видео карта, поради спецификата на тази технология, но все пак е възможно да се спре накъсването на включени към машината допълнителни дисплеи. Възможно е и спирането на накъсването при избрана Nvidia видео карта на основния дисплей, но засега опцията е експериментална и не е пусната по подразбиране. Тук ще ви покажа как да я активирате, за да се отървете от тиъринга при лаптопа ви завинаги.

Считано от версия 370.23 на Nvidia видео драйвъра, вече се поддържа експериментална поддръжка за PRIME синхронизация (PRIME Synchronization). При различните версии на драйвърите синхронизацията се включва по различни начини, като при по-старите версии има най-различни проблеми. При 390.хх обаче проблемите са отстранени и при повечето потребители, както и при мен, всичко работи коректно. Ако сте с по-стара версия на драйвъра, която поддържа PRIME синхронизация, изпробвайте на ваша отговорност.

Първото и най-важното условие е лаптопът ви да е настроен да използва PRIME.

Настройване на PRIME синхронизация при по-старите версии на Nvidia:

Както вече споменах, при по-старите версии на драйвърите на Nvidia може да има различни проблеми като сривове, замръзвания и дори невъзможност за активиране на PRIME синхронизацията. Съветвам ви да направите бекъп в случай, че възникне проблем.

Сред множеството начини за активиране на PRIME синхронизацията при старите версии на видео драйвъра на Nvidia като най-използван и работещ се оказва начинът, който включва редактирането на файла nvidia-graphics-drivers.conf и добавянето на „options nvidia_xxx_drm modeset=1“. Редактирането на този файл става много лесно. Отваряте терминал и въвеждате или копирате и поставяте следната команда:

CODE: Избери всички

sudo kate /etc/modprobe.d/nvidia-graphics-drivers.conf

*Забележка:
kate замествате с текстовия редактор, който използвате вие – xed, leafpad, kwrite, tea и пр.

Най-долу в този файл добавяте:

като xxx го заменяте с версията на вашия драйвър. Например, ако използвате версия 385.хх, то редът трябва да изглежда така:

CODE: Избери всички

options nvidia_385_drm modeset=1

Ако вече имате подобен ред, то просто го редактирайте в синхрон с вашата версия на драйвъра ви и променете нулата на единица.

Сега трябва да актуализирате initramfs като изпълните:

CODE: Избери всички

sudo update-initramfs -u

Рестарт и проверявате дали PRIME синхронизацията е включена по следния начин:

CODE: Избери всички

xrandr --verbose | grep PRIME

Всички редове трябва да показват 1:

CODE: Избери всички

PRIME Synchronization: 1 
	PRIME Synchronization: 1 
	PRIME Synchronization: 1 
	PRIME Synchronization: 1 

Ако PRIME синхронизацията не иска да се активира по този начин, можете да опитате със следната команда:

CODE: Избери всички

xrandr --output XXX --set "PRIME Synchronization" 1

Като XXX го замествате с това как се иницализира вашият видео изход. Как се инициализира той можете да проверите просто с:

Рестартирате и отново проверявате с:

CODE: Избери всички

xrandr --verbose | grep PRIME

Настройване на PRIME синхронизация при 39x.xx версиите на Nvidia:

За да активирате PRIME синхронизацията при Nvidia 39x.xx трябва да редактирате конфигурационния файл на буутлоудъра GRUB, което става по следния начин:

CODE: Избери всички

sudo kate /etc/default/grub

В началото на файла намирате GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash и добавяте след него следното с интервал:

CODE: Избери всички

nvidia-drm.modeset=1

Редът трябва да изглежда по следния начин:

CODE: Избери всички

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"

Запазвате промените, затваряте файла и остана само да обновим конфигурацията на GRUB:

CODE: Избери всички

sudo update-grub

Рестартирате и пробвате дали PRIME синхронизацията е включена с познатата ни вече команда:

CODE: Избери всички

xrandr --verbose | grep PRIME

Приятно използване без тиъринг :)

0/5 (0 Reviews)
Абониране
Извести ме за
guest
0 Comments
Inline Feedbacks
View all comments