Configuring Broadcom CrystalHD BCM70012 HD video hardware decoder in conjunction with XBMC on Ubuntu Karmic 9.10

    Install packages necessary for assembly
    apt-get install build-essential git-core autoconf subversion ccache

    Download and collect drivers, for convenience we will do this in / usr / local / src
    cd / usr / local / src
    git clone git: //git.wilsonet.com/crystalhd.git/
    cd / usr / local / src / crystalhd / driver / linux
    autoconf

    We configure, assemble, install ...
    ./configure
    make
    make install

    Go to the directory with libraries for Linux
    cd / usr / local / src / crystalhd / linux_lib / libcrystalhd

    We assemble, install
    make
    make install


    Go to
    cd / usr / src /

    We load the module
    depmod -a
    modprobe crystalhd

    If everything went well then in dmesg should see the following
    [1116.445682] Loading crystalhd 0.9.27
    [1116.445795] PCI_INFO: Vendor: 0x14e4 Device: 0x1612 s_vendor: 0x14e4 s_device: 0x2612
    [1116.445848] Broadcom 70012 Decoder 0000: 02: 00.0: PCI INT A -> GSI 17 (level, low) > IRQ 17
    [1116.447087] allocated 18 elem
    [1116.447239] alloc irq_desc for 29 on node -1
    [1116.447256] alloc kstat_irqs on node -1
    [1116.447301] Broadcom 70012 Decoder 0000: 02: 00.0: irq 29 for MSI / MSI-X
    [ 1116.447399] Starting BCM70012 Device
    [1116.684240] clock is moving to 175 with n 35 with vco_mg 2
    [1116.684272] CStopping BCM70012 Device
    [1116.908158] Broadcom 70012 Decoder 0000: 02: 00.0: setting latency timer to 64

    And the modinfo crystalhd team should return the following
    modinfo crystalhd
    root @ crystal: / usr / local / src # modinfo crystalhd
    filename: /lib/modules/2.6.31-19-generic/kernel/drivers/video/broadcom/crystalhd.ko
    alias: bcm70012
    license: GPL
    description: Broadcom Crystal HD Decoder (BCM70012) Driver
    author: Prasad Bolisetty
    author: Naren Sankar
    srcversion: 8B48BA26802A1E8B58F4AFD
    alias: pci: v000014E4d00001612sv * sd * bc * sc * i *
    depends:
    vermagic: 2.6.31-19-generic SMvers mod6load

    Check if we have a "new" device :)
    root @ crystal: / usr / local / src # ls -lia / dev / crystalhd
    13609 crw-rw-rw- 1 root root 251, 2010-02-08 22:44 / dev / crystalhd

    Now we need the xbmc sources, I use the pvr2 branch, we will collect them here / usr / local / src, the process is quite long, the sources take about a gigabyte ...
    cd / usr / local / src
    svn co xbmc.svn.sourceforge.net/svnroot/xbmc/branches/pvr-testing2 xbmc-pvr2

    Now that we have the sources, we will install all the packages necessary for building xbmc
    aptitude install subversion make g ++ gcc gawk pmount libtool nasm automake cmake gperf unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite dev libogg-dev libasound-dev python-sqlite libglew-dev libcurl3 libcurl4-openssl-dev x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqpclient -1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libfaac-dev libenca-dev libxt-dev libxtst-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa- utils libcdio-dev libsamplerate-dev libmms-dev libmpeg3-dev libfaad-dev libflac-dev libiso9660-dev libass-dev libssl-dev fp-compiler gdc libwavpack-dev libmpeg2-4-dev

    We pass to assembly XBMC
    cd / usr / local / src / xbmc-pvr2
    ./bootstrap
    ./configure --enable-crystalhd --disable-joystick --enable-ccache

    We get this configuration
    - XBMC Configuration:
    - Debugging: Yes
    Profiling: No
    Optimization: Yes
    OpenGL: Yes
    VDPAU: No
    CrystalHD: Yes
    Joystick: No
    XRandR: Yes
    GOOM: No
    PCRE Support: Yes
    MID Support: No
    ccache: Yes
    PulseAudio: Yes
    FAAC: Yes
    DVDCSS : Yes
    Avahi: Yes
    Non-free: Yes
    ASAP Codec: No
    Deprecated libdts: No
    Deprecated liba52: No
    External Libraries: No
    External FFmpeg: No
    External liba52: No
    External libdts: No
    External libass: No
    External Python: No
    prefix: / usr / local
    ------------------------

    We proceed to the assembly, assemble but do not install
    make

    For convenience, I decided to make a deb package with xbmc, we do
    Install checkinstall
    apt-get install checkinstall

    Now we collect and install the package (answer checkinstall questions)
    checkinstall --fstrans = no --install = yes --pkgname = xbmc-crystal --pkgversion "last-svn-xbmc-pvr2-crystal"

    So after the done manipulations, we have the assembled package /usr/local/src/xbmc-pvr2/xbmc-crystal_last-svn-xbmc-pvr2-crystal-1_i386.deb, as well as the one installed from SVN
    XBMC-PVR2 ready to work with our hardware decoder, to activate the decoder in XBMC, go to the video settings and select the crystalHD driver.
    Happy viewing!

    Also popular now: