Site Tools


hw_accelerated_video_playback

Nvidia Driver for ubuntu 12.04, 12.10, 13.xx

<HTML> <span style=“color:red;font-size:120%;”><br/> <b>Warning! Article is a little bit outdated!</b> <br/> <br/> </span> <span style=“color:red;font-size:120%;”>Warning! Use this instruction at you own risk! <br/> You should definitly know what are you doing <br/> (especially at “Fix kernel cmdline” section) else <br/> you may get unbootable or broken system!<br/> </span> <span style=“color:red;font-size:120%;”><br/> Notes: <br/> 1) 12.10 should have fixed nvidia-tegra driver package. So it is not needed to remove it. <br/> 2) some links are outdated. <br/> - codecs archive: <a href=“http://developer.nvidia.com/sites/default/files/akamai/mobile/files/L4T/ventana_Tegra-Linux-codecs-R16.3.0_armhf.tbz2”>ventana_Tegra-Linux-codecs-R16.3.0_armhf.tbz2</a> <br/> <br/> </span> </HTML>

ubuntu 12.04

Fix kernel cmdline for 3.1.10 kernel

Important! For ubuntu 12.04 you should add console=tty1 to cmdline parameters in /boot/bootimg.cfg

This line need to be changed to this state (just example, not a working config):

cmdline = mem=512M@0M terapart=something root=UUID=anothersomething  quiet splash console=tty1

Open /boot/bootimg.cfg in you favorite text editor and make changes.

sudo apt-get purge nvidia-tegra
sudo update-alternatives --remove arm-linux-gnueabi_egl_conf /usr/lib/nvidia-tegra/ld.so.conf
sudo update-alternatives --remove-all nvidia_drv

Kernel and driver installation

Remove previous nvidia-tegra installation

sudo apt-get purge nvidia-tegra
sudo update-alternatives --remove arm-linux-gnueabi_egl_conf /usr/lib/nvidia-tegra/ld.so.conf
sudo update-alternatives --remove-all nvidia_drv

Download and install kernel and driver packages

wget http://launchpadlibrarian.net/118260107/linux-image-3.1.10-6-ac100_3.1.10-6.9_armhf.deb
wget http://flie.no-ip.org:7080/ac100/deb/nvidia-tegra_16.1.0-0ubuntu3~fly2_armhf.deb
sudo dpkg -i linux-image-3.1.10-6-ac100_3.1.10-6.9_armhf.deb nvidia-tegra_16.1.0-0ubuntu3~fly2_armhf.deb

ubuntu 12.10

First, check you kernel version. It should be 3.1.10-6.9 or later.

dpkg -l | grep linux-image-3.1.10

Update it if necessary

sudo apt-get install linux-image-ac100

Install nvidia-tegra drivers

Remove previous nvidia-tegra installation

sudo apt-get purge nvidia-tegra
sudo update-alternatives --remove arm-linux-gnueabi_egl_conf /usr/lib/nvidia-tegra/ld.so.conf
sudo update-alternatives --remove-all nvidia_drv

Download and install new codecs and driver packages.

wget http://flie.no-ip.org:7080/ac100/deb/nvidia-tegra-ventana-codecs_16.0.0-0ubuntu1_armhf.deb
wget https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-tegra/16.2.0-0ubuntu3/+build/3907865/+files/nvidia-tegra_16.2.0-0ubuntu3_armhf.deb
sudo dpkg -i nvidia-tegra_16.2.0-0ubuntu3_armhf.deb nvidia-tegra-ventana-codecs_16.0.0-0ubuntu1_armhf.deb

If you prefer you own kernel, inspect that you have CONFIG_TEGRA_AVP_KERNEL_ON_MMU=y and “CONFIG_TEGRA_NVAVP is not set” in kernel config.

ubuntu 13.xx

Driver package is ok in 13.xx. Install it.

sudo apt-get install nvidia-tegra

Download and install codecs packages. TODO: provide link to actual codecs package

Gstreamer tuninig

gstreamer-properties is a part of gnome-media package. Run

gstreamer-properties

Insert parameters nv_omx_audiosink and nvxvimagesink to its place

audio

video

(Button Test prodice “could not link ffmpegcsp0 to nvxvimagesink2” error, its dont work with this driver for some reason)

Finally

sudo reboot

Done! Now you can run totem and play videos with relativly high cpu load. At this time window and fullscreen playback working in totem. Example video - h264 720p trailer Should play smoothly in totem, and you can compare it with mplayer -vo x11.

Advice: install gstreamer0.10-plugins-bad to ac3-encoded audiotracks playback.

Totem keyboard shortcuts:

 F1 - Help
 F9 - Properties
 F11 - Full Screen
 q - Quit
 r - Zoom In
 t - Zoom Out
 o - Open
 p - Pause
 a - Change Format
 f - (see F11)
 h - Show/Hide Controls
 > - Frame Advance from pause (This is the one I was looking for!!)
 < - Return to pause point from frame advance
 → - Advance 1 min
 SHIFT → - Advance 15 secs
 ← - Back 15 secs
 SHIFT ← - Back 5 secs
 ↑ - Volume up
 ↓ - Volume down

Also, there is some other ways to play video in window mode

nvgstplayer -i  file:///media/TOS_AC_AZ/Videos/example.avi --svs="nvxvimagesink"

gst-launch-0.10 playbin2 uri=file:///media/TOS_AC_AZ/Videos/example.avi video-sink=nvxvimagesink  audio-sink=nv_omx_audiosink

for nvgstplayer run programm from terminal and leave focus on it to have control keys.

Check permissions and owners of /dev/nv* files if any problems. It should be 0660 root:video.

OpenGLESv2

Also, you can install packages mesa-utils-extra and glmark2-es2 to look at movings gears

es2gears

or run more complex benchmark

glmark2-es2

There is some games (even more games on russian wiki) running on ac100 via GLES2 Also check WebGL on Chronos or Chrome Experiments in chromium running as

chromium-browser ----use-gl=egl
hw_accelerated_video_playback.txt · Last modified: 2014/11/24 10:33 by stuw