Announcement

Collapse
No announcement yet.

AMD's UVD2-based XvBA Finally Does Something On Linux

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

  • Originally posted by Vighy View Post
    And while trying to take a snapshot of what shows in that window for a while (because it shows something scrambled) it crashed my Xorg
    I don't think you can take any snapshot anyway. I mean, I pretty doubt the backing store is active so you would get some black or white content instead.

    the error it gives is:
    Code:
    xvba_video: XVBA_CreateDecode(): status 2
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: error: Assertion failed in file xvba_decode.c at line 774
    It could be that your system deviates too much from an AMD officially supported distribution. I also got that with some Debian/lenny mixture, though some other people have better success than me there.

    BTW, it's simpler to test step by step. e.g. please download
    http://splitted-desktop.com/~gbeauch...wdecode-demos/

    And run e.g. vaapi_h264 --glx (double dash glx)

    Comment


    • Originally posted by gbeauche View Post
      fglrx_drv_video.so is a 32-bit binary whereas the 64-bit one is expected. BTW, I never really tested the 64-bit binaries, so it does interest me to know whether they work or not.
      First off, I'm on Debian testing x86_64 with a HD4850. I installed these:

      ati-driver-installer-9-10-x86.x86_64.run
      libva1_0.31.0-1+sds7_amd64.deb
      xvba-video_0.5.1-1_amd64.deb

      The first issue was that the ati installer didn't put the 64-bit libAMDXvBA.so.1 and libXvBAW.so.1 in /usr/lib/, just the 32-bit ones in /usr/lib32/. Makes sense since it's commented out in the installer:

      #[WL} Remove 64bit support for Maximus as it is not currently ready
      #cp -R arch/${ArchDir}/usr/X11R6/lib64/libAMDXvBA*.* \
      # ${TmpDrvFilesDir}/${ATI_XLIB_64}
      #cp -R arch/${ArchDir}/usr/X11R6/lib64/libXvBAW*.* \
      # ${TmpDrvFilesDir}/${ATI_XLIB_64}
      (I mailed you, gbeauche, about this too)

      After putting those files in place, this was the output I received from vainfo:

      [email protected]:~$ vainfo
      libva: libva version 0.31.0-sds3
      libva: va_getDriverName() returns 0
      libva: Trying to open /usr/lib/va/drivers/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.5.1
      vainfo: Supported profile and entrypoints
      xvba_video: XVBA_CreateContext(): status 11
      X Error of failed request: BadRequest (invalid request code or no such operation)
      Major opcode of failed request: 0 ()
      Serial number of failed request: 12
      Current serial number in output stream: 12
      Not good I'd say. Then I though I'd install an earlier version of xvba_video. When I tried 0.4.3 I got this:

      [email protected]:~$ vainfo
      libva: libva version 0.31.0-sds3
      libva: va_getDriverName() returns 0
      libva: Trying to open /usr/lib/va/drivers/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.4.3
      vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple : VAEntrypointIDCT
      VAProfileMPEG2Main : VAEntrypointIDCT
      VAProfileH264Baseline : VAEntrypointVLD
      VAProfileH264Main : VAEntrypointVLD
      VAProfileH264High : VAEntrypointVLD
      VAProfileVC1Simple : VAEntrypointVLD
      VAProfileVC1Main : VAEntrypointVLD
      VAProfileVC1Advanced : VAEntrypointVLD
      Nice, I thought, so I compiled mplayer-vaapi, which ran through after I linked the src dir from libva_0.31.0-1+sds7.tar.gz in /usr/includes as vm.

      But running that mplayer against any file just gives me this:

      Error opening/initializing the selected video_out (-vo) device.
      Also vaapi is not in the list I get when running ./mplayer -vo help

      If you need more info, let me know. I would really like that hardware acceleration

      [edit]

      Just tried to compile hwdecode-demos:

      checking for XvBA... no
      Last edited by RemcoL; 05 November 2009, 06:55 PM.

      Comment


      • I hope this stuff will be actually useful and not like Xv support where the colors are totally wrong and makes the whole totally useless...

        Comment


        • Until now the libamdxvba1 package was not installed with my script on karmic. I added an on the fly sed hack to remove the libstdc++5 depend. So it is not needed to fetch that package from jaunty anymore. Live testing with kubuntu is the biggest crap however - until somebody could tell me how to disable that stupid crash protection which results in not running kwin at all...

          Comment


          • For good measure, I checked the sha1sums of libAMDXvBA.so.1 from various sources:

            a59c147c1c77ae68a5bb96388004b5900a932852 ati-9.9/libAMDXvBA.so.1.0
            cf5d44a6593a5e2b6a82fd8c751b5914f833b135 ati-9.10/libAMDXvBA.so.1
            7f1157d4f4d0642900f15b79feaa8198a6b3ec2d karmic/libAMDXvBA.so.1.0

            That the first two are different is no surprise, but where does the karmic one come from? Not that it mattered for me, it doesn't work with the karmic version either.

            Comment


            • karmic has got a prerelease of the 9-10 driver, version 8.660, the final is 8.661 which is required.

              Comment


              • Originally posted by gbeauche View Post
                I don't think you can take any snapshot anyway. I mean, I pretty doubt the backing store is active so you would get some black or white content instead.



                It could be that your system deviates too much from an AMD officially supported distribution. I also got that with some Debian/lenny mixture, though some other people have better success than me there.

                BTW, it's simpler to test step by step. e.g. please download
                http://splitted-desktop.com/~gbeauch...wdecode-demos/

                And run e.g. vaapi_h264 --glx (double dash glx)
                the answer is:
                Code:
                ./vaapi_h264 --glx
                Display type 'glx'
                Hardware accelerator 'vaapi'
                [hwdecode_demos] VA display 0x1901c60
                libva: libva version 0.31.0-sds3
                libva: va_getDriverName() returns 0
                libva: Trying to open /usr/lib64/va/drivers/fglrx_drv_video.so
                libva: va_openDriver() returns 0
                [hwdecode_demos] VA API version 0.31
                [hwdecode_demos] 1 display attributes available
                [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 0 max 0 value 0x0
                [hwdecode_demos] 4 profiles available
                [hwdecode_demos]   VAProfileMPEG2Simple
                [hwdecode_demos]   VAProfileMPEG2Main
                [hwdecode_demos]   VAProfileH264High
                [hwdecode_demos]   VAProfileVC1Advanced
                [hwdecode_demos] 1 entrypoints available for VAProfileH264High
                [hwdecode_demos]   VAEntrypointVLD
                xvba_video: XVBA_CreateDecode(): status 2
                VAAPI: use vaCopySurfaceGLX()
                [hwdecode_demos] vaCopySurfaceGLX(): unknown libva error
                ERROR: display failed


                then take me to the next level

                Comment


                • I've updated the ebuilds for xvba-video to include ~amd64 support and also for mplayer, but still have no luck with va-api. hwcodec demo also fails to compile

                  Code:
                  make[2]: Entering directory `/home/non7top/soft/vaapi/hwdecode-demos-0.7.4/src'
                  gcc -DHAVE_CONFIG_H -I.     -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12    -DUSE_FFMPEG    -DUSE_VAAPI -DUSE_VAAPI_X11 -DUSE_VAAPI_GLX  -DUSE_H264 -g -O2 -MT ffmpeg_h264-debug.o -MD -MP -MF .deps/ffmpeg_h264-debug.Tpo -c -o ffmpeg_h264-debug.o `test -f 'debug.c' || echo './'`debug.c
                  In file included from debug.c:22:
                  debug.h:24: error: conflicting types for 'dprintf'
                  /usr/include/stdio.h:397: note: previous declaration of 'dprintf' was here
                  debug.c:25: error: conflicting types for 'dprintf'
                  /usr/include/stdio.h:397: note: previous declaration of 'dprintf' was here

                  Comment


                  • @non7tip

                    You really own r700 hardware (hd 4xxx)?

                    @RemcoL

                    Why didn't you try just

                    http://www.phoronix.com/forums/showp...3&postcount=12

                    I removed the libstdc++5 yesterday.
                    Last edited by Kano; 06 November 2009, 04:19 AM.

                    Comment


                    • Originally posted by non7top View Post
                      I've updated the ebuilds for xvba-video to include ~amd64 support and also for mplayer, but still have no luck with va-api. hwcodec demo also fails to compile

                      Code:
                      make[2]: Entering directory `/home/non7top/soft/vaapi/hwdecode-demos-0.7.4/src'
                      gcc -DHAVE_CONFIG_H -I.     -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12    -DUSE_FFMPEG    -DUSE_VAAPI -DUSE_VAAPI_X11 -DUSE_VAAPI_GLX  -DUSE_H264 -g -O2 -MT ffmpeg_h264-debug.o -MD -MP -MF .deps/ffmpeg_h264-debug.Tpo -c -o ffmpeg_h264-debug.o `test -f 'debug.c' || echo './'`debug.c
                      In file included from debug.c:22:
                      debug.h:24: error: conflicting types for 'dprintf'
                      /usr/include/stdio.h:397: note: previous declaration of 'dprintf' was here
                      debug.c:25: error: conflicting types for 'dprintf'
                      /usr/include/stdio.h:397: note: previous declaration of 'dprintf' was here
                      I don't know what Ulrich smoke, he should have named those new functions as fdprintf()... Anyway, I released a new hwdecode-demos (0.7.5) that renames dprintf() to debug_printf().

                      Comment

                      Working...
                      X