Istnieją tutaj mylące i błędne rekomendacje, więc podsumujmy, na czym polega problem i jakie są rozwiązania.
TL; DR
Najnowsze wersje Ubuntu od 12.10 (Quantal) zawierają poprawioną wersję biblioteki. Jeśli nadal masz problemy z niebieskim wideo (NIE w tym z Blue Man Group ), sprawdź tę odpowiedź - nazwa biblioteki Flash Playera musi być libflashplayer.so
inna, inaczej libvdpau nie zastosuje obejścia. Możesz także zajrzeć do /etc/vdpau_wrapper.cfg
pliku. Tam możesz wyłączyć obejścia zastosowane przez libvdpau.
Jeśli masz Oneiric (11.10) lub Precise (12.04), zainstaluj załataną bibliotekę libvdpau:
sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1
W przeciwnym razie możesz zmodyfikować bibliotekę Flash Playera:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
Przeczytaj cały post przed komentowaniem.
Problem
Flash Player od wersji 11.2 wykorzystuje sprzętową akcelerację wideo na większości platform. Niestety przyspieszenie w Linuksie jest nie tylko nieobsługiwane, ale w zasadzie zepsute. Flash Player zamienia kolory na wideo w następujących warunkach:
- Używasz dość nowej karty graficznej Nvidia z obsługą VDPAU .
- Używasz aktualnej wersji sterownika binarnego Nvidia (starsze wersje nie obsługują VDPAU).
- Masz
libvdpau1
zainstalowany pakiet.
- Odtwarzacz na stronie korzysta ze stołu montażowego - dlatego dotyczy to tylko YouTube'a i kilku innych graczy.
Zobacz wyjaśnienie Pierre-Loup Griffais z Nvidii .
To nie jest błąd w sterownikach Nvidii. Nvidia zdaje sobie sprawę z tego problemu i już opracowała obejście. Prawdopodobnie nie ma to wpływu na sterownik Nouveau, ponieważ obsługa dekodowania wideo jeszcze się nie zakończyła .
To nie jest błąd w libvdpau. libvdpau to tylko opakowanie, które pozwala odtwarzaczom wideo korzystać z dekodowania VDPAU (patrz wyjaśnienie Stephena Warrena ).
To nie jest błąd specyficzny dla Ubuntu. Dotyczy to również innych dystrybucji, np . Arch .
Błąd najprawdopodobniej występuje we Flash Playerze - chociaż Adobe próbuje obwiniać Nvidię i niekompetentnych użytkowników. Pojawiło się wiele raportów na temat narzędzia do śledzenia błędów Adobe, wszystkie zostały odrzucone jako „CannotReproduce”:
Adobe nie będzie oficjalnej poprawki, ponieważ Flash Player oparty na NPAPI otrzymuje tylko poprawki bezpieczeństwa do 2017 roku. Mam nadzieję, że do tego czasu nie będziemy potrzebować Flash Playera.
Obejścia
Użyj libvdpau 0.5
Dostępne w oficjalnych repozytoriach od Ubuntu 12.10 libvdpau 0.4.1-6
Ta wersja libvdpau zawiera obejście Stephena Warrena opisane poniżej.
Zobacz ogłoszenie o wydaniu
Zainstaluj łataną libvdpau (poprawną łatkę)
Stephen Warren stworzył fajną łatkę dla libvdpau , która wykrywa Flash Playera i stosuje tylko obejścia tego problemu. Łatka może być kontrolowana za pomocą /etc/vdpau_wrapper.cfg
pliku.
Poprawione libvdpau naprawia kolory i pozwala Flash Playerowi używać VDPAU do nakładki sprzętowej, co nadal zapewnia pewne korzyści w zakresie wydajności.
Aby opakowanie działało, musi rozpoznać użycie Flasha. Więc biblioteka Flash musi być nazwane libflashplayer.so
i owinięcie Wtyczka musi być włączona w przeglądarce Firefox (w about:config
, dom.ipc.plugins.enabled.libflashplayer.so
i dom.ipc.plugins.enabled
powinien być ustawiony true
).
W przypadku wersji Precise (12.04) i Oneiric (11.10) możesz zainstalować załataną libvdapu z PPA Maxima Thikonova, używając następujących poleceń:
sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1
Zmiana powinna wejść w życie po ponownym uruchomieniu (lub być może wcześniej).
Uniemożliwiaj Flash Playerowi znalezienie libvdpau
(Via Daniel Mario Vega na Launchpad )
Zlokalizować libflashplayer.so
w systemie - dla Ubuntu, to albo w /usr/lib/adobe-flashplugin/
jeśli masz adobe-flashplugin
zainstalowany pakiet, albo /usr/lib/flashplugin-installer/
na flashplugin-installer
opakowaniu. Skonsultuj się z przeglądarką, about:plugins
jeśli masz problemy ze znalezieniem pliku ( może być wymagane niewielkie ulepszenie w przypadku przeglądarki Firefox ).
Uruchom następujące polecenia - przy założeniu, że masz zainstalowany albo flashplugin-installer
, albo adobe-flasplugin
:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
Zmiana wchodzi w życie po ponownym uruchomieniu przeglądarki.
Spowoduje to zmodyfikowanie pliku binarnego Flash Playera w celu wyszukiwania nieistniejącej biblioteki „lixvdpau” zamiast „libvdpau”. Dlatego w ogóle nie będzie próbował użyć prezentacji VDPAU.
Polecenie tworzy kopię zapasową pliku binarnego libflashplayer.so.bak na wypadek problemów.
Musisz uruchomić to polecenie za każdym razem, gdy pojawi się aktualizacja Flash Playera, ponieważ twoja zmiana zostanie zastąpiona.
Dzięki temu obejściu można utrzymać przyspieszenie sprzętowe, zainstalować libvdpau1 i jest to bardzo łatwe do zastosowania w porównaniu do łatania libvdpau.
Używaj Google Chrome z PepperFlash
Od wersji 20 Google Chrome jest dostarczany z „Pepper” Flash Player 11.3 z obsługą PPAPI (zamiast 11.2 w NPAPI używanym przez Firefox i in.). Wydaje się, że ten problem nie dotyczy PepperFlash, ponieważ wydaje się, że wykorzystuje pełne przyspieszenie sprzętowe.
PepperFlash może być używany z Chromium , ale niestety żadna inna przeglądarka obecnie nie obsługuje PPAPI.
Wyłącz przyspieszenie sprzętowe Flash Playera
Najłatwiejszym i najmniej inwazyjnym rozwiązaniem jest wyłączenie przyspieszenia sprzętowego Flash Playera w ustawieniach ekranu - kliknij Flash prawym przyciskiem myszy, wybierz Ustawienia…
Nie jest to jednak takie łatwe, ponieważ okno Ustawienia nie odpowiada w menedżerze kompozytów (Compiz, standardowa Unity) i jeśli przeglądarka wyświetla paski przewijania.
Aby wyłączyć przyspieszenie sprzętowe, otwórz dowolny film (np. Na YouTube) na pełnym ekranie, a następnie otwórz okno Ustawienia… Możesz też tymczasowo przełączyć się na Unity 2D lub inną nieskompozytową WM.
Zmiana obowiązuje po odświeżeniu.
Wada: wyłącza przyspieszenie HW we Flash Playerze nawet w przypadku operacji wektorowych i bitmapowych. Niektóre gry i filmy Flash mogą mieć gorszą wydajność i / lub gorszą grafikę.
Odinstaluj libvdpau
Jeśli chcesz włączyć akcelerację sprzętową we Flash Playerze, możesz odinstalować libvdpau z systemu, co skutecznie zapobiega korzystaniu z VDPAU przez Flash Playera.
Biegać:
sudo apt-get remove libvdpau1
Wada: odtwarzacze stacjonarne (takie jak Totem i Mplayer) również nie będą mogły używać sprzętowego dekodowania wideo. Doprowadzi to do większego wykorzystania procesora podczas odtwarzania. Może to również wpłynąć na wydajność odtwarzania wideo (np. Upuszczone klatki lub całkowicie zamrożony obraz), szczególnie jeśli masz wolniejszy procesor i oglądasz filmy 1080p.
Włącz sprzętowe dekodowanie wideo Flash Playera
Większość użytkowników zgłosiła, że prowadzi to do bardzo częstych awarii Flash Playera (prawdopodobnie z powodu problemów z współbieżnością w dekodowaniu), ale jeśli masz szczęście, spróbuj.
Jest to również ta sama metoda, którą stosuje dodatek Flash-Aid . Nie poprawi tego.
Biegać:
sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg > /dev/null
Spowoduje to utworzenie pliku /etc/adobe/mms.cfg z EnableLinuxHWVideoDecode=1
zawartością. Jest to jedyny sposób, w jaki sposób zmusić Flash Playera do dekodowania wideo na GPU i nie jest oficjalnie obsługiwany przez Adobe.
Aby cofnąć to, uruchom:
sudo rm /etc/adobe/mms.cfg
aby usunąć plik mms.cfg.
Możesz spróbować poprawić stabilność Flash Playera za pomocą VDPAU_NVIDIA_NO_OVERLAY=1
zmiennej środowiskowej, zobacz fora Nvidia .
Wymień odtwarzacze Flash
(Zgodnie z zaleceniami Bowser na Launchpad )
Użyj dodatku FlashVideoReplacer Firefox, Literna Mágica lub innego rozwiązania, aby zastąpić standardowe odtwarzacze Flash we wtyczce wbudowanego odtwarzacza wideo (np. Totem - totem-mozilla
- lub VLC - mozilla-plugin-vlc
). Bez Flash Playera, bez problemu.
Łatka libvdpau (hd vdpau_trace)
Istnieje nieoficjalna łatka Nvidii, która naprawia błąd Flash Playera na poziomie libvdpau poprzez hackowanie vdpau_trace.
Pamiętaj, że wspomniana łatka Stephena Warrena jest technicznie lepsza i powinna być używana zamiast niej.
Brak obejścia
Następujące rozwiązania będą działać tylko częściowo lub mogą mieć pewne zastrzeżenia.
Włącz HTML5 na YouTube
Włączenie odtwarzacza HTML5 na stronie http://www.youtube.com/html5 nie będzie działać ze wszystkimi filmami; niektóre filmy z YouTube po prostu nie są dostępne dla odtwarzacza HTML5 (na przykład z powodu braku obsługi reklam). Jednak wideo HTML5 jest niesamowite i powinieneś z niego korzystać.
Przejście na Flash Player 11.1
W FP 11.1 znane są luki, które zostały naprawione w 11.2. Jeśli chcesz zaryzykować, powinieneś wiedzieć, w co się pakujesz.
Jeśli nadal chcesz obniżyć wersję, wypróbuj Flash Player 10.3, który jest nadal obsługiwany - możesz go pobrać w archiwum Adobe
Przełącz na inny procesor graficzny
Wygląda na to, że nie ma to wpływu na bardzo niewiele procesorów graficznych Nvidia, szczególnie Quadro 2000 i GeForce GT 430. Oba mają zestaw funkcji VDPAU C , ale poza tym dotyczy to także większości procesorów graficznych C zestawu funkcji. Jeśli masz którykolwiek z wyżej wymienionych układów GPU, powiedz nam na Launchpad, czy ten błąd dotyczy Ciebie.