Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 308871 - New package: x11-libs/libva (vaapi)
Summary: New package: x11-libs/libva (vaapi)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL:
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks: 305209 317317
  Show dependency tree
 
Reported: 2010-03-10 19:05 UTC by Olivier Huber
Modified: 2011-03-05 09:47 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild proposal (libva-0.31.0_p10.ebuild,1.30 KB, text/plain)
2010-03-10 19:09 UTC, Olivier Huber
Details
patch (libva-dont-install-tests.patch,1.75 KB, patch)
2010-03-10 19:09 UTC, Olivier Huber
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier Huber 2010-03-10 19:05:49 UTC
From description :
Video Acceleration (VA) API for Linux
 The libva library implements the Video Acceleration (VA) API for Linux.
 The library loads a hardware dependent driver.

I use a heavily patch version from http://www.splitted-desktop.com/~gbeauchesne/libva/ which offers more functionality.

I tried to be be very accurate concerning dependencies. But I have some questions :

- If I check the libraries (for instance libva-x11.so), I can see that some are linked to libraries for which there are not test during configure (for instance libxcb, x11-libs/libXdmcp and x11-libs/libXau). But these lib. are dependencies of libX11, which is needed. So should I put them in DEPENDS or not ? (It's also the case for x11-libs/libXxf86vm and x11-libs/libXdamage).

- There is also a check for intel-gen4asm (http://cgit.freedesktop.org/xorg/app/intel-gen4asm) but no switch to disable it. I don't know exactly what this software does, so I don't know it if I should bother or not.

I also wrote a patch to not install some test programs.

In the tree, ffmpeg and mythtv can already use this library. The author provides also some patches for mplayer, but they are quite invasive.
I tested it with mplayer, and it seems to work.

The author (http://www.splitted-desktop.com/~gbeauchesne/) has also other backends for AMD and NVIDIA hardware, but I can't test it, since I don't have such a card.

emerge --info libva
Portage 2.2_rc67 (default/linux/amd64/10.0/developer, gcc-4.4.2, glibc-2.11-r1, 2.6.33-gentoo x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.33-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_P8600_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Wed, 10 Mar 2010 16:15:03 +0000
distcc[27322] (dcc_trace_version) distcc 3.1 x86_64-pc-linux-gnu; built May  1 2009 07:16:39 [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p2
dev-java/java-config: 1.3.7-r1, 2.1.10
dev-lang/python:     2.6.4-r1, 3.1.1-r1
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.7.9-r2, 1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1
sys-devel/binutils:  2.20-r1, 2.20.1
sys-devel/gcc:       4.4.2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe -g -mssse3 -msse4.1"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core2 -O2 -pipe -g -mssse3 -msse4.1"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache collision-protect cvs distlocks fixpackages multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms sign splitdebug strict test test-fail-continue unmerge-logs unmerge-orphans userfetch usersandbox"
GENTOO_MIRRORS="http://lug.mtu.edu/gentoo/ http://mirror.ovh.net/gentoo-distfiles/"
LANG="fr_FR.utf-8"
LC_ALL="fr_FR.utf-8"
LDFLAGS="-Wl,--as-needed -Wl,--hash-style=gnu -Wl,--sort-common"
LINGUAS="fr"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/sci /usr/local/overlays/x11 /usr/local/overlays/openmoko/trunk/openmoko-target /usr/local/overlays/local"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="X a52 aac abook acl acpi adns alsa amd64 amr amrnb amrwb ares ass bash-completion berkdb bluetooth bzip2 cairo caps cblas cdaudio cdda cddb cdio cdparanoia cdr cli consolekit cracklib crypt ctypes-python cups curl custom-cxxflags cvs cxx daap dbus detex dia dirac djvu dns dri dts dv dvb dvd dvdnav dvdr dvipdfm emboss encode exif expat extensions extra faac faad fam fbcondecor ffmpeg fftw firefox flac fontconfig fontforge fortran frei0r ft2232 ftd2xx ftdi ftp fts3 gallium gcrypt gd gdbm geoip gif glitz gmp gnutls gpg gpgme gpm graphics graphite graphviz gsm gstreamer gtk hal hdri humanities iconv icu id3tag idn imagemagick imap iproute2 ipv6 jack jadetex jingle jpeg jpeg2k kde kerberos kpathsea kqemu kvm lame lapack laptop lash latex latex3 lcms ldap libass libftdi libgcrypt libnotify libsamplerate libusb-0 libv4l2 live llvm-gcc lua lvm lzma lzo mad matroska mbox melt messenger mikmod mjpeg mktemp mmx mng modplug modules mp3 mp4 mpeg mplayer msn mtp mudflap multilib multislot musepack music mysql ncurses nemesi nls nptl nptlonly nsplugin nss ntp ocaml ocamlopt octave ogg omega openexr opengl openmp openntpd otr pam pango parport parport-giveio passwdqc pch pcre pda pdf perl phonon pipechan pkcs11 plotutils png pop postgres postproc postscript ppds pppd presto pstricks publishers pulseaudio python qemu qt3support qt4 quicktime rar readline reflection rnca rtsp ruby sasl schroedinger science sdl sdl-image secure-delete semantic-desktop sensord session shout sidebar sip smi smime sms smtp sndfile snmp speex spell spl sqlite sqlite3 sse sse2 sse3 ssh ssl ssse3 startup-notification stream strong-optimization subversion svg sysfs syslog system-sqlite t1lib taglib tcpd teletext tga theora threads thumbnail thunar tiff tokyocabinet tools truetype udev udev-acl unicode upnp usb utils v4l v4l2 vaapi vcd vcdinfo vcdx vim-syntax virtualbox vorbis wav wavpack webdav webkit wifi winpopup wmf x264 xcb xcomposite xine xml xorg xosd xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa intel v4l fbdev" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

x11-libs/libva-0.31.0_p10 was built with the following:
USE="(multilib) opengl test" VIDEO_CARDS="intel -dummy"
Comment 1 Olivier Huber 2010-03-10 19:09:06 UTC
Created attachment 223039 [details]
ebuild proposal

I based my work on the ebuild from arcon overlay.
Comment 2 Olivier Huber 2010-03-10 19:09:43 UTC
Created attachment 223041 [details, diff]
patch
Comment 3 Frank Richter 2010-04-26 15:10:53 UTC
A newer version is available, libva-0.31.0_p12
Comment 4 Olivier Huber 2010-04-28 02:03:28 UTC
(In reply to comment #3)
> A newer version is available, libva-0.31.0_p12
> 
True. No need to update the ebuild just rename it.

If you want to try with mplayer, an ebuild can be find in this overlay:
http://git.overlays.gentoo.org/gitweb/?p=user/xhub.git;a=summary

I'll update the patches for mplayer in the next days. 
Warning : it works fine for me with an intel card, 
but I cannot guarantee that it won't eat
your kitten if you are using the xvba or vdpau backend.

Comment 5 Alexis Ballier gentoo-dev 2010-05-11 09:17:24 UTC
added, thanks!
Comment 6 Tim Dodge 2011-03-05 09:47:08 UTC
Thanks for the overlay, Olivier.

Do you think you could make the patches depend on the vaapi flag? My nvidia pc chokes on this ebuild unless I add the vaapi flag. I've changed the ebuild locally like this:

use vaapi && PATCHES=( "${FILESDIR}"/vaapi-take2/*.patch )

and it seems to work okay