XBMC crash with vaapi vdpau

Anonymous swell.k at gmail.com
Sat Jan 8 14:11:59 UTC 2011


Mickaël Maillot <mickael.maillot at gmail.com> writes:

> Hi,
>
> i just tried the VAAPI / VDPAU option in XBMC (trunk) but i can't play
> video without crash and i don't know what can i do:
>
> (gdb) bt
> #0  0x0000000812e0e079 in __vaDriverInit_0_31_1_sds () from
> /usr/local/lib/va/nvidia_drv_video.so
> #1  0x0000000812e0cd8b in __vaDriverInit_0_31_1_sds () from
> /usr/local/lib/va/nvidia_drv_video.so

Does vainfo crash too? And you've compiled vdpau-video without debug
symbols, so no source lines.

Note, you need to define empty STRIP explicitly unless you apply the
diff in ports/153539. libva and vdpau-video are not the only ports
affected by the issue.

> also, i think we need to add two notes for the VAAPI option:
> - ffmpeg need also vaapi option

> - user need to install a vaapi backend (multimedia/vdpau-video)

A user needs to (manually) install x11/nvidia-driver for VDPAU option, too.
Should I add RUN_DEPENDS options to libvdpau/libva?

%%
Index: multimedia/libvdpau/Makefile
===================================================================
RCS file: /a/.cvsup/ports/multimedia/libvdpau/Makefile,v
retrieving revision 1.1
diff -u -p -r1.1 Makefile
--- multimedia/libvdpau/Makefile	24 Sep 2010 19:06:00 -0000	1.1
+++ multimedia/libvdpau/Makefile	8 Jan 2011 14:07:42 -0000
@@ -21,9 +24,17 @@
 
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/COPYING
+
+OPTIONS=	NVIDIA "install Nvidia VDPAU driver" on
+
+.include <bsd.port.pre.mk>
+
+.if !defined(WITHOUT_NVIDIA)
+RUN_DEPENDS+=	${LOCALBASE}/lib/vdpau/libvdpau_nvidia.so.1:${PORTSDIR}/x11/nvidia-driver
+.endif
 
 post-patch:	.SILENT
 	${REINPLACE_CMD} 's|$$(libdir)/\(pkgconfig\)|$$(prefix)/libdata/\1|' \
 		${WRKSRC}/Makefile.in
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git multimedia/libva/Makefile multimedia/libva/Makefile
index 9292679..49697d4 100644
--- multimedia/libva/Makefile
+++ multimedia/libva/Makefile
@@ -34,6 +34,8 @@ LDFLAGS+=	-L${LOCALBASE}/lib
 # prevent types conflict: videodev2.h vs. drm.h
 CFLAGS+=	-DHAVE_LINUX_INTEGER_TYPES
 
+OPTIONS=	VDPAU "install VDPAU-based VAAPI driver" on
+
 .include <bsd.port.pre.mk>
 
 .if !defined(WITH_DEBUG)
@@ -46,6 +48,10 @@ CFLAGS+=	-D_DEBUG
 INSTALL_TARGET=	install-strip
 .endif
 
+.if !defined(WITHOUT_VDPAU)
+RUN_DEPENDS+=	${LOCALBASE}/lib/va/vdpau_drv_video.so:${PORTSDIR}/multimedia/vdpau-video
+.endif
+
 post-patch:	.SILENT
 	${REINPLACE_CMD} -e 's|\($$libdir\)/dri|\1/va|' \
 		-e 's|$${libdir}/\(pkgconfig\)|$${prefix}/libdata/\1|' \
diff --git multimedia/vdpau-video/Makefile multimedia/vdpau-video/Makefile
index 5f02390..d4f340a 100644
--- multimedia/vdpau-video/Makefile
+++ multimedia/vdpau-video/Makefile
@@ -13,8 +13,8 @@ MASTER_SITES=	http://www.splitted-desktop.com/~gbeauchesne/${PORTNAME}/
 MAINTAINER=	swell.k at gmail.com
 COMMENT=	A VDPAU-based backend for VAAPI
 
-LIB_DEPENDS=	va.1:${PORTSDIR}/multimedia/libva \
-		vdpau.1:${PORTSDIR}/multimedia/libvdpau
+BUILD_DEPENDS=	${LOCALBASE}/libdata/pkgconfig/libva.pc:${PORTSDIR}/multimedia/libva
+LIB_DEPENDS=	vdpau.1:${PORTSDIR}/multimedia/libvdpau
 
 LICENSE=	GPLv2 GPLv3
 LICENSE_COMB=	dual
%%


More information about the freebsd-multimedia mailing list