Opened 20 years ago
Closed 19 years ago
#2299 closed defect (fixed)
Nvidia XvMC compile problems
| Reported by: | Owned by: | Isaac Richards | |
|---|---|---|---|
| Priority: | minor | Milestone: | unknown |
| Component: | mythtv | Version: | |
| Severity: | medium | Keywords: | |
| Cc: | Ticket locked: | no |
Description
I tried to enable XvMC OpenGL support for my nvidia card, but I am unable to compile. the configure script fails to enable it. If I manually go into the script and force it to compile the support, I get a compile time error. If I compile against libXvMCNVIDIA it omplains about the "XvMCPutSlice2" symbols not supported. If I try to compile agains XvMCW, then it compains about "XvMCCopySurfaceToGLXPbuffer" not being supported.
my config: opensuse 10.1 (64-bit) tried compiling against nvidia drivers 8774 and 7184
Change History (4)
comment:1 by , 20 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
comment:2 by , 19 years ago
| Resolution: | invalid |
|---|---|
| Status: | closed → reopened |
Version: head-13790
Configuring for NVidia XVMC causes this failure:
ccache distcc g++ -o mythtv main.o -L/usr/qt/3/lib -L../../libs/libmyth -L../../libs/libmythtv -L../../libs/libavutil -L../../libs/libavcodec -L../../libs/libavformat -L../../libs/libmythfreemheg -L../../libs/libmythui -L../../libs/libmythupnp -L../../libs/libmythlivemedia -lmythtv-0.20 -lmythavformat-0.20 -lmythavutil-0.20 -lmythavcodec-0.20 -lmythfreemheg-0.20 -lmythupnp-0.20 -lmythlivemedia-0.20 -lmyth-0.20 -lmythui-0.20 -lfreetype -lz -lmp3lame -lasound -L/usr/kde/3.5/lib -lartsc -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 -L/usr/X11R6/lib -lXinerama -lXv -lXxf86vm -lXrandr -lXvMCNVIDIA -lXvMC -lqt-mt -lGLU -lGL -lXmu -lXext -lX11 -lm -lpthread ../../libs/libmythtv/libmythtv-0.20.so: undefined reference to `XvMCPutSlice2' collect2: ld returned 1 exit status distcc[9729] ERROR: compile (null) on localhost failed make[2]: *** [mythtv] Error 1 make[2]: Leaving directory `/usr/src/original/mythtv.13790/programs/mythtv' make[1]: *** [sub-mythtv] Error 2 make[1]: Leaving directory `/usr/src/original/mythtv.13790/programs' make: *** [sub-programs] Error 2
Output of ./configure ...
# Video Output Support x11 support yes xrandr support yes xv support yes XvMC support yes XvMC VLD support no XvMC pro support no XvMC OpenGL sup. no XvMC libs -lXvMCNVIDIA Mac acceleration no OpenGL vsync no DirectFB no
Quick and dirty hack:
diff -u ./original/mythtv.13790/libs/libmythtv/util-xvmc.h mythtv.13790/libs/libmythtv/util-xvmc.h
--- ./original/mythtv.13790/libs/libmythtv/util-xvmc.h 2007-06-30 16:31:19.000000000 -0700
+++ mythtv.13790/libs/libmythtv/util-xvmc.h 2007-06-30 22:29:05.000000000 -0700
@@ -2,7 +2,7 @@
#ifdef USING_XVMC
-# if defined(USING_XVMCW) || defined(USING_XVMC_VLD)
+# if defined(USING_XVMC_VLD)
extern "C" Status XvMCPutSlice2(Display*,XvMCContext*,char*,int,int);
# else
Status XvMCPutSlice2(Display*, XvMCContext*, char*, int, int)
I know that's not a legit fix, however it works for my purposes.
The only other strange thing I do is swap the order of two items in the configure script's detection of XVMC type. I've been doing this for years as it always finds XVMCW when I actually have xvmc NVidia.
--- original/mythtv.13790/configure 2007-06-30 16:31:55.000000000 -0700
+++ mythtv.13790/configure 2007-06-30 17:03:31.000000000 -0700
@@ -2681,6 +2681,12 @@
else
xvmc_vld="no"
fi
+ elif has_library libXvMCNVIDIA ; then
+ VENDOR_XVMC_LIBS="-lXvMCNVIDIA"
+ xvmc="yes"
+ if enabled xvmc_vld; then
+ xvmc_vld="no"
+ fi
elif enabled xvmcw; then
VENDOR_XVMC_LIBS="-lXvMCW"
xvmc="yes"
@@ -2689,12 +2695,6 @@
else
xvmc_vld="no"
fi
- elif has_library libXvMCNVIDIA ; then
- VENDOR_XVMC_LIBS="-lXvMCNVIDIA"
- xvmc="yes"
- if enabled xvmc_vld; then
- xvmc_vld="no"
- fi
elif enabled xvmc_pro; then
if has_library libviaXvMCPro ; then
VENDOR_XVMC_LIBS="-lviaXvMCPro"
If I don't do that I get this when I run configure:
# Video Output Support x11 support yes xrandr support yes xv support yes XvMC support yes XvMC VLD support no XvMC pro support no XvMC OpenGL sup. no XvMC libs -lXvMCW Mac acceleration no OpenGL vsync no DirectFB no
Which is obviously wrong.
This is a Gentoo install.
If you need more information, please ask.
Anon.
comment:3 by , 19 years ago
This is again why you should use the Gentoo ebuilds and not try to roll your own when you don't know what you are properly doing.
-lXvMCW is 100% correct and should be used. libXvMCW is a wrapper for the appropriate XvMC library and will use the nVidia supplied library and abstract all the function calls to their appropriate ones.
comment:4 by , 19 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
closing, this was fixed a while back. Doug is right, 99.9% of users should be using libXvMCW, the only reason not to is if you are using the OpenGL OSD renderer for XvMC which is only supported in the mythtv-vid branch.

You don't want to enable it.