With the following three little patches, I'm able to see Accelerated DVD with my Via EPIA SP8000 on Gentoo / Xorg modular build. First (and this is not strictly related to Via), libXvMCW is currently miscompiled, because the C source code expect its version number to start with a ".". The following fixes that: diff -u libXvMC-0.99.1/work/libXvMC-0.99.1/src/Makefile.am libXvMC-0.99.1.patched/work/libXvMC-0.99.1/src/Makefile.am --- libXvMC-0.99.1/work/libXvMC-0.99.1/src/Makefile.am 2005-08-03 05:28:03.000000000 +0200 +++ libXvMC-0.99.1.patched/work/libXvMC-0.99.1/src/Makefile.am 2005-11-16 15:47:41.000000000 +0100 @@ -15,8 +15,8 @@ @XVMC_CFLAGS@ \ -I$(top_srcdir)/include \ -DXVMC_CONFIGDIR=XConfigDir \ - -DXVMC_SOVERSION=\"1.0\" \ - -DXV_SOVERSION=\"1.0\" + -DXVMC_SOVERSION=\".1.0\" \ + -DXV_SOVERSION=\".1.0\" libXvMC_la_LDFLAGS = -version-number 1:0:0 -no-undefined libXvMCW_la_LDFLAGS = -version-number 1:0:0 Second, if XVMC is defined, then the Via driver need to be compiled with XvExtension defined. The following fixes that: (this does take care of the case where we would need Xv without XvMC, but that can be fixed later. Obviously, XvMC need Xv) diff -ur xf86-video-via-0.1.32_p20051115.orig/work/xf86-video-via-0.1.32_p20051115/src/Makefile.am xf86-video-via-0.1.32_p20051115/work/xf86-video-via-0.1.32_p20051115/src/Makefile.am --- xf86-video-via-0.1.32_p20051115.orig/work/xf86-video-via-0.1.32_p20051115/src/Makefile.am 2005-09-28 16:58:41.000000000 +0200 +++ xf86-video-via-0.1.32_p20051115/work/xf86-video-via-0.1.32_p20051115/src/Makefile.am 2005-11-16 15:41:55.000000000 +0100 @@ -68,3 +68,7 @@ via_dri.h \ via_drmclient.h endif + +if XVMC +AM_CFLAGS += -DXvExtension +endif Finally, both libviaXvMC and libviaXvMCPro need to be linked with -ldrm, and the following patchlet fixes that: diff -ur xf86-video-via-0.1.32_p20051115.orig/work/xf86-video-via-0.1.32_p20051115/src/xvmc/unichrome/Makefile.am xf86-video-via-0.1.32_p20051115/work/xf86-video-via-0.1.32_p20051115/src/xvmc/unichrome/Makefile.am --- xf86-video-via-0.1.32_p20051115.orig/work/xf86-video-via-0.1.32_p20051115/src/xvmc/unichrome/Makefile.am 2005-09-14 21:09:11.000000000 +0200 +++ xf86-video-via-0.1.32_p20051115/work/xf86-video-via-0.1.32_p20051115/src/xvmc/unichrome/Makefile.am 2005-11-16 16:24:32.000000000 +0100 @@ -8,4 +8,4 @@ ../xf86dri.c libviaXvMC_la_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ -I$(top_srcdir)/src -I$(top_srcdir)/src/xvmc -DTRUE=1 -DFALSE=0 -libviaXvMC_la_LDFLAGS = -version-number 1:0:0 +libviaXvMC_la_LDFLAGS = @DRI_LIBS@ -version-number 1:0:0 diff -ur xf86-video-via-0.1.32_p20051115.orig/work/xf86-video-via-0.1.32_p20051115/src/xvmc/unichromeProA/Makefile.am xf86-video-via-0.1.32_p20051115/work/xf86-video-via-0.1.32_p20051115/src/xvmc/unichromeProA/Makefile.am --- xf86-video-via-0.1.32_p20051115.orig/work/xf86-video-via-0.1.32_p20051115/src/xvmc/unichromeProA/Makefile.am 2005-09-14 21:09:12.000000000 +0200 +++ xf86-video-via-0.1.32_p20051115/work/xf86-video-via-0.1.32_p20051115/src/xvmc/unichromeProA/Makefile.am 2005-11-16 16:40:11.000000000 +0100 @@ -8,4 +8,4 @@ ../xf86dri.c libviaXvMCPro_la_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ -I$(top_srcdir)/src -I$(top_srcdir)/src/xvmc -DTRUE=1 -DFALSE=0 -libviaXvMCPro_la_LDFLAGS = -version-number 1:0:0 +libviaXvMCPro_la_LDFLAGS = @DRI_LIBS@ -version-number 1:0:0 With these 3 fixes, on a fanless 800MHz Via, I can see DVDs easily with stock xine 1.1.1. Yahoo! cn400 ~ # top top - 17:26:37 up 7:22, 4 users, load average: 0.68, 0.51, 0.47 Tasks: 61 total, 1 running, 60 sleeping, 0 stopped, 0 zombie Cpu(s): 12.0% us, 7.2% sy, 0.0% ni, 78.4% id, 1.6% wa, 0.8% hi, 0.0% si Mem: 189532k total, 186632k used, 2900k free, 94708k buffers Swap: 995988k total, 204k used, 995784k free, 10352k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8188 root 15 0 189m 26m 4820 S 9.7 14.1 3:17.46 xine 8189 root 15 0 189m 26m 4820 S 4.8 14.1 1:49.38 xine 8217 root 16 0 2004 1044 820 R 1.6 0.6 0:00.05 top 8197 root 15 0 189m 26m 4820 S 0.8 14.1 0:23.23 xine
Sorry for the grabled patch, but this is so simple it can be applied "by hand". automake need to be run afterward too.
I'm adding these simple changes to the TODO list for Xorg 7.0
Created attachment 3835 [details] [review] Clean Patch to Via Driver Here is the unscrambled Via patch. Patch to XvMCW will follow shortly...
Created attachment 3836 [details] [review] libXvMC Wrapper Patch And here is a clean patch to the wrapper library.
Comment on attachment 3835 [details] [review] Clean Patch to Via Driver Commited Attachment #3835 [details] except for the -DXvExtension.
Comment on attachment 3836 [details] [review] libXvMC Wrapper Patch Commited Attachment #3836 [details]
The remaining -DXvExtension is really a duplicate of 4720. Assuming it's not correct setting -DXvExtension here without verifying that Xv is actually being built even if the XvMC drivers are being built. *** This bug has been marked as a duplicate of 4720 ***
Thanks Thomas!
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.