Opened 18 years ago
Closed 17 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 Changed 18 years ago by
Resolution: | → invalid |
---|---|
Status: | new → closed |
comment:2 Changed 17 years ago by
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 Changed 17 years ago by
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 Changed 17 years ago by
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.