Здесь есть некоторые вводящие в заблуждение и некоторые неправильные рекомендации, поэтому давайте подведем итог тому, что проблема и какие решения существуют.
TL; DR
Последние версии Ubuntu с 12.10 (Quantal) содержат исправленную версию библиотеки. Если вы все еще сталкиваетесь с проблемами с синим видео (не включая Blue Man Group ), проверьте этот ответ - имя библиотеки Flash Player должно быть libflashplayer.so
, иначе libvdpau не будет применять обходной путь.
Вы также можете посмотреть файл /etc/vdpau_wrapper.cfg
. Там вы можете отключить обходные пути, применяемые libvdpau.
Если у вас есть Oneiric (11.10) или Precise (12.04), установите исправленный libvdpau:
sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo 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 с поддержкой VDPAU .
- Вы используете текущую версию двоичного драйвера Nvidia (более старые версии не поддерживают VDPAU).
- У вас установлен пакет
libvdpau1
.
- Игрок на сайте использует Stage Video - поэтому затрагиваются только YouTube и несколько других игроков .
См. объяснение Пьер-Луп Гриффера из Nvidia . р>
Это не ошибка в драйверах Nvidia. Nvidia знает об этой проблеме, и они уже создали обходной путь. Возможно, драйвер Nouveau не затронут, потому что поддержка поддержки декодирования видео еще не завершена .
Это не ошибка в libvdpau. libvdpau - это всего лишь оболочка, которая позволяет видеоплеерам использовать декодирование VDPAU (см. объяснение Стивена Уоррена ).
Это не ошибка, специфичная для Ubuntu. Также влияют другие дистрибутивы, например. Arch .
Вероятно, ошибка в Flash Player - хотя Adobe пытается обвинить Nvidia и некомпетентных пользователей. Было несколько отчетов об ошибках Adobe, все они были отклонены как «CannotReproduce»:
- Ссылка
- Ссылка
- Ссылка
- Ссылка
- Ссылка
- Ссылка
Официальное исправление Adobe не будет установлено, поскольку Flash-проигрыватель на основе 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/misc
sudo apt-get update
sudo apt-get install libvdpau1
Изменение должно вступить в силу после перезагрузки (или, возможно, раньше).
Предотвратить поиск Flash Player от libvdpau
(Через Даниэль Марио Вега на Launchpad )
Найдите libflashplayer.so
в вашей системе - для Ubuntu это либо в /usr/lib/adobe-flashplugin/
, если у вас установлен пакет adobe-flashplugin
, либо /usr/lib/flashplugin-installer/
для flashplugin-installer
.
Проконсультируйтесь с% co_de вашего браузера, если у вас возникли проблемы с поиском файла ( небольшая настройка в случае Firefox может потребоваться).
Выполните следующие команды: если вы установили либо about:plugins
, либо flashplugin-installer
:
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 поставляется с Flash Player 11.3 Pepper с поддержкой PPAPI (вместо 11.2 на NPAPI, используемой Firefox и др.). PepperFlash, похоже, не затрагивается этой проблемой, поскольку, похоже, используется полное аппаратное ускорение.
PepperFlash можно использовать с Chromium , но, к сожалению, ни один другой браузер в настоящее время не поддерживает PPAPI.
Отключить аппаратное ускорение проигрывателя Flash Player
Самое легкое и наименее навязчивое решение - отключить Flash Player ускорение HW в настройках экрана - щелкните правой кнопкой мыши на Flash, выберите Настройки ...
Это, однако, не так просто, так как окно настроек не отвечает в составе составного менеджера (Compiz, стандартное Unity), и если в браузере отображаются полосы прокрутки.
Чтобы отключить аппаратное ускорение, откройте любое видео (например, на YouTube) в полноэкранном режиме и , затем откройте окно «Настройки ...». Или вы можете временно переключиться на Unity 2D или другой некомпозиционный WM.
Изменение вступает в силу после обновления.
Недостаток: это отключает ускорение HW во Flash Player даже для векторных и растровых операций. Некоторые флеш-игры и фильмы могут иметь худшую производительность и / или худшую графику.
Удалить libvdpau
Если вы хотите включить ускорение HW во Flash Player, вы можете удалить libvdpau из системы, что эффективно предотвращает использование Flash Player VDPAU.
Run:
sudo apt-get remove libvdpau1
Недостаток: Настольные проигрыватели (такие как Totem и Mplayer) также не смогут использовать аппаратное декодирование видео. Это приведет к увеличению использования ЦП во время воспроизведения. Также может быть затронута производительность воспроизведения видео (например, отброшенные кадры или полностью замороженное изображение), особенно если у вас медленный процессор и вы смотрите видеоролики 1080p.
Включить декодирование аппаратного видео Flash Player
Большинство пользователей сообщили, что это приводит к очень частым сбоям Flash Player (возможно, из-за проблем с параллелизмом при декодировании), но если вам повезет, попробуйте.
Это также тот же метод, который используется аддон Flash-Aid . Это не улучшит ситуацию.
Run:
sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg > /dev/null
Это создаст файл /etc/adobe/mms.cfg с содержимым adobe-flasplugin
. Это единственный способ заставить Flash Player декодировать видео на GPU и официально не поддерживается Adobe.
Чтобы отменить это, запустите:
sudo rm /etc/adobe/mms.cfg
, чтобы удалить файл mms.cfg.
Вы можете попытаться улучшить стабильность Flash Player с переменной среды EnableLinuxHWVideoDecode=1
, см. Форумы Nvidia .
Замените Flash-плееры
(Как рекомендовано bowser на Launchpad ) р>
Используйте FlashVideoReplacer Дополнение к Firefox, Literna Mágica или другое решение для замены стандартных игроков во Flash с встроенным плагином видеоплеера (например, Totem - VDPAU_NVIDIA_NO_OVERLAY=1
- или VLC - totem-mozilla
). Нет Flash Player, без проблем.
Патч libvdpau (vdpau_trace hack)
Существует неофициальный неофициальный патч от Nvidia , который исправляет ошибку Flash Player на уровне libvdpau взломать vdpau_trace.
Обратите внимание, что вышеупомянутый патч Стивена Уоррена технически превосходен и должен использоваться вместо него.Р>
Не обходные пути
Следующие решения будут работать только частично или у них могут быть некоторые оговорки.
Включить HTML5 на YouTube
Включение игрока 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 набора функций.
Если у вас есть какой-либо из вышеперечисленных графических процессоров, сообщите нам на Launchpad , независимо от того, ошибка влияет на вас.