[mythtv-users] CrystalHD Configuration? (What am I missing?)

rsh1k roland.sh1000 at gmail.com
Wed Sep 19 20:09:00 UTC 2012


Does anyone know the current recommended process to configure a
Broadcom CrystalHD decoder?   I'm attempting to set up a new install
with one, but I have hit some snags.

Here is my current setup:
* The CrystalHD is a BCM970015, verified working on the same machine
under Windows XP (dual-boot)
* Gentoo Linux, recent 3.3.8 kernel  (not a genkernel)
* In the kernel, the Staging->CrystalHD portion is compiled as a module
* MythTV from the github Gentoo overlay
* MythTV version 0.25.1_p20120622, compiled with the 'crystalhd' use flag

Working backwards, I can tell from the video output that the CrystalHD
is not being used by MythtTV.  The mythfrontend console output doesn't
list any status or give any signs that it has even tried.

Reading other pages
(http://www.mythtvtalk.com/broadcom-crystal-hd-14732/), I was under
the impression that I had to specifically enable CrystalHD as a
playback decoder, however, that option doesn't exist for me -
"Standard" (ffmpeg) is the only decoder available.

So trying to figure this out, I'm a bit puzzled as to where to look next.

This page (http://intr.overt.org/blog/?p=125), dated 2011/03/24, says
that CrystalHD support was merged into FFmpeg, but Gentoo's FFmpeg
doesn't look at the crystalhd use flag.  I'm not sure if that means it
has support by default and the flag is not necessary, or if Gentoo's
ebuild doesn't set a flag that it should.  I also am not entirely sure
if the MythTV setup is dependent on FFmpeg having CrystalHD support,
or if MythTV handles it itself (using the CrystalHD to bypass FFmpeg)?
   Running 'ffmpeg -formats", "ffmpeg -codecs", "ffmpeg -bsfs", and
"ffmpeg -filters", none of them list CrystalHD... although as I
mentioned, I am not sure if this is required for MythTV support...   I
also see that there was a separate branch for the CrystalHD version of
ffmpeg, but there is a comment that the repository is obsolete, as the
changes are now in the upstream master.

The FFmpeg announcement page also mentions needing the latest
CrystalHD driver from Jarod Wilson's git tree, indicating that the
version in the kernel staging directory was too old, as was the
version on Broadcom's website.   The linked git tree
(http://git.wilsonet.com/crystalhd.git/) no longer exists…  and some
Googling leads me to believe that it was moved to here:

The "new" git repository on linuxtv.org has its last update listed as
2011/03/14, within a few weeks of that FFmpeg update…  However, I see
that the kernel staging driver has received updates all the way up
through 2012/08/28.

So is the kernel staging driver the one to use? Or should I use the
"older" one from the git repository on linuxtv?

On some other sites, I see references made to the device
"/dev/crystalhd"…  my machine doesn't have this, even after loading
the module.
(reference: https://bbs.archlinux.org/viewtopic.php?id=145638)
So this would make me think that the module hasn't loaded correctly,
although I have no feedback from the system to indicate that this is
the case.

Is there something I have missed?   (non-bundled firmware, perhaps?)

Thanks for the help.  I'm out of references, so any pointers or tips
from successful setups, or suggestions on what to check next, would be
greatly appreciated.

I will attach the relevant system output below.

- rsh1k

# modprobe -v crystalhd
insmod /lib/modules/3.3.8-gentoo/kernel/drivers/staging/crystalhd/crystalhd.ko

# dmesg
[  978.043653] crystalhd: module is from the staging directory, the
quality is unknown, you have been warned.
[  978.044344] Loading crystalhd 0.9.27

# lsmod
Module                  Size  Used by
crystalhd              44168  0
snd_hda_codec_idt      45122  1
snd_hda_intel          18879  0
snd_hda_codec          58297  2 snd_hda_codec_idt,snd_hda_intel
snd_pcm                57704  2 snd_hda_intel,snd_hda_codec
snd_timer              14383  1 snd_pcm
snd                    40009  5
atl1c                  27530  0
soundcore               4065  1 snd
snd_page_alloc          5389  2 snd_hda_intel,snd_pcm

# lspci -v
03:00.0 Multimedia controller: Broadcom Corporation BCM70015 Video
Decoder [Crystal HD]
        Subsystem: Broadcom Corporation BCM70015 Video Decoder [Crystal HD]
        Flags: bus master, fast devsel, latency 0, IRQ 5
        Memory at febf0000 (64-bit, non-prefetchable) [size=64K]
        Memory at fe000000 (64-bit, non-prefetchable) [size=8M]
        Capabilities: [48] Power Management version 3
        Capabilities: [60] Vendor Specific Information: Len=6c <?>
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [cc] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [13c] Virtual Channel

 # emerge -pv mythtv
[ebuild   R    ] media-tv/mythtv-0.25.1_p20120622::mythtv  USE="alsa
crystalhd dvd xmltv xvid (-altivec) -ass -autostart -bluray -cec
-debug -dvb -fftw -hls -ieee1394 -jack -lcd -lirc -perl -pulseaudio
-python -raop -vaapi -vdpau" INPUT_DEVICES="-joystick"
VIDEO_CARDS="-nvidia" 0 kB

# emerge -pv ffmpeg
[ebuild   R    ] media-video/ffmpeg-0.10.3  USE="alsa bzip2 encode
hardcoded-tables xvid zlib -3dnow -3dnowext -X -aac -aacplus
(-altivec) -amr -avx -bindist -cdio (-celt) -cpudetection -debug
-dirac -doc -faac -frei0r -gnutls -gsm -ieee1394 -jack -jpeg2k -libass
-libv4l -mmx -mmxext -modplug -mp3 (-neon) -network -openal -openssl
-oss -pic -pulseaudio -rtmp -schroedinger -sdl -speex -ssse3
-static-libs -test -theora -threads -truetype -v4l -vaapi -vdpau
(-vis) -vorbis -vpx -x264" FFTOOLS="aviocat cws2fws ffeval graph2dot
ismindex pktdumper qt-faststart trasher" 0 kB

More information about the mythtv-users mailing list