[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#656719: Please provide xvmc and vdpau Gallium3D video acceleration drivers (libg3dvl-mesa package)



forcemerge 656719 677886
quit

Dear Fabio,


thank you very much for that report and your patch. I overlooked your
report and submitted the separate report #677886 [1] and therefore merge
both.

Just as a side note, could you make sure the `Reply-to` and `References`
header fields are set in your messages so that threading is not broken.

Am Sonntag, den 29.01.2012, 21:00 +0100 schrieb Fabio Pedretti:

[…]

> Updated patch reflecting that xorg-server dependency was dropped in master and 
> 8.0 branches of mesa. Note that, of course, non-linux support is incomplete, 
> but I'll leave it to someone else since it's probably broken anyway (e.g. 
> radeon and r200 drivers since mesa 8.0 require dri2 available only on linux).

Today your patch was merged in Ubuntu [2][3].

But cherry-picking that patch to the branch `debian-unstable`

--- begin diff ---
From 6c4b5852646e2f8981d7b186c15180c2680adb3a Mon Sep 17 00:00:00 2001
From: Bryce Harrington <bryce@canonical.com>
Date: Thu, 21 Jun 2012 15:35:03 -0700
Subject: [PATCH] Add gallium vdpau and xvmc driver support

Conflicts:
	debian/changelog
---
 debian/changelog                |    8 ++++++++
 debian/control                  |   22 ++++++++++++++++++++++
 debian/libg3dvl-mesa.install.in |    4 ++++
 debian/not-installed            |    5 ++++-
 debian/rules                    |    5 ++++-
 5 files changed, 42 insertions(+), 2 deletions(-)
 create mode 100644 debian/libg3dvl-mesa.install.in

diff --git a/debian/changelog b/debian/changelog
index 0eb66a1..83a87ab 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+mesa (8.0.3-2) unstable; urgency=low
+
+  * Add g3dvl.diff from Debian bug 656719: Enables gallium vdpau and xvmc
+    driver support on at least Radeon r300+ and r600+.
+    (LP: #1002224)
+
+ -- Timo <timo.jyrinki@iki.fi>  Mon, 21 May 2012 12:46:40 +0300
+
 mesa (8.0.3-1) unstable; urgency=low
 
   [ Robert Hooker ]
diff --git a/debian/control b/debian/control
index ec59840..a9fcdd3 100644
--- a/debian/control
+++ b/debian/control
@@ -32,6 +32,8 @@ Build-Depends:
  bison,
  llvm-2.9-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386],
  libwayland-dev (>= 0.85.0) [linux-any],
+ libvdpau-dev (>= 0.4.1) [linux-any],
+ libxvmc-dev (>= 1.0.6) [linux-any],
 Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/mesa
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/mesa.git
 Homepage: http://mesa3d.sourceforge.net/
@@ -803,4 +805,24 @@ Description: Mesa OpenGL utility library -- development files
  For a complete description of GLU, please look at the libglu1-mesa
  package.
 
+Package: libg3dvl-mesa
+Section: libs
+Architecture: linux-any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+Description: xvmc and vdpau Gallium3D video acceleration drivers
+
+Package: libg3dvl-mesa-dbg
+Section: debug
+Priority: extra
+Architecture: linux-any
+Depends:
+ libg3dvl-mesa (= ${binary:Version}),
+ ${misc:Depends},
+Description: xvmc and vdpau Gallium3D video acceleration drivers
+ .
+ This package contains the debugging symbols for the g3dvl libraries.
+
+
 # vim: tw=0
diff --git a/debian/libg3dvl-mesa.install.in b/debian/libg3dvl-mesa.install.in
new file mode 100644
index 0000000..e013276
--- /dev/null
+++ b/debian/libg3dvl-mesa.install.in
@@ -0,0 +1,4 @@
+build/dri/${DEB_HOST_MULTIARCH}/gallium/libvdpau_* usr/lib/vdpau
+build/dri/${DEB_HOST_MULTIARCH}/gallium/libXvMC* usr/lib/dri
+build/dri/${DEB_HOST_MULTIARCH}/gallium/XvMCConfig usr/lib
+build/dri/${DEB_HOST_MULTIARCH}/gallium/XvMCConfig etc
diff --git a/debian/not-installed b/debian/not-installed
index afbf7dc..0221b94 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -18,7 +18,10 @@ NOT_INSTALLED := \
 	usr/include/GL/glx_mangle.h \
 	usr/include/GL/vms_x_fix.h \
 	usr/include/GL/wglext.h \
-	usr/include/GL/wmesa.h
+	usr/include/GL/wmesa.h \
+	dri/usr/lib/*/libXvMC* \
+	dri/usr/*/libXvMC* \
+	dri/usr/lib/*/vdpau/
 
 # Architecture-specific additional files:
 NOT_INSTALLED_i386 = \
diff --git a/debian/rules b/debian/rules
index 3bf3702..b3c0396 100755
--- a/debian/rules
+++ b/debian/rules
@@ -119,6 +119,7 @@ confflags-dri = \
 	--enable-glx-tls \
 	--enable-shared-glapi \
 	--enable-texture-float \
+	--enable-gallium-g3dvl \
 	--enable-xa \
 	$(confflags_DIRECT_RENDERING) \
 	$(confflags_EGL) \
@@ -214,6 +215,8 @@ $(STAMP_DIR)/stamp:
 $(QUILT_STAMPFN): $(STAMP_DIR)/stamp
 
 build: build-stamp
+	# XvMCConfig configuration file:
+	ln -s /etc/X11/XvMCConfig build/dri/$(DEB_HOST_MULTIARCH)/gallium/XvMCConfig
 
 build-stamp: $(BUILD_STAMPS)
 	>$@
@@ -294,7 +297,7 @@ binary-arch: install
 
 	# Also get rid of other files which aren't installed. Do not
 	# use -f to ensure we notice disappearing files:
-	set -e; for file in $(NOT_INSTALLED); do rm debian/tmp/$$file; done
+	set -e; for file in $(NOT_INSTALLED); do rm -r debian/tmp/$$file; done
 	# Files only in git, not in tarballs, OK to use rm -f here:
 	set -e; for file in $(NOT_INSTALLED_EITHER); do rm -f debian/tmp/$$file; done
 	# No need for this .so, libglapi is just a convenience library:
-- 
1.7.10.4
--- end diff ---

and building it I first got an error that LLVM is needed.

1. So some build depends need to be updated.

Doing

        $ sudo aptitude install llvm # currently depends on LLVM 3.1

I am now getting the following error.

        $ dpkg-buildpackage -us -uc -B -j2 -nc
        […]
        config.status: executing configs commands
        
                prefix:          /usr
                exec_prefix:     ${prefix}
                libdir:          ${prefix}/lib/i386-linux-gnu
                includedir:      ${prefix}/include
        
                OpenGL:          yes (ES1: no ES2: no)
                OpenVG:          no
        
                OSMesa:          libOSMesa16
                GLX:             no
        
                GLU:             no
        
                EGL:             no
        
                llvm:            no
        
                Gallium:         no
        
                Shared libs:     no
                Static libs:     yes
        
                CFLAGS:          -Wall -g -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp -Wall -g -O2
                CXXFLAGS:        -Wall -g -O2 -Wall -fno-strict-aliasing -fno-builtin-memcmp -Wall -g -O2
                Macros:          -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
        
                PYTHON2:         python
        
                Run 'make' to build Mesa
        […]
        gallivm/lp_bld_debug.cpp: In function ‘void lp_disassemble(const void*)’:
        gallivm/lp_bld_debug.cpp:240:66: error: no matching function for call to ‘llvm::Target::createMCInstPrinter(unsigned int&, const llvm::MCAsmInfo&, const llvm::MCSubtargetInfo&) const’
        gallivm/lp_bld_debug.cpp:240:66: note: candidate is:
        In file included from gallivm/lp_bld_debug.cpp:37:0:
        /usr/lib/llvm-3.1/include/llvm/Support/TargetRegistry.h:395:20: note: llvm::MCInstPrinter* llvm::Target::createMCInstPrinter(unsigned int, const llvm::MCAsmInfo&, const llvm::MCInstrInfo&, const llvm::MCRegisterInfo&, const llvm::MCSubtargetInfo&) const
        /usr/lib/llvm-3.1/include/llvm/Support/TargetRegistry.h:395:20: note:   candidate expects 5 arguments, 3 provided
        make[4]: *** [gallivm/lp_bld_debug.o] Fehler 1
        make[4]: Leaving directory `/src/mesa/build/dri/src/gallium/auxiliary'
        make[3]: *** [default] Fehler 1
        make[3]: Leaving directory `/src/mesa/build/dri/src/gallium'
        make[2]: *** [subdirs] Fehler 1
        make[2]: Leaving directory `/src/mesa/build/dri/src'
        make[1]: *** [default] Fehler 1
        make[1]: Leaving directory `/src/mesa/build/dri'
        make: *** [debian/stamp/i486-linux-gnu-build-dri] Fehler 2
        make: *** Warte auf noch nicht beendete Prozesse...
        […]

2. Any hints on how to solve that?

3. Additionally in the thread of #677886 [1], Michael Dänzer proposed
the following packages.

        Am Donnerstag, den 21.06.2012, 10:53 +0200 schrieb Michel Dänzer:
        
        > Note that libXvMC* are for XvMC, which is a different API than VDPAU. It
        > doesn't really make sense to put them in a package whose name contains
        > 'vdpau'. Similar for 'libgl1', as this has nothing to do with OpenGL.
        > Maybe something like 'libxvmc1-gallium' and 'libvdpau1-gallium'? 

Since I clearly have no clue about that all, it would be great if you
could decide on one, before this gets applied.

4. Lastly, should the AMD DDX(?) driver somehow depend on these new
packages?


Thanks,

Paul


[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=677886
[2] https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/1002224
[3] http://anonscm.debian.org/gitweb/?p=pkg-xorg/lib/mesa.git;a=commitdiff;h=04d0857389f40992c7cfc6115c077c0a78f8a9b7;hp=22c26395810e314a9609431bad58c58895c46632

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: