Mieć łzawienie (bez Vsync) w filmach (sterownik Nvidia)

18

To jest bardziej pytanie KDE niż Ubuntu, ale ...
Widzę łzy na ekranie. Kompozycja KDE, wideo Flash w Firefoksie i proste gry, takie jak kpat, są vsynchronizowane, ale w grach Steam i filmach występuje wyraźne ciągłe rozdarcie. Jeśli wyłączę vsync wszędzie, łzawienie jest dwukrotnie bardziej zauważalne, więc nie chodzi tylko o ignorowanie ustawień przez GPU.
Co mnie najbardziej boli to to, że mam ten sam problem w wielu różnych konfiguracjach. Czy wszyscy mają ten problem i nikogo to nie obchodzi?
Moja konfiguracja

  • Kubuntu (kilka ostatnich wersji) lub OpenSuse lub Gentoo.
  • KDE 4.12 - 4.13
  • Nvidia GTX 260, 570, TITAN, różne wersje sterowników.
  • Oglądam filmy w SMplayer z zapleczem mplayer2. VLC ma ten sam problem.

Co próbowałem (i to nie pomogło)

  • Włączanie i wyłączanie w różnych konfiguracjach ustawień Vsync w ustawieniach nvidia i efektów pulpitu KDE.
  • Przełączanie wyjścia i direct renderingustawień Mplayera .
  • Wyłączanie trybu zasilania adaptacyjnego w ustawieniach NVIDIA.
  • Wyłączanie komponowania
  • Zmiana monitora Hz
  • Uruchamianie mplayera z CLI
  • Odprawianie rytuałów i ofiar

Co zadziałało (ale nie jest akceptowalnym rozwiązaniem)

  • Wyłączanie KDE i uruchamianie Mplayera w sesji w czystym X.
  • Przejście do secesji ORAZ wyłączenie kompozycji ORAZ otwieranie wideo na pełnym ekranie - bez żadnej części wciąż się rozrywa.

Proszę o poradę.

AKTUALIZACJA 1 Dowiedziałem się, że jeśli przejdę do Desktop Effects - Advanced i zmienię tam coś cennego (wersja OpenGL, algorytm skalowania) i wcisnę Apply, łza zniknie aż do ponownego uruchomienia. Jednak żadne ustawienie nie rozwiązuje tego raz na zawsze. Po ponownym uruchomieniu muszę coś zmienić i wydaje mi się, że wystarczy obwiniać za błąd, a nie za moje błędy, więc sporządzę raport o błędzie.

Barafu Albino
źródło

Odpowiedzi:

8

Prosty przewodnik do rozwiązania tego irytującego problemu :)

  1. Utwórz plik:

    /etc/profile.d/Tearing.sh
    
  2. Wstaw ten kod:

    export __GL_YIELD="USLEEP"
    
  3. Następnie uczyń go wykonywalnym za pomocą:

    chmod +x /etc/profile.d/Tearing.sh
    
  4. Gdy to zrobisz, uruchom ponownie lub naciśnij ctrl + alt + F2, zaloguj się i uruchom sudo service lightdm restart Lub uruchom ponownie, niezależnie od tego, kim jest Twój menedżer wyświetlania.

GL_YIELD działało dla mnie, a teraz wydaje się, że synchronizacja pionowa działa tak, jak powinna.

( https://www.kubuntuforums.net/showthread.php?63946-No-vertical-sync-with-NVIDIA&highlight=tearing )

Dominik Najberg
źródło
Działa świetnie, dzięki! Nigdy więcej
łez
1
Zrobił także lewę dla mnie, nVidia GeForce 210 przez HDMI do telewizora
K0D4
8

Źródłem problemu były (oczywiście) wadliwe sterowniki NVIDIA. Rozwiązanie jest proste. Dodaj zmienne środowiskowe:

export __GL_YIELD="USLEEP"
export __GL_THREADED_OPTIMIZATIONS=1

gdzieś przed uruchomieniem X. System /etc/profile/działa dobrze.

Barafu Albino
źródło
2
To nie pomogło w 14.04 ani 16.04
Giovanni Toraldo
5

Miałem go przybity ...

Więc - przede wszystkim sprawdź, czy problem nie zniknie po wyłączeniu efektów pulpitu (Alt + Shift + F10). Mogę zagwarantować, że problem już zniknął.

Przejdź do Ustawień systemu i otwórz Efekty pulpitu:

  • Metoda skalowania do czegoś innego niż aktualnie ustawiona <- faktyczna poprawka

Wiem, że opcje mogą nie być nazwane dokładnie tak jak powyżej. Przepraszam za to, ale używam polskiej wersji Kubuntu.

Powyższe kroki naprawiły dla mnie problem. Ale dopiero po nowej instalacji. :)

EDYCJA: W obecnej wersji Kubuntu 14.04 problem związany jest z Metodą Skalowania. Zmiana na cokolwiek innego niż obecnie wybrany, pomaga rozwiązać problem TYMCZASOWO.

Dominik Najberg
źródło
Próbowałem ustawić „Scaling Method to Smooth” sam i wydawało się, że to rozwiązało problem! Ale poczekam weekend przed zamknięciem odpowiedzi. Łzy zniknęły już na jakiś czas i pojawiły się ponownie, a ponadto ta „gładka” rzecz nie powinna mieć wpływu na odtwarzanie filmu. Dziwne. Nawet straszne, wiesz.
Barafu Albino
Wydaje się, że tak jest: kiedy zmienię metodę skali na cokolwiek, łzy znikają. Ale po ponownym uruchomieniu komputer powrócił i muszę go ponownie zmienić na coś innego.
Barafu Albino
To rozwiązało problem. Myślę, że nie wszystkie kroki były konieczne, ale razem wydają się to obejmować i uzyskuję piękną wydajność wideo HD (w VLC) zarówno w trybie okienkowym, jak i zmaksymalizowanym. Naprawiono to także połączenie ustawień nvidii i wyłączania efektów pulpitu, ale w ten sposób mogę pozostawić włączone efekty pulpitu. Zainstalowałem również wcześniej pakiet dodatków z ograniczeniami ubuntu - nie jestem pewien, czy to zadziałało, czy nie.
gregtczap
I mogę „zagwarantować”, że jeśli wyłączysz monitor, problem „może” również zniknąć :) Nie ma przestępstwa, ale jeśli problem po prostu „zniknie”, nie będzie żadnej gwarancji. W każdym razie mam na myśli to, że nie jest to dla mnie akceptowalna rozdzielczość i prawdopodobnie wiele innych, jednak może to pomóc, jeśli chce się tylko obejrzeć jeden film i nie spędzać na nim dużo czasu.
tomasb
5

Próbowałem wszystkich sztuczek i nic nie rozwiązałem na Ubuntu 15.04 (wraz z Xorg-edgerami i NVIDIA-355), dopóki nie przyszedłem na stronę NVIDIA Archlinux .

Testuj z:

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

Aby zmienić na stałe, musisz dodać następujący wiersz do sekcji „Ekran” pliku konfiguracyjnego Xorg, na przykład w /etc/X11/xorg.conf.d/20-nvidia.conf

Option  "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
Giovanni Toraldo
źródło
Kopiowanie i wklejanie tej samej odpowiedzi na wiele pytań nie jest zbyt dobre. Powinieneś zaznaczyć jako duplikat fakt, że na te pytania są już odpowiedzi. Dzięki :)
Mitch
Dzięki, miałem problemy ze łzami, a inne rozwiązania (takie jak ustawienie zmiennej __GL_YIELD) nie działały. Ponadto miałem wcześniej problemy z ustawieniem pliku Xorg, ale powyższa linia poleceń działała pomyślnie. Spróbuję dodać wiersz poleceń do mojego ~ / .xprofile. To hack, ale powinno działać.
Chris
1
Nie mogę dać ci wystarczającej liczby punktów :-) Dla porównania jestem na Xubuntu 15.10 z nvidią-355.
Marcus
1
To zadziałało dla mnie i im 14.04 :)
Neil
1
To działało dla mnie w KDE Neon User LTE.
tejzpr
0

Usunięcie sterownika NVIDIA rozwiązane dla mnie. W przypadku XFCE jedyną rzeczą, która pomogła, była wymiana menedżera okien.

Waterscroll
źródło
1
Tak jest w przypadku XFCE. Jednak w przypadku innych WM usunięcie sterownika jest zarówno niepotrzebne, jak i może rozwiązać problemy.
Barafu Albino,
Wydaje mi się to konieczne, ponieważ kierowca jest zepsuty, a nouveau daje potrzebną vsync.
Waterscroll,
Jakiego menedżera okien użyłeś zamiast tego?
jarno
Compton, ale wymyśliłem źródło mojego problemu. Wystąpił problem z NVIDIA Optimus i Xorg, który powoduje rozdarcie podczas korzystania z karty NVIDIA.
Waterscroll,
Jeśli chodzi o vsync, pomogło zbudowanie Xfwm4 z Gita; instrukcje są tutaj ). Jednak obecna wersja Git wydaje się mieć inne problemy z rysowaniem.
jarno
0

Próbowałem naprawić sugestię, by naprawić zrywanie ekranu podczas oglądania filmów w Unity, Gnome i Gnome Classic na dwóch komputerach (jeden z Nvidią Titan X, a drugi ze starą kartą Radeon). Nic nie działało.

Potem zauważyłem, że kiedy przełączyłem wyjście wideo w moim ustawieniu VLC z OpenGL na X11, łzy ustąpiły, ale zacząłem dostawać dużo przypadkowych czarno-białych kwadratów lub „szumów”.

Aby odtwarzanie wideo działało, zainstalowałem Lubuntu Desktop, który używa OpenBox zamiast OpenGL. Lubuntu to pochodna Ubuntu z domyślnie zainstalowanym LXDE. Jest niezwykle lekki i idealny do działania w tle podczas korzystania z Kodi i Steam lub po prostu oglądania filmów.

Podczas szybkiego przeciągania okien może wystąpić rozrywanie okien, ale w tej sytuacji nie ma to dla mnie znaczenia, ponieważ na tym komputerze używam wyłącznie Kodi i Steam w trybie pełnoekranowym.

Uruchom następującą komendę, aby zainstalować niestandardowy LXDE w Lubuntu i waniliowy LXDE na Ubuntu:

sudo apt-get install lubuntu-desktop

Zamiast tego użyj tego polecenia, aby zainstalować tylko waniliowy LXDE:

sudo apt-get install lxde

Możesz także dać LXDE impuls, pobierając  live CD Lubuntu .

Każde środowisko różni się tylko domyślnymi ustawieniami. Pochodzą one z różnymi motywami, tapetami i układami paneli. Na przykład przeglądarka Chromium jest domyślna w Lubuntu, a Mozilla Firefox jest domyślna w waniliowym LXDE. Oczywiście możesz używać dowolnej przeglądarki z którąkolwiek z nich. Oba używają menedżera plików PCManFM, lekkiego zamiennika menedżera plików Nautilus w GNOME.

Po zainstalowaniu dowolnego pakietu wyloguj się i wybierz sesję Lubuntu lub LXDE z ekranu logowania.

Moje filmy nigdy nie wyglądały lepiej niż w Lubuntu. Byłem w stanie podbić moją częstotliwość do 120 Hz, aby pasowała do mojego telewizora. Odtwarzanie było wyjątkowo płynne dla 1920x1080p.

guttermonk
źródło
OpenBox zamiast OpenGL? Czy są do tego samego zadania?
jarno
Nie, sugeruję użycie menedżera okien do komponowania, takiego jak Openbox, który nie korzysta z OpenGL. en.m.wikipedia.org/wiki/Compositing_window_manager
guttermonk
Xfce4 domyślnie używa Thunar jako menedżera plików, a nie PCManFM.
jarno
Uruchomienie LXDE nie zatrzymało przerywania wideo w przeglądarce Chromium podczas odtwarzania YouTube. Mam grafikę Intela i Ubuntu 14.04.
jarno
@Jarno, XFCE było literówką. Zredagowałem go i zastąpiłem LXDE. Jeśli chodzi o zrywanie ekranu, czy próbowałeś innej przeglądarki? Czy masz problem z rozrywaniem ekranu podczas odtwarzania plików wideo z dysku twardego?
guttermonk