[Mesa-dev] nouveau: xvmc on nv43

Pali Rohár pali.rohar at gmail.com
Sat Aug 17 08:56:51 PDT 2013


On Friday 16 August 2013 16:54:05 Pali Rohár wrote:
> On Friday 16 August 2013 16:34:43 you wrote:
> > On Fri, Aug 16, 2013 at 5:40 AM, Pali Rohár
> 
> <pali.rohar at gmail.com> wrote:
> > > Hello Ilia,
> > > 
> > > I was your last commit which fixing xvmc support for nv30 hw
> > > in mesa git tree. Maybe you can help me. I have graphics
> > > card nvidia geforce 6600 gt (nv43 chip) According to wiki
> > > page http://nouveau.freedesktop.org/wiki/FeatureMatrix/
> > > xvmc
> > > 
> > > support for nv43 is already done. When I start xvmcinfo it
> 
> print:
> > FTR, an individual with a NV43 AGP had trouble with it. See
> > http://nouveau.freedesktop.org/wiki/VideoAcceleration/ for a
> > few more details. Note that if you're using a recent kernel,
> > you need 3.11-rc4 or later (nouveau/master is fine too, of
> > course), as support got broken at some point.
> 
> Ok, I'm using kernel 3.8 from ubuntu. Will try 3.11 if something
> change. Also I have PCI-E card, not AGP.
> 
> > > $ ./xvmcinfo
> > 
> > Huh, never heard of that. No gentoo ebuild either.
> 
> You can download it from:
> http://www.mythtv.org/wiki/XvMC#Checking_your_installation
> or from:
> http://svnweb.freebsd.org/ports/head/x11/xvmcinfo/files/
> 
> > > Xv version 2.2
> > > XvMC version 1.1
> > > 
> > > screen number 0
> > > 
> > >    info for adaptor 0 [NV40 texture adapter]
> > >    
> > >       number of XvMC surface types: 2
> > >       
> > >       info about surface 0:
> > >          max_width=2048
> > >          max_height=2048
> > >          subpicture_max_width=2048
> > >          subpicture_max_height=2048
> > >          
> > >          chroma_format:
> > >             XVMC_CHROMA_FORMAT_420
> > >          
> > >          mc_type:
> > >             format                   : MPEG2
> > >             accelaration start from  : IDCT
> > >          
> > >          flags:
> > >             XVMC_BACKEND_SUBPICTURE
> > >             XVMC_SUBPICTURE_INDEPENDENT_SCALING
> > >       
> > >       info about surface 1:
> > >          max_width=2048
> > >          max_height=2048
> > >          subpicture_max_width=2048
> > >          subpicture_max_height=2048
> > >          
> > >          chroma_format:
> > >             XVMC_CHROMA_FORMAT_422
> > >          
> > >          mc_type:
> > >             format                   : MPEG2
> > >             accelaration start from  : IDCT
> > >          
> > >          flags:
> > >             XVMC_BACKEND_SUBPICTURE
> > >             XVMC_SUBPICTURE_INDEPENDENT_SCALING
> > >    
> > >    info for adaptor 1 [NV40 high quality adapter]
> > >    
> > >       number of XvMC surface types: 0
> > >    
> > >    info for adaptor 2 [NV Video Blitter]
> > >    
> > >       number of XvMC surface types: 0
> > 
> > This actually doesn't (necessarily) have anything to do with
> > reality. It's reported entirely by X, which has little to do
> > with actual XvMC operation.
> 
> It calling some XvMC functions. At least this means that X has
> XvMC support for screen.
> 
> > 
> > That's rather odd... there isn't really a code path that
> > doesn't initialize create_video_decoder at this point, take a
> > look at nv30_context.c -- it calls nouveau_context_init_vdec
> > unconditionally, which in turn just sets a couple of
> > pointers. Are you sure that you're running with the latest
> > version? Note that the XvMC library used is selected by
> > /etc/X11/XvMCConfig. (I think libXvMCW reads that file and
> > dlopens it.) It might be nice to see in strace -f -e open
> > that it actually opens the libXvMCnouveau.so file that you
> > built.
> > 
> >   -ilia
> 
> I'm sure that libXvMCnouveau.so is used. I modified
> mpeg2play_accel Makefile and code to use it directly.
> I will re-check if everyhing is builded correctly.

Now I compiled mesa from git master again and installed kernel 3.11-rc5. After 
that mpeg2play_accel not crashing anymore. It looks like I forgot to install 
mesa with your xvmc patches (only compiled), so I had in system last version. 
So this was probably reason for above NULL pointer crash.

Anyway, now it not crashing, it show some X window, but only with random 
colors (see attachment of video screenshot). So there is problem with HW 
deconding... Also in dmesg I see this error message every milisecond:

[  179.232807] nouveau E[   PMPEG][0000:05:00.0] ch -1 [0x00000000 unknown] 
0x01000000 0x00000020 <HEXNUM1> <HEXNUM2>

I tried also vdpau output with mplayer, but this caused instant freeze and 
then Xserver crashed. In dmesg was:

[  614.990022] nouveau E[     DRM] GPU lockup - switching to software fbcon
[  630.096021] nouveau E[Xorg[1751]] failed to idle channel 0xcccc0001 
[Xorg[1751]]
[  645.096021] nouveau E[Xorg[1751]] failed to idle channel 0xcccc0001 
[Xorg[1751]]
[  660.096018] nouveau E[Xorg[1751]] failed to idle channel 0xcccc0000 
[Xorg[1751]]
[  675.096020] nouveau E[Xorg[1751]] failed to idle channel 0xcccc0000 
[Xorg[1751]]

So xvmc not crashing anymore, but not playing video and vdpau cause crashing X

-- 
Pali Rohár
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xvmc.png
Type: image/png
Size: 529767 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130817/e0d68eba/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130817/e0d68eba/attachment-0001.pgp>


More information about the mesa-dev mailing list