Здесь есть некоторые вводящие в заблуждение и некоторые неправильные рекомендации, поэтому давайте подведем итог, в чем заключается проблема и какие существуют решения.
ТЛ;Д-Р
Последние версии Ubuntu, начиная с 12.10 (Quantal), содержат исправленную версию библиотеки. Если вы все еще сталкиваетесь с проблемами с синим видео (НЕ включая Группа "Синий человек"), проверьте этот ответ – имя библиотеки Flash Player должно быть libflashplayer.so
в противном случае libvdpau не будет применять обходной путь.Вы также можете взглянуть на /etc/vdpau_wrapper.cfg
файл. Там вы можете отключить обходные пути, применяемые libvdpau.
Если у вас есть Oneiric (11.10) или Precise (12.04), установите исправленный libvdpau:
sudo add-apt-repository ppa:tikhonov/miscsudo apt-get updatesudo apt-get install libvdpau1
В противном случае вы можете изменить библиотеку Flash Player:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
Прочтите весь пост, прежде чем комментировать.
Проблема
Flash Player начиная с версии 11.2 использует аппаратное ускорение видео на большинстве платформ. К сожалению, ускорение в Linux не просто не поддерживается, но и существенно нарушено. Flash Player меняет местами цвета в видео при следующих условиях:
- Вы используете довольно новый графический процессор Nvidia с ВДПАУ поддержка.
- Вы используете текущую версию двоичного драйвера Nvidia (более старые версии не поддерживают VDPAU).
- У тебя есть
libvdpau1
пакет установлен.
- Игрок на сайте использует Сценическое Видео – вот почему пострадали только YouTube и несколько других игроков.
Видеть объяснение Пьера-Лу Гриффе из Nvidia.
Это не ошибка в драйверах Nvidia. Nvidia знает об этой проблеме, и они уже создали обходной путь. Новый драйвер, вероятно, не пострадает, потому что поддержка декодирования видео еще не завершена.
Это не ошибка в libvdpau. libvdpau - это просто оболочка, которая позволяет видеоплеерам использовать декодирование VDPAU (см. Объяснение Стивена Уоррена).
Это не специфичная для Ubuntu ошибка. Это также влияет на другие дистрибутивы, например Арка.
Ошибка, очень возможно, находится во Flash Player – хотя Adobe пытается обвинить Nvidia и некомпетентных пользователей. На трекере ошибок Adobe было несколько отчетов, все они были отклонены как “Невозможно воспроизвести”.:
Официального исправления от Adobe не будет, поскольку Flash Player на базе NPAPI получает только исправления безопасности до 2017 года. Надеюсь, к тому времени нам не понадобится Flash Player.
Обходные пути
Используйте libvdpau 0.5
Доступно в официальных репозиториях начиная с Ubuntu 12.10 libvdpau 0.4.1-6
Эта версия libvdpau включает в себя обходной путь Стивена Уоррена, описанный ниже.
Смотрите объявление о выпуске
Установите исправленный libvdpau (правильный патч)
Стивен Уоррен создал хороший патч для libvdpau, который обнаруживает Flash Player и применяет обходные пути только для него. Патчем можно управлять с помощью /etc/vdpau_wrapper.cfg
файл.
Исправленный libvdpau исправляет цвета и позволяет Flash Player использовать VDPAU для аппаратного наложения, что по-прежнему обеспечивает некоторые преимущества в производительности.
Чтобы оболочка работала, она должна распознавать использование Flash. Таким образом, библиотека Flash должна быть названа libflashplayer.so
и оболочка плагина должна быть включена в Firefox (в about:config
, dom.ipc.plugins.enabled.libflashplayer.so
и dom.ipc.plugins.enabled
должен быть установлен на true
).
Для точных (12.04) и Oneiric (11.10) вы можете установить исправленный libvdapu из PPA Максима Тиконова используя следующие команды:
sudo add-apt-repository ppa:tikhonov/miscsudo apt-get updatesudo apt-get install libvdpau1
Изменение должно вступить в силу после перезагрузки (или, возможно, раньше).
Запретить Flash Player находить libvdpau
(Через Даниэль Марио Вега на стартовой площадке)
Разместить libflashplayer.so
в вашей системе – для Ubuntu это либо в /usr/lib/adobe-flashplugin/
если у вас есть adobe-flashplugin
установленный пакет, или /usr/lib/flashplugin-installer/
для flashplugin-installer
пакет.Обратитесь к настройкам вашего браузера. about:plugins
если у вас возникли проблемы с поиском файла (небольшая настройка в случае Firefox может потребоваться).
Выполните следующие команды – при условии, что вы установили либо flashplugin-installer
, или adobe-flasplugin
:
cd /usr/lib/flashplugin-installer || cd /usr/lib/adobe-flashplugin/sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so
Изменение вступает в силу после перезапуска браузера.
Это изменит двоичный файл Flash Player для поиска несуществующей библиотеки "lixvdpau" вместо "libvdpau". Поэтому он вообще не будет пытаться использовать презентацию VDPAU.
Команда создает резервную копию двоичного файла libflashplayer.so.bak на случай, если у вас возникнут какие-либо проблемы.
Вам нужно запускать эту команду каждый раз при обновлении Flash Player, так как ваши изменения будут перезаписаны.
С помощью этого обходного пути вы можете сохранить ускорение HW включенным, установить libvdpau1, и его очень легко применить по сравнению с исправлением libvdpau.
Используйте Google Chrome с PepperFlash
Начиная с версии 20, Google Chrome поставляется с “Pepper” Flash Player 11.3 с поддержкой PPAPI (вместо 11.2 для NPAPI, используемого Firefox и др.). PepperFlash, похоже, не подвержен этой проблеме, поскольку, похоже, использует полное аппаратное ускорение.
Вспышка перца может использоваться с хромом, но, к сожалению, ни один другой браузер в настоящее время не поддерживает PPAPI.
Отключить аппаратное ускорение Flash Player
Самое простое и наименее навязчивое решение - отключить Flash Player Ускорение HW в настройках дисплея – щелкните правой кнопкой мыши на Flash, выберите Настройки…
Это, однако, не так просто, поскольку окно настроек не отвечает в composite manager (Compiz, standard Unity) и если в браузере отображаются полосы прокрутки.
Чтобы отключить аппаратное ускорение, откройте любое видео (например, на YouTube) в полноэкранном режиме и затем откройте настройки… окно. Или вы можете временно переключиться на Unity 2D или другую несоставную WM.
Изменение вступает в силу после обновления.
Недостаток: это отключает ускорение HW во Flash Player даже для векторных и растровых операций. Некоторые флеш-игры и фильмы могут иметь худшую производительность и /или худшую графику.
Удалить libvdpau
Если вы хотите включить ускорение HW во Flash Player, вы можете удалить libvdpau из системы, что эффективно предотвращает использование Flash Player VDPAU.
Бежать:
sudo apt-get remove libvdpau1
Недостаток: Настольные проигрыватели (такие как Totem и Mplayer) также не смогут использовать аппаратное декодирование видео. Это приведет к более высокой загрузке процессора во время воспроизведения. Кроме того, это может повлиять на производительность воспроизведения видео (например, пропущенные кадры или полностью замороженное изображение), особенно если у вас медленный процессор и вы смотрите видео с разрешением 1080p.
Включить аппаратное декодирование видео Flash Player
Большинство пользователей сообщили, что это приводит к очень частым сбоям Flash Player (вероятно, из-за проблем с параллелизмом при декодировании), но если вам повезет, попробуйте.
Это также тот же метод, который используется Дополнение для флэш-памяти. Лучше от этого не станет.
Бежать:
sudo mkdir /etc/adobeecho -e "EnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg > /dev/null
Это создаст файл /etc/adobe/mms.cfg с EnableLinuxHWVideoDecode=1
содержание. Это единственный способ заставить Flash Player декодировать видео на графическом процессоре, и он официально не поддерживается Adobe.
Чтобы отменить это, запустите:
sudo rm /etc/adobe/mms.cfg
чтобы удалить файл mms.cfg.
Вы можете попытаться еще больше улучшить стабильность Flash Player с помощью VDPAU_NVIDIA_NO_OVERLAY=1
переменная среды, см. Форумы Nvidia.
Замена флеш-плееров
(В соответствии с рекомендациями боузер на панели запуска)
Воспользуйся FlashVideoReplacer Дополнение для Firefox, Волшебная Литерна или другое решение для замены стандартных проигрывателей во Flash встроенным плагином видеоплеера (например, Totem – totem-mozilla
– или VLC – mozilla-plugin-vlc
). Нет флеш-плеера, нет проблем.
Исправление libvdpau (взлом vdpau_trace)
Там есть неофициальный патч от Nvidia который исправляет ошибку Flash Player на уровне libvdpau путем взлома vdpau_trace.
Обратите внимание, что вышеупомянутый патч Стивена Уоррена технически превосходен и должен использоваться вместо него.
Не обходные пути
Следующие решения будут работать только частично или могут иметь некоторые предостережения.
Включить HTML5 на YouTube
Включение проигрывателя HTML5 в http://www.youtube.com/html5 не будет работать со всеми видео; некоторые видео YouTube просто недоступны для проигрывателей HTML5 (например, из-за отсутствия поддержки рекламы). Однако видео HTML5 - это потрясающе, и вы все равно должны его использовать.
Понижение версии до Flash Player 11.1
Есть известные уязвимости в FP 11.1, которые исправлены в 11.2. Если вы хотите рискнуть, вы должны знать, во что ввязываетесь.
Если вы все еще хотите понизить рейтинг, попробуйте Flash Player 10.3, который все еще поддерживается – вы можете получить его в Архив Adobe
Переключитесь на другой графический процессор
Похоже, что очень немногие графические процессоры Nvidia не затронуты, особенно Quadro 2000 и GeForce GT 430. У обоих есть Набор функций VDPAU C, но в остальном это также затрагивает большинство графических процессоров C набором функций.Если у вас есть какой-либо из вышеупомянутых графических процессоров, пожалуйста, сообщите нам на панели запуска влияет ли эта ошибка на вас.