Kodi Community Forum
How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Linux (https://forum.kodi.tv/forumdisplay.php?fid=52)
+---- Thread: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs (/showthread.php?tid=116996)



RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - MeisterD - 2013-09-09

Hey guys,

I'm new here - greetings to the xbmc community - and I'm no native speaker ... means who ever finds mistakes can keep them. ;-)

Not sure if it was already discussed here, but as I already saw some threads with same/similar topics:

I just set up ubuntu 13.04 with fglrx (sticked to ubuntu ppa version 12.9, since 13.6b was laggy) and xbmc-xvba following this guide (thx wsnipex, great work!!!) and stumbled into issues with hdmi passthrough.

Starting XBMC via unity desktop session worked fine, I got all the HDMI audio output devices listed, passthrough was working. Swichting to XBMC standalone mode all HDMI audio output devices went gone and passthrough output device read "Failed to initialize audio device".

As I didn't want to deinstall and lose pulseaudio for the desktop session, I took a look in how and when pulseaudio is being initialized and learned that upstart is doing this job - at least for Ubuntu 13.04. Checking the respective upstart script /etc/init/pulseaudio.conf, it read:

Code:
# uncomment the 'start on' to start pulseaudio in system mode
# (enables the pulseaudio init script - requires that users be in the
# pulse-access group):

I did both and got my XBMC standalone passthrough issues fixed :-)

1. Edit upstart configuration file for pulseaudio:
Code:
sudo nano /etc/init/pulseaudio.conf
2. Search for follwoing line:
Code:
#start on runlevel [2345]
and change it to:
Code:
start on runlevel [2345]
3. Assuming xbmc as user, add it to group pulse-access:
Code:
sudo adduser xbmc pulse-access

Even though it does seem trivial, it took me long hours to get the trick (newbie). Still, I hope it might also help others. :-)

BTW: Maybe someone can find a way that does not change the default behaviour of how pulseaudio is being invoked (per-session mode over system mode)?


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - deadite66 - 2013-09-09

seems AMD is having a look at the GL interop feature you wanted for radeon vdpau.
http://cgit.freedesktop.org/~deathsimple/mesa/commit/?id=39f64342ca6400fb4bf163232848c23e0a192b92


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - fritsch - 2013-09-09

Hehe, let's see when the stubs are filled :-)

But that is looking good.


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - griddy - 2013-09-13

I was wondering if anybody here could help me with my xorg.conf

When I went from a precise to quantal install (with a later catalyst version) my xorg.conf I had used previously caused tearing in xbmc. So I created the new xorg.conf with the usual sudo aticonfig --initial -f and sudo aticonfig --sync-vsync=on. This solved the tearing problem but now if I switch my monitor off either from the mains or on the switch on the front or it times out from the xbmc screensaver than I never recover it (screen remains black). I have to ctl alt F1 and kill xbmc then ctl alt F7. Currently using only screendim from within xbmc but often use the desktop as well. If i switch off monitor whilst in the desktop then turn back on it is somehow half the resolution but screen size is the same (in other words some of the open windows are now half off the screen)

My current setup is with Lubuntu quantal minimal install, wsnipex/xbmc-xvba-frodo, ATI HD6450.
My monitor is connected with the DVI output. My receiver is connected to the HDMI output.
Apart from the black screen/resolution problem after turning off the monitor my current xorg.conf works.
I have tried various alterations which either result in tearing or no sound.
Ideally I want the gpu doing as little work as possible so want to avoid sending a picture via the hdmi, just sound. Any help would be appreciated.

Code:
Section "ServerLayout"
    Identifier     "aticonfig Layout"
    Screen      0  "aticonfig-Screen[0]-0" 0 0
EndSection

Section "Module"
EndSection

Section "Monitor"
    Identifier   "aticonfig-Monitor[0]-0"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
EndSection

Section "Monitor"
    Identifier   "0-DFP2"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
    Option        "PreferredMode" "2560x1600"
    Option        "TargetRefresh" "60"
    Option        "Position" "0 0"
    Option        "Rotate" "normal"
    Option        "Disable" "false"
EndSection

Section "Device"
    Identifier  "aticonfig-Device[0]-0"
    Driver      "fglrx"
    Option        "Capabilities" "0x00000800"
    Option        "Monitor-DFP2" "0-DFP2"
    BusID       "PCI:2:0:0"
EndSection

Section "Screen"
    Identifier "aticonfig-Screen[0]-0"
    Device     "aticonfig-Device[0]-0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection



RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - griddy - 2013-09-13

This xorg.conf works without the black screen problem but involves (I think) sending an image to the receiver which is stressing the gpu more (tell me if I'm wrong!) and it struggles enough with HD video on my 2560x1600 monitor. The first HD video sometimes plays without problem but if stopped all videos afterwards are garbled.
Is there a way of mixing the two so that only audio is sent via hdmi and yet the xorg.conf has enough info so the display is not confused between the two outputs (dvi and hdmi)?

Code:
Section "ServerLayout"
    Identifier     "aticonfig Layout"
    Screen      0  "aticonfig-Screen[0]-0" 0 0
    Screen         "amdcccle-Screen[2]-1" 2560 0
EndSection

Section "Module"
EndSection

Section "Monitor"
    Identifier   "aticonfig-Monitor[0]-0"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
EndSection

Section "Monitor"
    Identifier   "0-DFP2"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
    Option        "PreferredMode" "2560x1600"
    Option        "TargetRefresh" "60"
    Option        "Position" "0 0"
    Option        "Rotate" "normal"
    Option        "Disable" "false"
EndSection

Section "Monitor"
    Identifier   "0-DFP1"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
    Option        "TargetRefresh" "60"
    Option        "Position" "0 0"
    Option        "Rotate" "normal"
    Option        "Disable" "false"
    Option        "PreferredMode" "640x480"
EndSection

Section "Device"
    Identifier  "aticonfig-Device[0]-0"
    Driver      "fglrx"
    Option        "Capabilities" "0x00000800"
    Option        "Monitor-DFP2" "0-DFP2"
    BusID       "PCI:2:0:0"
EndSection

Section "Device"
    Identifier  "amdcccle-Device[2]-1"
    Driver      "fglrx"
    Option        "Monitor-DFP1" "0-DFP1"
    BusID       "PCI:2:0:0"
    Screen      1
EndSection

Section "Screen"
    Identifier "aticonfig-Screen[0]-0"
    Device     "aticonfig-Device[0]-0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
        Modes    "2560x1600"
    EndSubSection
EndSection

Section "Screen"
    Identifier "amdcccle-Screen[2]-1"
    Device     "amdcccle-Device[2]-1"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

So the first xorg.conf works fine apart from blank screen issue if monitor is turned off in anyway. The above xorg.conf solves this problem but causes garbled video playback. If anyone could help I'd be very grateful!


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - checkmate1980 - 2013-09-13

Hello everyone,
My XMBC crashes everytime and I have no clue what's the problem. When I emerge it with vaapi it crashes....without vaapi crashes. The only way to recover from crash is a system reboot. I'm using fglrx. I can't make it even halfway through a movie. I'm using fglrx
13.8 beta 2 amd propertority driver.

logs deleted.
please use pastebin or xbmclogs for posting logs.


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - fritsch - 2013-09-13

Wrong thread. This thread is for XVBA on amd gpus. The whole thread was only made, to celebrate that we have removed the xvba-va-driver 2 years ago ...

So, that it is buggy and crashes like hell, we know since the beginning, you just proofed that nothing changed.


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - wip_ - 2013-09-13

checkmate1980:
  • Please start with reading the first post in this thread.
  • Xbmc trunk does not support XvBA, which you want if you want to use Xbmc with fglrx, the reason for this: see below.
  • fglrx vdpau is broken, only AMD can fix this. Don't use it.
  • XvBA in fglrx 13.8 is broken, only AMD can fix this. Don't use it.
  • Actually, XvBA in all fglrx versions in portage are broken, except one, only AMD can fix this.
  • fglrx 13.6 beta mostly works. but not everything, like DTS-HD, mpeg2, etc.. But it's as good as it gets, only AMD can fix this.
  • As xbmc trunk doesn't work, you'll need a custom ebuild that uses fernetmentas sources, as described it the first post. Here's a sample of media-tv/xbmc-fernetmenta-9999.ebuild, might need manual updates :
Code:
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="5"

inherit eutils python pax-utils

# FernetMenta XvBA
EGIT_REPO_URI="https://github.com/FernetMenta/xbmc.git"
EGIT_PROJECT="${PN}"
#EGIT_BRANCH="master"
EGIT_BRANCH="frodo"

if [[ ${PV} == "9999" ]] ; then
        inherit git-2 autotools
else
        inherit autotools
        MY_P=${P/_/-}
        SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
        KEYWORDS="~amd64 ~x86"
        S=${WORKDIR}/${MY_P}
fi

DESCRIPTION="XBMC is a free and open source media-player and entertainment hub. This is FernetMentas branch of XBMC with support for AMD XVBA."
HOMEPAGE="https://github.com/FernetMenta/xbmc.git"

LICENSE="GPL-2"
SLOT="0"

IUSE="airplay alsa altivec avahi bluetooth bluray cec css debug goom joystick midi mysql nfs profile +projectm pulseaudio pvr +rsxs rtmp +samba sse sse2 sftp udev upnp vaapi vdpau webserver +xrandr xvba"

COMMON_DEPEND="virtual/opengl
        app-arch/bzip2
        app-arch/unzip
        app-arch/zip
        app-i18n/enca
        airplay? ( app-pda/libplist )
        >=dev-lang/python-2.4
        dev-libs/boost
        dev-libs/fribidi
        dev-libs/libcdio[-minimal]
        cec? ( dev-libs/libcec )
        dev-libs/libpcre[cxx]
        >=dev-libs/lzo-2.04
        dev-libs/tinyxml
        dev-libs/yajl
        dev-python/simplejson
        media-libs/alsa-lib
        media-libs/flac
        media-libs/fontconfig
        media-libs/freetype
        >=media-libs/glew-1.5.6
        media-libs/jasper
        media-libs/jbigkit
        >=media-libs/libass-0.9.7
        bluray? ( media-libs/libbluray )
        css? ( media-libs/libdvdcss )
        media-libs/libmad
        media-libs/libmodplug
        media-libs/libmpeg2
        media-libs/libogg
        media-libs/libpng
        projectm? ( media-libs/libprojectm )
        media-libs/libsamplerate
        media-libs/libsdl[audio,opengl,video,X]
        alsa? ( media-libs/libsdl[alsa] )
        >=media-libs/taglib-1.8
        media-libs/libvorbis
        media-libs/sdl-gfx
        >=media-libs/sdl-image-1.2.10[gif,jpeg,png]
        media-libs/sdl-mixer
        media-libs/sdl-sound
        media-libs/tiff
        pulseaudio? ( media-sound/pulseaudio )
        media-sound/wavpack
        >=virtual/ffmpeg-0.6
        rtmp? ( media-video/rtmpdump )
        avahi? ( net-dns/avahi )
        nfs? ( net-fs/libnfs )
        webserver? ( net-libs/libmicrohttpd[messages] )
        sftp? ( net-libs/libssh )
        net-misc/curl
        samba? ( >=net-fs/samba-3.4.6[smbclient] )
        bluetooth? ( net-wireless/bluez )
        sys-apps/dbus
        sys-libs/zlib
        virtual/jpeg
        virtual/mysql
        x11-apps/xdpyinfo
        x11-apps/mesa-progs
        vaapi? ( x11-libs/libva )
        vdpau? (
                || ( x11-libs/libvdpau >=x11-drivers/nvidia-drivers-180.51 )
                virtual/ffmpeg[vdpau]
        )
        xvba? ( x11-libs/xvba-video )
        x11-libs/libXinerama
        xrandr? ( x11-libs/libXrandr )
        x11-libs/libXrender
        virtual/jre"
RDEPEND="${COMMON_DEPEND}
        udev? ( sys-fs/udisks sys-power/upower )
        !media-tv/xbmc"
DEPEND="${COMMON_DEPEND}
        dev-util/gperf
        x11-proto/xineramaproto
        dev-util/cmake
        x86? ( dev-lang/nasm )
        dev-libs/tinyxml"

src_unpack() {
        if [[ ${PV} == "9999" ]] ; then
                git-2_src_unpack
                cd "${S}"
                rm -f configure
        else
                unpack ${A}
                cd "${S}"
        fi

        # Fix case sensitivity
        mv media/Fonts/{a,A}rial.ttf || die
        mv media/{S,s}plash.png || die
}

src_prepare() {

        # some dirs ship generated autotools, some dont
        local d
        for d in \
                . \
                lib/{libdvd/lib*/,cpluff,libapetag,libid3tag/libid3tag} \
                xbmc/screensavers/rsxs-* \
                xbmc/visualizations/Goom/goom2k4-0
        do
                [[ -e ${d}/configure ]] && continue
                pushd ${d} >/dev/null
                einfo "Generating autotools in ${d}"
                eautoreconf
                popd >/dev/null
        done

        local squish #290564
        use altivec && squish="-DSQUISH_USE_ALTIVEC=1 -maltivec"
        use sse && squish="-DSQUISH_USE_SSE=1 -msse"
        use sse2 && squish="-DSQUISH_USE_SSE=2 -msse2"
        sed -i \
                -e '/^CXXFLAGS/{s:-D[^=]*=.::;s:-m[[:alnum:]]*::}' \
                -e "1iCXXFLAGS += ${squish}" \
                lib/libsquish/Makefile.in || die

        # Fix XBMC's final version string showing as "exported"
        # instead of the SVN revision number.
        export HAVE_GIT=no GIT_REV=${EGIT_VERSION:-exported}

        # Avoid lsb-release dependency
        sed -i \
                -e 's:lsb_release -d:cat /etc/gentoo-release:' \
                xbmc/utils/SystemInfo.cpp || die

        # avoid long delays when powerkit isn't running #348580
        sed -i \
                -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \
                xbmc/linux/*.cpp || die

        epatch_user #293109

        # Tweak autotool timestamps to avoid regeneration
        find . -type f -print0 | xargs -0 touch -r configure
}

src_configure() {
        # Disable documentation generation
        export ac_cv_path_LATEX=no
        # Avoid help2man
        export HELP2MAN=$(type -P help2man || echo true)

        econf \
                --docdir=/usr/share/doc/${PF} \
                --disable-ccache \
                --disable-optimizations \
                --disable-external-libraries \
                --enable-gl \
                $(use_enable airplay) \
                $(use_enable avahi) \
                $(use_enable bluray libbluray) \
                $(use_enable cec libcec) \
                $(use_enable css dvdcss) \
                $(use_enable debug) \
                $(use_enable goom) \
                --disable-hal \
                $(use_enable joystick) \
                $(use_enable midi mid) \
                $(use_enable mysql) \
                $(use_enable nfs) \
                $(use_enable profile profiling) \
                $(use_enable projectm) \
                $(use_enable pulseaudio pulse) \
                $(use_enable pvr mythtv) \
                $(use_enable rsxs) \
                $(use_enable rtmp) \
                $(use_enable samba) \
                $(use_enable sftp ssh) \
                $(use_enable upnp) \
                $(use_enable vaapi) \
                $(use_enable vdpau) \
                $(use_enable xvba) \
                $(use_enable webserver) \
                $(use_enable xrandr)
}

src_install() {
        default
        rm "${ED}"/usr/share/doc/*/{LICENSE.GPL,copying.txt}*

        domenu tools/Linux/xbmc.desktop
        newicon tools/Linux/xbmc-48x48.png xbmc.png

        insinto "$(python_get_sitedir)" #309885
        doins tools/EventClients/lib/python/xbmcclient.py || die
        newbin "tools/EventClients/Clients/XBMC Send/xbmc-send.py" xbmc-send || die
        pax-mark -m "${D}"usr/lib64/xbmc/xbmc.bin
}

pkg_postinst() {
        elog "Visit http://wiki.xbmc.org/?title=XBMC_Online_Manual"
}

To resolve the issues with support for AMD chipsets in Xbmc you can:
  1. Mail AMD every day and ask them to update the fglrx driver with working XvBA support in linux
  2. Contribute to the radeon open source driver to support XvBA. Lots and lots of work remains.
    Update: Actually, there been some breakthroughs here. Stay tuned, as this may turn out pretty well.
  3. Buy something else than AMD until either AMD goes away or fixes the driver.
    Impressive what a few lines of code can change.



RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - checkmate1980 - 2013-09-14

(2013-09-13, 19:23)wip_ Wrote: checkmate1980:
  • Please start with reading the first post in this thread.
  • Xbmc trunk does not support XvBA, which you want if you want to use Xbmc with fglrx, the reason for this: see below.
  • fglrx vdpau is broken, only AMD can fix this. Don't use it.
  • XvBA in fglrx 13.8 is broken, only AMD can fix this. Don't use it.
  • Actually, XvBA in all fglrx versions in portage are broken, except one, only AMD can fix this.
  • fglrx 13.6 beta mostly works. but not everything, like DTS-HD, mpeg2, etc.. But it's as good as it gets, only AMD can fix this.
  • As xbmc trunk doesn't work, you'll need a custom ebuild that uses fernetmentas sources, as described it the first post. Here's a sample of media-tv/xbmc-fernetmenta-9999.ebuild, might need manual updates :
Code:
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="5"

inherit eutils python pax-utils

# FernetMenta XvBA
EGIT_REPO_URI="https://github.com/FernetMenta/xbmc.git"
EGIT_PROJECT="${PN}"
#EGIT_BRANCH="master"
EGIT_BRANCH="frodo"

if [[ ${PV} == "9999" ]] ; then
        inherit git-2 autotools
else
        inherit autotools
        MY_P=${P/_/-}
        SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
        KEYWORDS="~amd64 ~x86"
        S=${WORKDIR}/${MY_P}
fi

DESCRIPTION="XBMC is a free and open source media-player and entertainment hub. This is FernetMentas branch of XBMC with support for AMD XVBA."
HOMEPAGE="https://github.com/FernetMenta/xbmc.git"

LICENSE="GPL-2"
SLOT="0"

IUSE="airplay alsa altivec avahi bluetooth bluray cec css debug goom joystick midi mysql nfs profile +projectm pulseaudio pvr +rsxs rtmp +samba sse sse2 sftp udev upnp vaapi vdpau webserver +xrandr xvba"

COMMON_DEPEND="virtual/opengl
        app-arch/bzip2
        app-arch/unzip
        app-arch/zip
        app-i18n/enca
        airplay? ( app-pda/libplist )
        >=dev-lang/python-2.4
        dev-libs/boost
        dev-libs/fribidi
        dev-libs/libcdio[-minimal]
        cec? ( dev-libs/libcec )
        dev-libs/libpcre[cxx]
        >=dev-libs/lzo-2.04
        dev-libs/tinyxml
        dev-libs/yajl
        dev-python/simplejson
        media-libs/alsa-lib
        media-libs/flac
        media-libs/fontconfig
        media-libs/freetype
        >=media-libs/glew-1.5.6
        media-libs/jasper
        media-libs/jbigkit
        >=media-libs/libass-0.9.7
        bluray? ( media-libs/libbluray )
        css? ( media-libs/libdvdcss )
        media-libs/libmad
        media-libs/libmodplug
        media-libs/libmpeg2
        media-libs/libogg
        media-libs/libpng
        projectm? ( media-libs/libprojectm )
        media-libs/libsamplerate
        media-libs/libsdl[audio,opengl,video,X]
        alsa? ( media-libs/libsdl[alsa] )
        >=media-libs/taglib-1.8
        media-libs/libvorbis
        media-libs/sdl-gfx
        >=media-libs/sdl-image-1.2.10[gif,jpeg,png]
        media-libs/sdl-mixer
        media-libs/sdl-sound
        media-libs/tiff
        pulseaudio? ( media-sound/pulseaudio )
        media-sound/wavpack
        >=virtual/ffmpeg-0.6
        rtmp? ( media-video/rtmpdump )
        avahi? ( net-dns/avahi )
        nfs? ( net-fs/libnfs )
        webserver? ( net-libs/libmicrohttpd[messages] )
        sftp? ( net-libs/libssh )
        net-misc/curl
        samba? ( >=net-fs/samba-3.4.6[smbclient] )
        bluetooth? ( net-wireless/bluez )
        sys-apps/dbus
        sys-libs/zlib
        virtual/jpeg
        virtual/mysql
        x11-apps/xdpyinfo
        x11-apps/mesa-progs
        vaapi? ( x11-libs/libva )
        vdpau? (
                || ( x11-libs/libvdpau >=x11-drivers/nvidia-drivers-180.51 )
                virtual/ffmpeg[vdpau]
        )
        xvba? ( x11-libs/xvba-video )
        x11-libs/libXinerama
        xrandr? ( x11-libs/libXrandr )
        x11-libs/libXrender
        virtual/jre"
RDEPEND="${COMMON_DEPEND}
        udev? ( sys-fs/udisks sys-power/upower )
        !media-tv/xbmc"
DEPEND="${COMMON_DEPEND}
        dev-util/gperf
        x11-proto/xineramaproto
        dev-util/cmake
        x86? ( dev-lang/nasm )
        dev-libs/tinyxml"

src_unpack() {
        if [[ ${PV} == "9999" ]] ; then
                git-2_src_unpack
                cd "${S}"
                rm -f configure
        else
                unpack ${A}
                cd "${S}"
        fi

        # Fix case sensitivity
        mv media/Fonts/{a,A}rial.ttf || die
        mv media/{S,s}plash.png || die
}

src_prepare() {

        # some dirs ship generated autotools, some dont
        local d
        for d in \
                . \
                lib/{libdvd/lib*/,cpluff,libapetag,libid3tag/libid3tag} \
                xbmc/screensavers/rsxs-* \
                xbmc/visualizations/Goom/goom2k4-0
        do
                [[ -e ${d}/configure ]] && continue
                pushd ${d} >/dev/null
                einfo "Generating autotools in ${d}"
                eautoreconf
                popd >/dev/null
        done

        local squish #290564
        use altivec && squish="-DSQUISH_USE_ALTIVEC=1 -maltivec"
        use sse && squish="-DSQUISH_USE_SSE=1 -msse"
        use sse2 && squish="-DSQUISH_USE_SSE=2 -msse2"
        sed -i \
                -e '/^CXXFLAGS/{s:-D[^=]*=.::;s:-m[[:alnum:]]*::}' \
                -e "1iCXXFLAGS += ${squish}" \
                lib/libsquish/Makefile.in || die

        # Fix XBMC's final version string showing as "exported"
        # instead of the SVN revision number.
        export HAVE_GIT=no GIT_REV=${EGIT_VERSION:-exported}

        # Avoid lsb-release dependency
        sed -i \
                -e 's:lsb_release -d:cat /etc/gentoo-release:' \
                xbmc/utils/SystemInfo.cpp || die

        # avoid long delays when powerkit isn't running #348580
        sed -i \
                -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \
                xbmc/linux/*.cpp || die

        epatch_user #293109

        # Tweak autotool timestamps to avoid regeneration
        find . -type f -print0 | xargs -0 touch -r configure
}

src_configure() {
        # Disable documentation generation
        export ac_cv_path_LATEX=no
        # Avoid help2man
        export HELP2MAN=$(type -P help2man || echo true)

        econf \
                --docdir=/usr/share/doc/${PF} \
                --disable-ccache \
                --disable-optimizations \
                --disable-external-libraries \
                --enable-gl \
                $(use_enable airplay) \
                $(use_enable avahi) \
                $(use_enable bluray libbluray) \
                $(use_enable cec libcec) \
                $(use_enable css dvdcss) \
                $(use_enable debug) \
                $(use_enable goom) \
                --disable-hal \
                $(use_enable joystick) \
                $(use_enable midi mid) \
                $(use_enable mysql) \
                $(use_enable nfs) \
                $(use_enable profile profiling) \
                $(use_enable projectm) \
                $(use_enable pulseaudio pulse) \
                $(use_enable pvr mythtv) \
                $(use_enable rsxs) \
                $(use_enable rtmp) \
                $(use_enable samba) \
                $(use_enable sftp ssh) \
                $(use_enable upnp) \
                $(use_enable vaapi) \
                $(use_enable vdpau) \
                $(use_enable xvba) \
                $(use_enable webserver) \
                $(use_enable xrandr)
}

src_install() {
        default
        rm "${ED}"/usr/share/doc/*/{LICENSE.GPL,copying.txt}*

        domenu tools/Linux/xbmc.desktop
        newicon tools/Linux/xbmc-48x48.png xbmc.png

        insinto "$(python_get_sitedir)" #309885
        doins tools/EventClients/lib/python/xbmcclient.py || die
        newbin "tools/EventClients/Clients/XBMC Send/xbmc-send.py" xbmc-send || die
        pax-mark -m "${D}"usr/lib64/xbmc/xbmc.bin
}

pkg_postinst() {
        elog "Visit http://wiki.xbmc.org/?title=XBMC_Online_Manual"
}

To resolve the issues with support for AMD chipsets in Xbmc you can:
  1. Mail AMD every day and ask them to update the fglrx driver with working XvBA support in linux
  2. Contribute to the radeon open source driver to support XvBA. Lots and lots of work remains.
  3. Buy something else than AMD until either AMD goes away or fixes the driver.
Thanks for the input. I havent read through the thread much less the first post. I will and see what I can do and share my results with fellow users.


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - checkmate1980 - 2013-09-14

Post edited......


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - fritsch - 2013-09-14

Take care to build with internal ffmpeg and without pulseaudio. Btw. this is a completely unofficial ebuild. The only thing we provide, that has "some kind of support" is the ubuntu ppa.


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - checkmate1980 - 2013-09-15

I used the new ebuild in git xbmc-fernetmenta-9999 git(well about 2 months newer than the one from gentoo bugzilla) and I see very noticeable improvements in the playback. My anime's playback more smoothly than vaapi!!!!!


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - fritsch - 2013-09-15

Anime is most of the time hi10p. But yes, we have a multithreading patch especially for anime in there - in short: all cpus are used.


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - checkmate1980 - 2013-09-15

I'm getting high memory leaks? Any suggestions?


RE: How to Install XBMC PVR Xvba for AMD/Nvidia/Intel GPUs - fritsch - 2013-09-15

If you use 13.8 fglrx - that is expected ...