XBMC for FreeBSD

I compiled this OK but cant get it to run on my 7.2 amd64 box. I'm not at it right now but it complains that it tried to run 3x times and failed, no real debug was available.
 
I was able to compile and start it (with VDPAU) on my Intel Atom machine (FreeBSD 8.1-RELEASE amd64), but VDPAU does not work.

I installed nvidia-driver (256.53) from ports which should have VDPAU support. Compiled ffmpeg with VDPAU support.

My xorg.conf has:

Code:
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

and I added (because VDPAU doesn't work)

Code:
Section "Extensions"
    Option         "Composite" "Disable"
EndSection

Section "Module"

    Load        "dbe"

    # Load the glx module.
    Load        "glx"

    Load        "extmod"

    Load        "type1"
    Load        "freetype"
EndSection

but XBMC --debug says when I try to play:

Code:
ERROR: (VDPAU) unable to init VDPAU - vdp_st = 0x19. *beep*Falling back.

Anyone with ideas what might be wrong in my settings?

Thanks in advance.
 
I recompiled with "NONFREE" and now I get from xbmc.log:


Code:
13:07:29 T:34619889920 M:2419732480   DEBUG: CDVDFactoryCodec: compiled in hardware support: CrystalHD:no OpenMax:no VDPAU:yes VAAPI:no
13:07:29 T:34619889920 M:2419732480  NOTICE: CDVDVideoCodecFFmpeg::Open() Creating VDPAU(1280x528, 28)
13:07:29 T:34619889920 M:2419728384   ERROR: (VDPAU) - Undefined symbol "_nss_cache_cycle_prevention_function" in InitVDPAUProcs
13:07:29 T:34619889920 M:2419728384  NOTICE: CDVDVideoCodecFFmpeg::Open() Failed to get VDPAU device
13:07:29 T:34619889920 M:2419724288  NOTICE:  (VDPAU) Close

VDPAU might be broken?! I reinstalled libvdpau but it had no effect...
 
pogo said:
VDPAU might be broken?! I reinstalled libvdpau but it had no effect...

I'm also testing this port with all the gimmicks (vdpau, nonfree, ffmpeg) enabled.
So far it seems to be working, playing 1080p BD-rips with almost no CPU load (0.1).
libvdpau is bundled to the nvidia-driver, make sure you compile it before you build the XBMC, and make sure you compile everything with vdpau support, wondering if there's a make flag for it (WITH_VDPAU=yes ? ).
 
A problem I have been encountering is with digital audio output, specifically AC3 and DTS passthru.
XBMC (well actually ALSA) insists that it is an iec958 when it really is a Realtek ALC889.
AC3 and DTS capable receiver is connected via coax.

[CMD=]sysctl hw.snd.default_unit=2[/CMD]
[CMD=]sysctl dev.pcm.2.play.vchanformat=s16le:5.1[/CMD]
[CMD=]sysctl dev.pcm.2.play.vchanmode=adaptive[/CMD]

[CMD=]cat /dev/sndstat[/cmd]
Code:
FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
Installed devices:
pcm0: <HDA Realtek ALC885 PCM #0 Analog> (play/rec)
pcm1: <HDA Realtek ALC885 PCM #1 Analog> (play/rec)
pcm2: <HDA Realtek ALC885 PCM #2 Digital> (play/rec) default

In XBMC audio hardware settings i selected the digital interface for 5.1 output, enabled DTS and AC3. per default iec958 is selected as both the "normal" and passthru interface. Since it didn't work like that I set "normal" to default and manually entered ALC885 for passthru, resulting in this error:

Code:
ERROR: Initialize - failed to open custom device iec958:AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2
 (error:Invalid argument), retry with default iec958

If i leave it at the default iec958 , the custom part goes away, but still no sound.
Any ideas?

This is on:
[CMD=]uname -rip[/cmd]
Code:
8.2-RC2 amd64 GENERIC

So the previous problems with snd_hda should not be the culprit.
 
I found a workaround for workaround for my VDPAU problem. I have to change the Video Renderer every time I restart XBMC to another (best is to change to something before quit and change it to "Automatlicy" after restart) - and it works.

fadolf said:
A problem I have been encountering is with digital audio output, specifically AC3 and DTS passthru.
XBMC (well actually ALSA) insists that it is an iec958 when it really is a Realtek ALC889.
AC3 and DTS capable receiver is connected via coax.

I have the same problem with ALC662 (optical) and MCP7A (HDMI). Works via oss (mplayer -ao oss -ac hwac3 ...).

Code:
pcm0: <HDA Realtek ALC662 PCM #0 Digital> at cad 0 nid 1 on hdac0
pcm1: <HDA Realtek ALC662 PCM #1 Analog> at cad 0 nid 1 on hdac0
pcm2: <HDA NVidia MCP7A HDMI PCM #0 Digital> at cad 3 nid 1 on hdac0
 
I've got this now running on 8.1 RELEASE and with the radeon driver, seems quite happy. I do not know how to enable the remote control however, is this functionality working in the BSD release?

Cheers
 
You find it under Settings->Network->Services. The default port is 8080, but you have to set a username/password as well.
The xbmc remote app for android works very well, I'd expect the iphone/ipad app to be similar.
Seems like a perfect solution if you have an android or iphone with wireless connection.
 
Thanks for the help, the android app looks a lot better than the ios one, but its all working now, was a make config issue, apologies if time was wasted here (I thought the box would be grayed out but was not created at all)

Cheers
 
Back
Top