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

0
1074
NVIDIA GPU

Много потребители изпитват проблеми с накъсване на картината или така неречения „tearing“ при гледане на филми, при бързи движения, при играене на игри и пр. Това е проблем, който съществува както при Windows, така и при Linux. Тук ще ви обясня как да го преодолеем при Linux с Nvidia, като проблемът вече може да бъде решен изключително лесно, при това завинаги.

Драйвърът на Nvidia се подобрява активно почти ежедневно и често в много добър диалог с потребителите. В резултат на това са добавени много полезни функции, някои от които е Full Composition Pipeline и отговаря точно за премахване на накъсването на картината (tearing).

Ако сте с актуална дистрибуция на Linux и използвате нова версия на nvidia-settings, то включването на Full Composition Pipeline вече става много лесно, без да се налага да редактирате xorg.conf или друг конфигурационен файл, който използва вашата дистрибуция.

За да решите проблема с накъсването на картината, трябва да отворите контролния панел на Nvidia и да отидете на X Server Display Configuration. Ако имате включени повече от един монитор, изберете монитор, на който искате да премахнете тиъринга и натиснете бутона „Advanced“:

How to: Linux накъсване на картината (tearing) при Nvidia. Решение 5

След като натиснете бутона „Advanced“ ще ви се отворят допълнителни опции, едната от които е да изберете включването на Full Composition Pipeline настройка. Именно това е настройката, която ще премахне веднъж завинаги накъсването на картината.

How to: Linux накъсване на картината (tearing) при Nvidia. Решение 6

Има обаче една малка подробност – избрана по този начин функцията ще е активна само за текущата потребителска сесия и ще се изгуби при рестарт. Това е така, защото промяната трябва да се запише в xorg.conf или в конфигурационния файл на Nvidia, който използва вашата дистрибуция.

За да запаметите настройката имате два варианта:

Вариант 1:
Трябва да отворите контролния панел на Nvidia с администраторски права, което става по следния начин. Отворете терминал и въведете/копирайте и поставете:

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

sudo nvidia-settings

Отново ще ви се отвори контролният панел на Nvidia, но вече с администраторски права. Сега включете наново Full Composition Pipeline и изберете бутона „Save to X Configuration file“ и в новоотворилия се прозорец изберете Save. Ако вашата дистрибуция използва друг конфигурационен файл, се възползвайте от бутона Browse, за да укажете къде да бъдат запазени настройките.

Например при Manjaro файлът не е xorg.conf, който се намира в /etc/X11, а е файл, който се казва nvidia.conf и се намира в /etc/X11/mhwd.d. Това означава, че ако използвате Manjaro, ще браузнете до /etc/X11/mhwd.d и ще посочите nvidia.conf като файл, в който да се запазят промените. При повечето дистрибуции, включително Debian, Ubuntu, Mint файлът, който се използва е именно /etc/X11/xorg.conf.

Прочетете още:  openSUSE Tumbleweed първи използват GNOME 3.22

Ако поради някаква причинаямате xorg.conf в /etc/X11/, ще се наложи да го създадете, което също е много лесно. Това става просто със:

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

sudo nvidia-xconfig

След това вече можете да пристъпите към записването на промените за Full Composition Pipeline.

Вариант 2:

Вариант 2 включва ръчно редактиране на конфигурационния файл на Nvidia. Независимо дали вашата дистрибуция използва xorg.conf или nvidia.conf, промяната е една и съща навсякъде, защото въпреки разликите в местонахождението и имената на конфигурационните файлове, съдържанието им е еднакво. Отворете конфигурационния файл с администраторски права:

За Arch, Ubuntu, Debian, Mint и производни:

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

sudo kate /etc/X11/xorg.conf

За Manjaro:

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

sudo kate /etc/X11/mhwd.d/nvidia.conf

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

След като конфигурационният файл се е отворил, намерете секция Screen (Section „Screen“) и добавете в нея следното:

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

Option         "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"

Пример как би изглеждала секцията с добавен Full Composition Pipeline:

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

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    Option         "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
    EndSubSection
EndSection

Можете да укажете Full Composition Pipeline за определена резолюция като вместо горния ред, използвате този:

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

Option         "metamodes" "1920x1080 +0+0 { ForceFullCompositionPipeline = On }"

Тоест би трябвало да изглежда така:

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

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    Option         "metamodes" "1920x1080 +0+0 { ForceFullCompositionPipeline = On }"
    EndSubSection
EndSection

Запазвате промените, рестартирате и се радвате на картина без накъсване (tearing) :)

*Забележка:
Тук трябва да уточня, че синхронизирането на картината не работи за Nvidia при Optimus лаптопите. Когато сте избрали Intel видео картата няма да имате накъсване, но ако изберете външната Nvidia видео карта, накъсване ще има. Ако закачите обаче външен дисплей, за него все пак е възможно да изключите накъсването. Това е така, защото при използването на PRIME се сздава отделен дисплей с име PRIME, при който към момента не може да се приложи функцията Full Composition Pipeline. Има други начини за постигане на PRIME синхронизация, но това ще бъде обект на бъдещо ръководство.

0/5 (0 Reviews)