[OSX] XBMC/CrystalHD install for newbies

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
clayq Offline
Junior Member
Posts: 2
Joined: Oct 2010
Reputation: 0
Post: #1
Hi,
I am a relative newbie to OSX/linux and am looking for instructions that will tell me everything I need to do to get the card & software up and running with XBMC on my Mac Mini.

I have installed the card successfully, but am finding there are many differing and vague sets of instructions on how to load the drivers/kexts, macports etc etc. Does anyone have an easy to follow step-by-step guide on how to set it up from start to finish?

I just want to watch HD movies on my Mini Smile

Thanks
find quote
sorenjul Offline
Junior Member
Posts: 4
Joined: Jan 2009
Reputation: 0
Post: #2
Copied and adjusted from original article by Aeho's Output

Quote:Unpack the binary distribution and open a terminal window in that folder. Once in the unpacked folder enter:

sudo mv BroadcomCrystalHD.kext /System/Library/Extensions
sudo chown -R root:wheel /System/Library/Extensions/BroadcomCrystalHD.kext
sudo chmod -R 755 /System/Library/Extensions/BroadcomCrystalHD.kext

Kernel extensions won’t run unless they have the above owner/permissions. Ignore any error that OS X pops up at this stage.

Then run
mv libcrystalhd.dylib /usr/lib/
mv bcm70012fw.bin /usr/lib/
mv bcm70015fw.bin /usr/lib/
sudo chown root:wheel /usr/lib/libcrystalhd.dylib /usr/lib/bcm70012fw.bin /usr/lib/bcm70015fw.bin
sudo chmod 755 /usr/lib/libcrystalhd.dylib /usr/lib/bcm70012fw.bin /usr/lib/bcm70015fw.bin


These libraries are required by the kernel extension (and again need to be permissioned/owned properly.

Now your Broadcom driver is installed. Load it up as follows

sudo kextload /System/Library/Extensions/BroadcomCrystalHD.kext

You should get a message saying the kernel extension was successfully loaded. You’ll only have to do this once as after reboots it’ll automatically be loaded.
Best regards and happy HD watching
Sorenjul
find quote
clayq Offline
Junior Member
Posts: 2
Joined: Oct 2010
Reputation: 0
Post: #3
Thanks you're a legend. I can see CrystalHD starting in the debug log, and getting solid 24fps on 20GB mkv files with only 50% cpu utilisation.

Now just have to work out how to make the apple remote menu button launch XBMC from EyeTV.

Also is there any way to remove the shutdown, sleep & reboot buttons from XBMC, and just have that button perform exit only?

Thanks again
find quote
oconnellc Offline
Junior Member
Posts: 29
Joined: Oct 2009
Reputation: 0
Post: #4
Does anyone know if the binaries have been updated somewhere to include the most recent changes to the trunk for the "crystalhd-for-osx" project? I have the 715 card, not the 712 and it looks like you need to build from the trunk to get support for that card.

Well, building this is starting to get a little out of my league. I was able to pull down the source, but when trying to run the makefile, I get the following error:

Code:
make: /usr/bin/g++-4.0: Command not found
make: *** [libcrystalhd_if.o] Error 127

Trying to install gcc4.0 ends up causing me a nightmare of errors related to dev-tools and other things I really don't understand. I'm actually trying, but in the meantime I thought I would check and see if anyone out there knows if there are updated binaries so I could save myself this confusion...

Thanks,
Chris
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,478
Joined: Feb 2008
Reputation: 64
Post: #5
oconnellc Wrote:Does anyone know if the binaries have been updated somewhere to include the most recent changes to the trunk for the "crystalhd-for-osx" project? I have the 715 card, not the 712 and it looks like you need to build from the trunk to get support for that card.

Well, building this is starting to get a little out of my league. I was able to pull down the source, but when trying to run the makefile, I get the following error:

Code:
make: /usr/bin/g++-4.0: Command not found
make: *** [libcrystalhd_if.o] Error 127

Trying to install gcc4.0 ends up causing me a nightmare of errors related to dev-tools and other things I really don't understand. I'm actually trying, but in the meantime I thought I would check and see if anyone out there knows if there are updated binaries so I could save myself this confusion...

Thanks,
Chris

dharma includes support for crystalhd. there's no difference between trunk and dharma with respect to crystalhd. The crystalhd driver/lib of course are a user install.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
oconnellc Offline
Junior Member
Posts: 29
Joined: Oct 2009
Reputation: 0
Post: #6
I don't think I explained myself very well. I'm not trying to build XBMC from the trunk, I'm trying to build the crystalhd drivers/library. I went to the google code page and pulled down the source, since it looks like the binaries don't include support for the newer card, but I read (not sure where, now) that the trunk there did include the support for the newer card, thus my attempt to build from the source?

Did I get something wrong?

Thanks,
Chris
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,478
Joined: Feb 2008
Reputation: 64
Post: #7
oconnellc Wrote:I don't think I explained myself very well. I'm not trying to build XBMC from the trunk, I'm trying to build the crystalhd drivers/library. I went to the google code page and pulled down the source, since it looks like the binaries don't include support for the newer card, but I read (not sure where, now) that the trunk there did include the support for the newer card, thus my attempt to build from the source?

Did I get something wrong?

Thanks,
Chris

0.3.6 and above include support for the bcm70015

your error looks like you don't have xcode installed.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
oconnellc Offline
Junior Member
Posts: 29
Joined: Oct 2009
Reputation: 0
Post: #8
Thanks for the reply. It looks like the latest, 3.6.0 (found here http://code.google.com/p/crystalhd-for-o...loads/list) is good up to version r156 and source is up to 174. Is it worth my trouble to try to get this building locally? Or should I just take 156 and be happy?

Thanks,
Chris
find quote
lolof Offline
Junior Member
Posts: 5
Joined: Oct 2011
Reputation: 0
Post: #9
Hello all! Sorry to reactive this old post but I am looking for information.

I have build the last revision under 10.5 and would like to move the builded file to a 10.6.8 new installation.

I have 3 files : the 2 bcmxxxxfw.bin and a libcrystalhd.dylib.3.6

As the file was built, I saw an output on the terminal telling that xbmc needed the header, and the make install has installed symlink and other things on /usr/...

How can I reinstall correctly the 3 files that I saved from the 10.5.x without to have to recompill them under 10.6

I still have the directory where the files has bin built.

Have I to install xcode on my 10.6.x system and run the sudo make install again ?
Or better, can I install the 3 files manually like explain in this thread?

Big thanks in advance to give me instruction.
find quote
lolof Offline
Junior Member
Posts: 5
Joined: Oct 2011
Reputation: 0
Post: #10
OK, I solved this myself running "make sudo install" from Snow Leopard.

Seems that it is not possible to load the kext permanantly for the r174.
How coul I do to have it permanent ?
Thanks in advance.

Edit :
I ve edited my account in sort to not have to typa the password using sudo (sudo visudo).
I ve done an apple script to load the kext at start up and put it in the startup item in the user prefpanes. This works. But unfortunatelly, the kext is unloaded after the computer go to sleep.

Is there a way to definitively load that r174 kext at startup ?
Help would be greatly appreciate.
(This post was last modified: 2011-10-23 15:48 by lolof.)
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,478
Joined: Feb 2008
Reputation: 64
Post: #11
sudo mv BroadcomCrystalHD.kext /System/Library/Extensions
sudo chown -R root:wheel /System/Library/Extensions/BroadcomCrystalHD.kext
sudo chmod -R 755 /System/Library/Extensions/BroadcomCrystalHD.kext
sudo touch /System/Library/Extensions


the last one is most important.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
lolof Offline
Junior Member
Posts: 5
Joined: Oct 2011
Reputation: 0
Post: #12
Thanks very much.
(This post was last modified: 2011-10-23 20:59 by lolof.)
find quote
hobartgeorge Offline
Member
Posts: 72
Joined: Jan 2007
Reputation: 0
Post: #13
Hi, sorry to once again revive an old thread. I have 10.6.8 so i'm under the impression i'll need to build my own version of the lib and driver. The xcode i have installed from the original CD and have updated it to the latest version for 10.6.8. The results i get seem to indicate that i'm missing some files or something which is weird. I ran a svn update just to check that it was indeed up to date, it was.

Output of the make error is here:

http://pastebin.com/TA9KE3Us

I'm certain of the fact of error as when i run sudo make install i get:

Code:
DHNB:libcrystalhd dan$ make
OBJFILES = libcrystalhd_if.o libcrystalhd_int_if.o libcrystalhd_fwcmds.o libcrystalhd_priv.o libcrystalhd_fwdiag_if.o libcrystalhd_fwload_if.o libcrystalhd_parser.o
SRCFILES = libcrystalhd_if.cpp libcrystalhd_int_if.cpp libcrystalhd_fwcmds.cpp libcrystalhd_priv.cpp libcrystalhd_fwdiag_if.cpp libcrystalhd_fwload_if.cpp libcrystalhd_parser.cpp
LNM = libcrystalhd.so.3.6 libcrystalhd.so.3
c++  -D__LINUX_USER__ -I./ -I/usr/include -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2  -c -o libcrystalhd_if.o libcrystalhd_if.cpp
In file included from libcrystalhd_if.cpp:38:
../../include/bc_dts_glob_lnx.h:43:25: error: linux/param.h: No such file or directory
../../include/bc_dts_glob_lnx.h:44:25: error: linux/ioctl.h: No such file or directory
libcrystalhd_if.cpp: In function ‘BC_STATUS DtsSendSPESPkt(void*, uint64_t, BOOL)’:
libcrystalhd_if.cpp:1839: warning: dereferencing type-punned pointer will break strict-aliasing rules
make: *** [libcrystalhd_if.o] Error 1

which indicates the lib wasn't built.

I tried running it all on my 10.8.2 machine, i get:
Code:
DHNB:libcrystalhd dan$ make
OBJFILES = libcrystalhd_if.o libcrystalhd_int_if.o libcrystalhd_fwcmds.o libcrystalhd_priv.o libcrystalhd_fwdiag_if.o libcrystalhd_fwload_if.o libcrystalhd_parser.o
SRCFILES = libcrystalhd_if.cpp libcrystalhd_int_if.cpp libcrystalhd_fwcmds.cpp libcrystalhd_priv.cpp libcrystalhd_fwdiag_if.cpp libcrystalhd_fwload_if.cpp libcrystalhd_parser.cpp
LNM = libcrystalhd.so.3.6 libcrystalhd.so.3
c++  -D__LINUX_USER__ -I./ -I/usr/include -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2  -c -o libcrystalhd_if.o libcrystalhd_if.cpp
In file included from libcrystalhd_if.cpp:38:
../../include/bc_dts_glob_lnx.h:43:25: error: linux/param.h: No such file or directory
../../include/bc_dts_glob_lnx.h:44:25: error: linux/ioctl.h: No such file or directory
libcrystalhd_if.cpp: In function ‘BC_STATUS DtsSendSPESPkt(void*, uint64_t, BOOL)’:
libcrystalhd_if.cpp:1839: warning: dereferencing type-punned pointer will break strict-aliasing rules
make: *** [libcrystalhd_if.o] Error 1

So.... Not sure what to do about that. Ideas? Really appreiceciate help. I have previously donated to davilla for the broadcom crystal hd for osx driver.
find quote
hobartgeorge Offline
Member
Posts: 72
Joined: Jan 2007
Reputation: 0
Post: #14
Update. I tried building the driver instead to see if that would work, that gave me the clue that it won't work because i didn't have the 10.4 api stuff installed for xcode. So i uninstalled xcode and reinstalled with the 10.4 support and it worked.
find quote
hobartgeorge Offline
Member
Posts: 72
Joined: Jan 2007
Reputation: 0
Post: #15
Got it installed. Confirmed that by looking at the logs in the console app. Frodo doesn't have the explicit use crystal hd under settings>video>playback however i'm pretty sure it's using it because it's visually much better and CPU is down to about 50% rather than off the wall.

Still getting dropped frames in highly detailed scenes with lots of movements though. Anyone have any ideas on how to reduce that? Bigger CPU perhapsConfused Doesn't seem to be RAM bound as the machine has 2GB and still 800MB free. I wouldn't have thought it was disk as nothing else is writing to the disk (although it is a usb hdd).
find quote