[How-To] PRIME sync - eliminacja efektu szarpanego obrazu (tearing) w konfiguracji z kartami Nvidia i Intel (Optimus)

Awatar użytkownika
mario_7
Administrator
Administrator
Posty: 7473
Rejestracja: 30 sie 2006, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86_64

[How-To] PRIME sync - eliminacja efektu szarpanego obrazu (tearing) w konfiguracji z kartami Nvidia i Intel (Optimus)

Post autor: mario_7 » 28 sie 2018, 23:14

Sprawdzone na Ubuntu 16.04 z nvidia-prime.
Podczas wykonywania tego poradnika należy myśleć co się robi - można uszkodzić system.

O co chodzi? O usunięcie efektu szarpanego obrazu widocznego zwłaszcza w grach lub podczas oglądania filmów. W przypadku laptopów bardzo często widoczne jest to dopiero na zewnętrznych monitorach.
Prosty test: https://www.youtube.com/watch?v=5xkNy9gfKOg - jeśli pionowe paski nie są równe, tylko ze schodkami, albo po prostu poszarpane - to znaczy, że synchronizacja obrazu nie działa.
Ten poradnik pozwala taką synchronizację włączyć dla popularnej kombinacji kart - Intel (karta zintegrowana) i Nvidia (karta dyskretna) - zwanej Optimus i często spotykanej w laptopach. Tak dokładnie - chodzi o sytuację, gdy wyjście HDMI podłączone jest do karty zintegrowanej, a karta dyskretna uzyskuje dostęp do tego wyjścia poprzez renderowanie do buforu graficznego karty zintegrowanej. PRIME Sync pozwala robić to dobrze.

Zakładam, że do obsługi karty dyskretnej wykorzystywany jest mechanizm nvidia-prime oraz w panelu Nvidia włączona jest dyskretna karta graficzna - Nvidia.

Aktualizacja poniżej opisanych pakietów może spowodować uszkodzenie trybu graficznego i konieczność ratowania się z konsoli - zostałeś/aś ostrzeżony/a.

1. Potrzebny jest świeży Xorg i kernel:

Kod: Zaznacz cały

sudo apt install --install-recommends linux-generic-hwe-16.04 xserver-xorg-hwe-16.04
2. Potrzebne są nowe sterowniki Nvidia:

Kod: Zaznacz cały

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-396
3. Potrzebne są nowe sterowniki Mesa:

Kod: Zaznacz cały

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
Jeśli nastąpi aktualizacja wszystkich pakietów związanych z mesa i sterownikami xorg, to właśnie o to chodziło.
Natomiast czasem mogą się pojawić problemy - część pakietów może być wstrzymana ze względu na różne zależności, albo pojawi się propozycja usunięcia połowy systemu...
Wtedy trzeba kombinować - należy przerwać aktualizację i wymusić instalację wybranych pakietów, aby zależności nie usunęły istotnych elementów systemu.
U mnie na wstrzymane pakiety i sugestie usunięcia połowy systemu pomogło:

Kod: Zaznacz cały

sudo apt install libegl1-mesa libegl1-mesa:i386 libwayland-egl1 libgtk-3-0:i386 libsdl2-2.0-0:i386
Dzięki u mnie temu wszystkie pakiety ładnie się zaktualizowały.

4. Należy wymusić aby sterownik Nvidia działał w trybie modeset:

Kod: Zaznacz cały

echo "options nvidia_396_drm modeset=1" | sudo tee /etc/modprobe.d/zz-nvidia-modeset.conf
sudo update-initramfs -u
Po restarcie systemu polecenie

Kod: Zaznacz cały

xrandr --verbose | grep PRIME
powinno zwrócić

Kod: Zaznacz cały

	PRIME Synchronization: 1
Szarpanie obrazu powinno ustąpić.

Więcej o PRIME sync:
https://devtalk.nvidia.com/default/topi ... onization/
https://www.x.org/wiki/Events/XDC2016/P ... e-sync.pdf
Czytelnia - poczytaj, Google - poszukaj
ODPOWIEDZ

Wróć do „Hardware-Multimedia”