Announcement

Collapse
No announcement yet.

Problem using xvba

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem using xvba

    Hi,

    I'm running ubuntu 10.10, trying to get xvba working for my radeon mobility HD4570. I've got mobility catalyst 10.12 installed, as well as libva from the repo's, and xvba-video_0.7.7-1_amd64.deb from splitted-desktop. I've downloaded and compiled mplayer, but when I try to run it, I get no video, just audio. inspecting vainfo gives me the following error:
    Code:
    libva: libva version 0.31.0
    Xlib:  extension "XFree86-DRI" missing on display ":0.0".
    libva: va_getDriverName() returns -1
    vaInitialize failed with error code -1 (unknown libva error),exit
    and fglrxinfo gives:
    Code:
    display: :0.0  screen: 0
    OpenGL vendor string: ATI Technologies Inc.
    OpenGL renderer string: ATI Mobility Radeon HD 4500 Series
    OpenGL version string: 3.3.10362 Compatibility Profile Context
    Anyone have a clue what's going on here? I can't upgrade libva, as that breaks dependencies, and I have no idea what else to do... mplayer gives the same error as vainfo btw, the rest of the output was standard.

  • #2
    hmm since I'm not able to edit:

    I've now got vainfo to return something useful. I did this by the following two commands:

    Code:
    export LIBVA_DRIVER_NAME="fglrx"
    sudo ln -s /usr/lib/va/drivers/fglrx_drv_video.so /usr/lib/fglrx/dri/fglrx_drv_video.so
    after which vainfo returned:

    Code:
    libva: libva version 0.31.0
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/fglrx/dri/fglrx_drv_video.so
    libva: va_openDriver() returns 0
    vainfo: VA API version: 0.31
    vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.7.7
    vainfo: Supported profile and entrypoints
          VAProfileH264High               :	VAEntrypointVLD
          VAProfileVC1Advanced            :	VAEntrypointVLD
    However, when playing a h264 file, I get garbled output, as well as the following message among the output, which I think indicates what's wrong, but I have no idea how to fix it...

    Code:
    Starting playback...
    Unsupported PixelFormat 61
    [VD_FFMPEG] Trying pixfmt=1.

    Comment


    • #3
      Last update for now..

      I've managed to install libva1_0.31.1-1+sds4_amd64.deb, using dpkg, and vainfo gives correct output on its own now. However, I'm trying to recompile mplayer now, and it fails to link in the end:

      Code:
      /usr/bin/ld: cannot find -lva
      I'm not sure how to update this information, just calling ldconfig doesn't seem to work..

      For reference, this is the output of ldd /usr/bin/vainfo:
      Code:
      	linux-vdso.so.1 =>  (0x00007ffffd34c000)
      	libva-0.31.1.1.so.1 => /usr/lib/libva-0.31.1.1.so.1 (0x00007f5af2df5000)
      	libva-x11-0.31.1.1.so.1 => /usr/lib/libva-x11-0.31.1.1.so.1 (0x00007f5af2cee000)
      	libc.so.6 => /lib/libc.so.6 (0x00007f5af296a000)
      	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f5af2634000)
      	libdl.so.2 => /lib/libdl.so.2 (0x00007f5af2430000)
      	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f5af221d000)
      	libdrm.so.2 => /lib/libdrm.so.2 (0x00007f5af2012000)
      	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f5af1e0c000)
      	/lib64/ld-linux-x86-64.so.2 (0x00007f5af2f2c000)
      	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f5af1bee000)
      	librt.so.1 => /lib/librt.so.1 (0x00007f5af19e6000)
      	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f5af17e3000)
      	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f5af15dc000)
      	libpthread.so.0 => /lib/libpthread.so.0 (0x00007f5af13bf000)
      hope someone can help me here..

      Comment


      • #4
        Try a pre-compiled VLC with xvba from this PPA:
        https://launchpad.net/~dtl131/+archive/catalysthacks

        Once you have it installed, go in to tools>preferences>input & codecs>and check GPU acceleration.
        AFAIK it works.

        Unfortunately I'm having performance trouble playing videos with the fglrx driver, So I can't tell if GPU accel helps.

        Any info as to why using fglrx takes ~55% cpu to watch a 720p video when xorg drivers only need 20%?

        HD4850 ubuntu 10.10 here

        Comment


        • #5
          I guess I can't edit my post.

          Anyways. GPU accel does work with this VLC. my CPU usage went from ~55% to ~22%.
          Playback smoothness is indistinguishable; I still have lag (with or without compiz).

          xorg drivers playback is perfectly smooth.

          Comment


          • #6
            Thanks, I'll try it. Usually I use mplayer, but if video accel works, I'll switch

            Comment


            • #7
              If it's of any consolation, I've been fighting this same problem ever since I got my new Ubuntu box and 5850, with the naive hope I'd be able to edit me some HD video.

              I've installed the latest Catalyst (had to run it straight from the command line, any more detailed instructions to recompile it etc didn't work for me), as well as the splitted-desktop va-api drivers, to the best of my abilities.

              vainfo:

              Code:
              libva: libva version 0.31.1-sds1
              Xlib:  extension "XFree86-DRI" missing on display ":0.0".
              libva: va_getDriverName() returns 0
              libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
              Xlib:  extension "XFree86-DRI" missing on display ":0.0".
              libva: va_openDriver() returns 0
              vainfo: VA API version: 0.31
              vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.7.8.pre1
              vainfo: Supported profile and entrypoints
                    VAProfileH264High               :	VAEntrypointVLD
                    VAProfileVC1Advanced            :	VAEntrypointVLD
              Code:
              display: :0.0  screen: 0
              OpenGL vendor string: ATI Technologies Inc.
              OpenGL renderer string: ATI Radeon HD 5800 Series 
              OpenGL version string: 1.4 (4.1.10428 Compatibility Profile Context)
              I'm having a hard time understanding whether my new system is broken or not, since mplayer is now useless (internal data flow error for AVCHD.mts, audio but no video for most formats) but using vlc works just fine for everything. I wouldn't care about that so much, but I just can't get any of my videos into PiTiVi:

              Code:
              URI:00008-B8D63A89.MTS
              Problem:An internal error occurred while analyzing this file: Internal data flow error.
              Extra information:gstbasesrc.c(2550): gst_base_src_loop (): /GstPipeline:Discoverer-file:///media/Data/Media/Video/20090527_GrandmaCherryBlossomAidanBDay/00008-B8D63A89.MTS/GstFileSrc:src-file:///media/Data/Media/Video/20090527_GrandmaCherryBlossomAidanBDay/00008-B8D63A89.MTS:
              streaming task paused, reason not-negotiated (-4)
              Attempts to drag h.264.mov file onto PiTiVi result in a request for a missing "video/x-vaapi-surface decoder" plugin although this file format works in standard mplayer.

              OpenGL works fine. VLC playback works fine, with a bit of tearing. I've heard that mpeg-ts support in gstreamer is not ideal right now. It seems like "DRI" has been expunged from the system somewhere along the way, I suspect fglrx replaces it and the Xfree86-DRI warnings may be ignored, but I don't know for sure.

              My feeling on the state of the art for my card from what I've been able to piece together from reading online is that va-api drivers just aren't there yet in terms of being able to stream all formats to gstreamer, and there's issues with the maturity of drivers for other video applications. I suspect I'd just run into a similar set of problems if I traded in my 5850 for a GTX-470/480 though as well. So just to add to the OP's questions, is there any way to proceed from here? Particular tests to run from the Phoronix suite? (BTW the Universe batch failed on something after Urban Terror, some 3D benchmarks wouldn't launch and I think it was lightsmark that froze my system)

              Is the answer really wait for Natty? Anyone have a 5850 working as it should, and what does that look like c. Feb 2011? Thanks.

              Comment


              • #8
                I never got the gstreamer-vaapi plugin from SDS to work correctly (though I haven't tried lately.
                For mplayer-vaapi to work correctly, you will need libva and libva-dev from SDS (or the aforementioned catalysthacks repo). THen, follow instructions to build a .deb here: http://www.splitted-desktop.com/~gbe...mplayer-vaapi/

                /usr/bin/ld: cannot find -lva
                You probably didn't install appropriate libva-dev package.

                Comment


                • #9
                  A bit late, but I figured I should report back..

                  I installed the packages from the catalysthacks repo, and tried vlc. It didn't crash, but again just gave noise as output.

                  I didn't have libva-dev installed, as DanL said, so I installed it and recompiled mplayer, after which it worked fine, but still the output was just pink noise.

                  So now, I tried again with the latest packages, and catalyst 11.2, but same story. I guess the driver for my card is just not working properly, so I'm giving up for now, will try again in a few months.

                  Comment


                  • #10
                    Any news?
                    i-m really interested!

                    Comment


                    • #11
                      Somehow managed to get VLC to use VA API on openSUSE 11.4 64 bit

                      VLC, libva1 and vaapi-tools installed from Packman, and xvba-video-amd from Build Service

                      vainfo returns
                      Code:
                      libva: libva version 0.32.0
                      Xlib:  extension "XFree86-DRI" missing on display ":0.0".
                      libva: va_getDriverName() returns 0
                      libva: Trying to open /usr/lib64/dri/fglrx_drv_video.so
                      libva: va_openDriver() returns 0
                      vainfo: VA API version: 0.32
                      vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0
                      vainfo: Supported profile and entrypoints
                            VAProfileH264High               : VAEntrypointVLD
                            VAProfileVC1Advanced            : VAEntrypointVLD
                      Now, to launch VLC I use the following script:
                      Code:
                      #!/bin/bash
                      export LIBVA_DRIVERS_PATH=/usr/lib64/dri
                      export LIBVA_DRIVER_NAME=fglrx
                      vlc --ffmpeg-hw
                      Without the export (info I found on Ubuntu's launchpad I think) VLC just crashes when attempting to launch a video that takes advantage of VA API.

                      With the script, the terminal output looks like this:
                      Code:
                      libva: libva version 0.32.0
                      libva: User requested driver 'fglrx'
                      libva: Trying to open /usr/lib64/dri/fglrx_drv_video.so
                      libva: va_openDriver() returns 0
                      xvba_video: XVBA_GetSurface(): status 2
                      [0xae4200] avcodec decoder: Using VA API version 0.32 for hardware decoding.
                      With VA API up and running in VLC, CPU usage is only marginally better than mplayer with GL output though, and tearing is more noticeable unless I disable overlay, but then CPU usage almost doubles .
                      Last edited by PsynoKhi0; 09-23-2011, 03:48 PM.

                      Comment

                      Working...
                      X