гибридный дамп для VDPAU ускорил видео, играющее на Ubuntu 11.10 со шмелем 3.0?

Я пытаюсь работать, гибридный дамп для VDPAU ускорил видео, играющее на Ubuntu 11.10 со Шмелем 3,0 установленных и выполнение. Но следуя инструкциям в URL ниже, я не могу заставить mplayer с vdpau работать:

https://askubuntu.com/a/100812/17702

avilella@magneto:~/hybrid_graphics/hybrid-windump$ git pull
Already up-to-date.
avilella@magneto:~/hybrid_graphics/hybrid-windump$ make clean && make

optirun true
LD_LIBRARY_PATH=/usr/lib/nvidia-current DISPLAY=:8 metacity --replace &
LD_LIBRARY_PATH=/usr/lib/nvidia-current DISPLAY=:8 mplayer -vo vdpau file.720p.mkv
#(in the other gnome-terminal tab)
LD_LIBRARY_PATH=/usr/lib/nvidia-current ~/hybrid_graphics/hybrid-windump/windump :8 :0

Также попробованный:

LD_LIBRARY_PATH=/usr/lib/nvidia-current DISPLAY=:8 mplayer -vo vdpau -vc ffh264vdpau file.720p.mkv

Я не получаю видео от него, только аудио. Я действительно получаю видео и аудио, если я удаляю бит vdpau, но затем windump не нужен:

LD_LIBRARY_PATH=/usr/lib/nvidia-current DISPLAY=:8 mplayer file.720p.mkv

Если я пробую glxspheres, он работает хорошо, как это:

LD_LIBRARY_PATH=/usr/lib/nvidia-current DISPLAY=:8 glxspheres
#(in the other gnome-terminal tab)
LD_LIBRARY_PATH=/usr/lib/nvidia-current ~/hybrid_graphics/hybrid-windump/windump :8 :0

Polygons in scene: 62464
Visual ID of window: 0x27
Context is Direct
OpenGL Renderer: GeForce 310M/PCI/SSE2

Теперь видео проигрывание. Следуя инструкциям ниже, я добрался, это для работы некоторым расширяется:

Править /etc/bumblebee/xorg.conf.nvidia и добавил:

Section "Screen"
    Identifier "Screen0"
    DefaultDepth 24
    SubSection "Display"
        Depth    24
        Virtual  1280 720
    EndSubSection
EndSection

Перезапущенный bumblebeed:

sudo restart bumblebeed

В одном из терминалов я звоню mplayer команда:

LD_LIBRARY_PATH=/usr/lib/nvidia-current:/usr/lib/nvidia-current/vdpau DISPLAY=:8 optirun mplayer -vo vdpau -ao alsa file.720p.mkv

В другом терминале я затем звоню compiz и затем windump команды:

LD_LIBRARY_PATH=/usr/lib/nvidia-current DISPLAY=:8  compiz --replace &

~/hybrid-windump/windump :8 :0

ПРОБЛЕМЫ: Я борюсь с размером окна видео. В 1366x768 экран, я настроил для 1280x720 размер видео, но изображение прерывается приблизительно на 200 пикселей на правой стороне, оставляя тот же размер черного цвета цвета windump область.

Какие-либо идеи?

0
задан 13 April 2017 в 15:24

4 ответа

Я вижу один недостаток в вашем подходе к использованию X-сервера, запущенного Шмелем (:8). Как только демон Bumblebee обнаруживает, что клиенты optirun отсутствуют, он выключает X-сервер. Чтобы заставить X-сервер остаться в живых, даже если optirun вышел:

  1. Отредактируйте /etc/bumblebee/bumblebee.conf и установите KeepUnusedXServer=true
  2. Перезапустите демон, используя sudo restart bumblebeed (будьте осторожны: это уничтожит любое существующее optirun приложение)
  3. Запустить запуск X-сервера: optirun true (true - это просто команда, которая немедленно возвращается, это может быть что угодно)
  4. [ 1121] Запустите приложение на вторичном X-сервере. Часть LD_LIBRARY_PATH необходима, если вы используете драйвер nvidia:

    LD_LIBRARY_PATH=/usr/lib/nvidia-current DISPLAY=:8 metacity --replace &`
    
  5. Запустите windump с: windump :8 :0

Примечание: я не смог получить это работать с xorg-edgers / ppa + nouveau и драйвером nvidia, используя вилку gebarts. С драйвером nvidia у меня было много слез при работе glxspheres. Если разрешение выведенного на экран экрана не соответствует основному разрешению экрана, вам, вероятно, нужно добавить дополнительные моделины в /etc/bumblebee/xorg.conf.nvidia. Для 1920x1080 добавляемые строки выглядят так:

Section "Screen"
    Identifier "Screen0"
    DefaultDepth 24
    SubSection "Display"
        Depth    24
        Virtual  1920 1080
    EndSubSection
EndSection
0
ответ дан 13 April 2017 в 15:24

Вот как я получил vdpau:

  1. Отредактировано /etc/bumblebee/xorg.conf.nvidia для получения

    Section "Screen"
        Identifier "Screen0"
        DefaultDepth 24
        SubSection "Display"
            Depth    24
            Virtual  1920 1080
        EndSubSection
    EndSection
    
  2. Выполнить

    [ 111]
  3. Выполнить

    LD_LIBRARY_PATH=/usr/lib/nvidia-current DISPLAY=:8  compiz --replace &
    
  4. Скачано https://github.com/gebart/hybrid-windump , удалено [ 115], затем скомпилирован (просто make команда).

  5. Выполнить ./windump :8 :0

Примечание: Вам не нужно редактировать /etc/bumblebee/bumblebee.conf и изменять KeepUnusedXServer на true как мы запускаем MPlayer напрямую с Optirun.

0
ответ дан 13 April 2017 в 15:24

Я рад, что людям нравится мое решение, но я хотел бы подчеркнуть, что это только доказательство концептуального способа использования VDPAU с Optimus.

gebart написал гибридный windump таким образом, что он сильно привязан к процессору, поскольку все копируется с «экрана» на «экран» довольно неэффективно.

Да, вы используете VDPAU для декодирования, но вы не получаете никакой экономии от использования ЦП.

Существует также возможность вывести отдельные окна по их идентификатору окна.

Для клавиатуры вам понадобится Option "AutoAddDevices" "true".

Вы также можете использовать гибридный windump для запуска целого сеанса рабочего стола с поддержкой VDPAU, используя предпочитаемое DE.

Если вы все еще хотите использовать это, вот несколько видео о том, как выглядят результаты (в зависимости от конфигурации X):

http://www.youtube.com/watch?v= WVBMLdeRoUU

http://www.youtube.com/watch?v=pxziIAPFIFY

0
ответ дан 13 April 2017 в 15:24

Это должно быть DISPLAY=:0; metacity --replace &

Кроме того, optirun говорит, что ваш дисплей четко: 0.0, почему вы пытаетесь запустить отображение метасити: 8? У вас есть запущенная программа: 8, которую мы не видим в вашем сообщении? Если да, пожалуйста, предоставьте нам эту информацию, также?

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: