[mythtv-users] Unable to create XvMC Surface. was: mythfrontend, watch TV: slow motion...

R. G. Newbury newbury at mandamus.org
Thu Feb 19 22:17:42 UTC 2009


Udo van den Heuvel wrote:
> Udo van den Heuvel wrote:
>> Hello,
>>
>> For the first time in ages I start up the frontend to watch some video.
>> (normally I use the web based interface)
>>
>> Playing a recorded program results in slow motion video with no sound.
>> I cannot get the speed to 'normal' using the keyboard.
> 
> Found out that somehow the playback profile was not set anymore to the
> one for VIA XvMC.
> Now I set it to VIA XvMC but the frontend still says stuff like:
> 
> 2009-02-19 16:42:33.191 VideoOutputXv: XvMC Adaptor Name: 'XV_SWOV'
> Unable to create XvMC Surface.
> 
> xine appears to works well with the xxmc video output so XvMC is
> installed OK.
> 
> mythfrontend --version says:
> 
> Please include all output in bug reports.
> MythTV Version   : exported
> MythTV Branch    : branches/release-0-21-fixes
> Library API      : 0.21.20080304-1
> Network Protocol : 40
> Options compiled in:
>  linux release using_alsa using_backend using_dbox2 using_dvb
> using_frontend using_hdhomerun using_iptv using_ivtv using_joystick_menu
> using_lirc using_v4l using_x11 using_xrandr using_xv using_xvmc
> using_xvmcw using_xvmc_vld using_bindings_perl using_bindings_python
> using_opengl using_ffmpeg_threads using_live
> 
> So what could be wrong?

Do you have an /etc/X11/XvMCConfig file with the name of the xvmc lib 
file (libViaXvMC.so...iirc) in it?

Do you have the correct entries in your xorg.conf file for the 
openchrome driver? See XvMC wiki page. Unlike the Intel and nvidia 
drivers, which load all the modules they need automagically, you need to 
specify all of the modules explicitly. An insidious error is to miss 
adding the DRI section which allows read-write access to the dri 
extension. Not sure if that would cause your particular error but it 
does produce a weird set of errors.

Read the output of Xorg.0.log very carefully and check that it reports 
all of the modules are loaded properly and that the /dev/dri/card0 entry 
is created.

I don't know how fixes does playback profiles, but if it is anything 
like trunk do you have the profile set to use only one CPU, and have 
only bob and/or linear as the deinterlacer for xvmc?

Try turning opengl OFF everywhere and anywhere you can. That seemed to 
help me when I was running a via motherboard (Set it to use the qt 
painter on the 'Appearance' setup page.)

If this were trunk I would suggest compiling with 
'--disable-xvmc-opengl' and '--disable-opengl-vsync' at least as a test.

These seems to be a 'YMMV' thing regarding use of those switches, 
depending on the motherboard, chipset, phase of the moon, and how you 
squinted at your monitor while it was compiling. (No comments from the 
peanut gallery, there! OF COURSE it makes a difference! What school of 
higher necromancy did YOU attend!)

Whatever you set in configure the output will ALWAYS report 
'--using-opengl' BTW. This is not an error. It does use some parts of 
the opengl code whatever you ask for.

If you are compiling fixes, as distinct to just installing an rpm, you 
could also try re-compiling the source after changing

mythtv/libs/libmythtv/util-xvmc.h:56:        max_num_xvmc_surfaces(16),
to:
mythtv/libs/libmythtv/util-xvmc.h:56:        max_num_xvmc_surfaces(14),


It's been quite a while since I looked at the xvmc code and I am not a 
great programmer, but as of about 2 years ago, there was a problem with 
at least some of the via video chipsets in that there was insufficient 
RAM to support 16 full xvmc surface buffers. Reducing that number to 14 
or 12 made an appreciable difference in the playback. The code did not 
ask for a buffer which could not be provided by the hardware. That 
caused playback stutters. All that may have been changed however, and it 
has been about 18 months since I changed over to an intel video chipset 
motherboard. I haven't followed what has or has not changed. As above, 
with this, YMMV.

Hope this helps.

Geoff







-- 
         Please let me know if anything I say offends you.
          I may wish to offend you again in the future.

          Tux says: "Be regular. Eat cron flakes."


More information about the mythtv-users mailing list