Multiple XBMC outputs on one PC

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
o.maille Offline
Junior Member
Posts: 31
Joined: Apr 2012
Reputation: 0
Post: #11
The VM route appears most appealing to me as re-compiling to enable multiple instances (as suggested elsewhere) seems like a huge on-going task for upgrades etc.

The main issue will be the video performance, that said if you can fit in a number of PCI video cards etc... - I think only vmware allows for full allocation of video devices but may be wrong.
tweaking dirty regions, fliptimeout etc. a must i imagine as well as disabling visualisations

Obviously a processor with AMD-V or VT-x would be a huge +

I'd give the idea one month so all input appreciated
find quote
o.maille Offline
Junior Member
Posts: 31
Joined: Apr 2012
Reputation: 0
Post: #12
It works! - for audio anyway

FYI

Hardware Spec;
Pentium 4 630 3 Ghz on intel D945GTP board - http://www.cpubenchmark.net/cpu_lookup.p...+4+3.00GHz
2.5 GB ram (running at 266 Mhz) -
Geforce 6800 GS 256Mb
3.5 TB on two drives connected via USB caddy (to be move internally)
M-Audio Delta 1010lt sound card - 4 stereo phono outputs
Cut 2 phono leads in half and crudely wired through a simple blocks (Upgrade http://www.ebyelectro.com/terminal-block...wless.asp) to speaker cables that run through my house then into two speakers in each room

Software
Windows XP 32 - (to be changed to server 2003 64 if possible)
XBMC (4 separate folders on external drive - Run side by running in portable mode as different windows users outputting to different audio devices- wasn't able to achieve in windows 7/8)
Virtual Audio Cable - to allow switching of audio into more than one room (can use xbmc mutliroom audio plugin for two audio output)
MySQL - to manage single database
Xbmc remote on android (assign different port for each instance) - minor issues controlling volume and next track etc.

Performance;
Each instance seems to use about 20% CPU and 30-40mb of Ram with all playing music, much lower when idle
The sound levels are not fantastic but OK for my bathroom and bedroom running but I'm running the sound back into my stereo in living room for amplication

Given the low spec of the CPU and GPU I'd be surprised if this cannot be replicated on a small €200-300 pc
As for video I might get 4 old lcds and test it as the pc has original on board VGA and DVI + the Geforce ones
(This post was last modified: 2012-05-06 19:33 by o.maille.)
find quote
dougdeep Offline
Junior Member
Posts: 11
Joined: Apr 2010
Reputation: 0
Post: #13
I'd think this would be possible on Linux using multiple instances of Xorg (one for each display adapter), and running each Xbmc instance with a different user to ensure the home directory files don't interfere. Finally, you'd want to point each instance to the correct audio card. My only fear would be that there's some kind of bug in the video drivers that screws up the whole thing.

The other route on Linux is virtualization. I've poked around on this before. In KVM, there's a low chance you'll get PCI passthrough to work for your video cards because of some VGA bios problems. I've found few successes, and those who did got lucky with very specific video cards. If it worked, this would be my preference.

Xen may be more hopeful. I believe they've managed to get specific video card passthrough support working on Xen. However, KVM is considered the strategic hypervisor on Linux these days. I'm not convinced it'll continue to grow like KVM is.

I doubt there's any room for success on Windows.

I have to build a new HTPC/server soon, so I may just try this out. I will, of course, share the results.
(This post was last modified: 2012-06-21 22:39 by dougdeep.)
find quote
o.maille Offline
Junior Member
Posts: 31
Joined: Apr 2012
Reputation: 0
Post: #14
I've two video cards in the rig above each with dvi and vga and will be hooking them up to 4 monitors to see how it goes in the next few days;
Somewhat apprehensive given ;
http://forum.xbmc.org/showthread.php?tid...pid1085302

Realistically I don't see great benefit for me in hooking more than 2 video outputs, worried about speed and video audio lag etc. also using laptop with widi and projector covers whatever room I'm in.

I'm using one sound card and assigning different channels with xbmc, works very well. Virtual audio cable is not working very well but I'm looking into alternatives.

I probably will give this a go on linux but unfortunately my linux experience isn't what is was 5 yrs ago.

What would you recommend; i was thinking xorg on dsl?
-drivers may be a pain but it would be lightweight
find quote
CantrellsMedia Offline
Junior Member
Posts: 6
Joined: Jun 2012
Reputation: 0
Post: #15
I'm pretty new to XBMC so don't take this to the bank. I have two jailbroken atv's (Latest version) with XBMC and I couldn't be happier with the performance. All my content is stored on my mac mini and streaming works great.

As soon as I can figure out how to get DTV to play through XBMC and Apple TV I'll toss my matrix switchers and baluns!
find quote
dougdeep Offline
Junior Member
Posts: 11
Joined: Apr 2010
Reputation: 0
Post: #16
(2012-06-21 22:32)dougdeep Wrote:  The other route on Linux is virtualization. I've poked around on this before. In KVM, there's a low chance you'll get PCI passthrough to work for your video cards because of some VGA bios problems. I've found few successes, and those who did got lucky with very specific video cards. If it worked, this would be my preference.

Using a motherboard and CPU with IOMMU virtualization extensions, I gave this a shot. I passed through the video and audio PCI devices from my NVidia G210 to the KVM Linux Guest. Unfortunately, the NVidia driver refused to load, saying the adapter is not supported. Using lspci, the devices looked like NVidia devices. Unfortunately, I think the nvidia driver may be making some bad assumptions about the PCI cooardinate, the bus #s, slot #s, etc. I was able to modify the kernel module to load, but the binary blob threw out a not supported error when Xorg started. Oh well. I can try to talk to the NVidia guys at nvnews.net, but I doubt Nvidia will make any meaningful changes.

You could try other manufacturers, but I believe nvidia still has the most comprehensive hardware accelerated video playback support on Linux.

My next attempt will be to use multiple Xorg displays/screens.
find quote
adetjen Offline
Junior Member
Posts: 1
Joined: Aug 2012
Reputation: 0
Post: #17
I´m trying to do the same, I already tried VM and none of them worked (VMW and VB), I will install win xp to test your option, tell me, how do you do on xbmc to set different outputs of a sound card for different xbmc users?, do you need an amplifier in orden to listen at good volumen on the order rooms?
Thanks from Uruguay¡¡¡
find quote
o.maille Offline
Junior Member
Posts: 31
Joined: Apr 2012
Reputation: 0
Post: #18
i'm using different windows xp users NOT different xbmc profiles

I've slightly updated my install so here's a run down;

Install windows and add desired number of users matching number of copies of XBMC required
Then set up the mysql library (optional I guess but highly recommended);
http://wiki.xbmc.org/index.php?title=HOW...g_up_MySQL
Create a shortcut to xbmc and edit the target to; ".........\XBMC.exe -p" this enables portable mode which makes creates a folder in the install directory to handle user files.
Then configured one install of xbmc and scanned in my media.
Make 5 installs of xbmc on the pc in 5 separate folders (copy and paste if you like) and create 5 shortcuts for portable mode <I put mine on an external drive to allow for change of main PC>
Test each install by running (using XBMC.exe -p shortcut) as one of the users (right click-run as...)

Now you have a way to run multiple instances. In each instance you can change configurations independently so for you audio go to; System-Settings-System-Audio output and select you device.
For two outputs see;
http://forum.xbmc.org/showthread.php?tid=86038
For more than two you could consider virtual audio cable but it ran too slowly for me

To help hasten starting the programs I used;
http://www.joeware.net/freetools/tools/cpau/
and created a .bat file;

CPAU -u DAVE-SERVER\xbmc1 -p xbmc1 logon -ex "T:\XBMC1\xbmc.exe -p" -lwp
PING -n 10 127.0.0.1>nul
CPAU -u DAVE-SERVER\xbmc2 -p xbmc2 logon -ex "T:\XBMC2\xbmc.exe -p" -lwp
PING -n 10 127.0.0.1>nul
CPAU -u DAVE-SERVER\xbmc3 -p xbmc3 logon -ex "T:\XBMC3\xbmc.exe -p" -lwp
PING -n 10 127.0.0.1>nul
CPAU -u DAVE-SERVER\xbmc4 -p xbmc4 logon -ex "T:\XBMC4\xbmc.exe -p" -lwp

This starts each instance as different user with a 9 second delay between start-ups (delay prevents crashes)

If you have an android phone and want to control each one individually you need to change the event server port in guisettings.xml (search for esport and edit the value; <esport>9834</esport>) - this is needed to control volume and player, you can connect without changing this as long as you assign different ports in System-Network-Services ( and enable etc.)
For added automation you can install eventghost on pc and phone; this will allow you to run each batch file on the pc from your phone thus starting the xbmc for the desired room (even start xbmc remote on your phone too)

Let me know how you get on
find quote
Post Reply