Personal computing discussed

Moderator: JustAnEngineer

 
dmcconachie
Gerbil In Training
Topic Author
Posts: 5
Joined: Thu Sep 21, 2017 2:45 pm
Location: Michigan, USA

Dedicated Kinect 2 Host PC

Thu Sep 21, 2017 3:54 pm

I'm putting together a PC dedicated for use as a host for multiple Kinect 2 sensors; ideally I'd like this to be some sort of small form factor PC rather than something like a mid-tower case, but that is making it harder for me to decide on components.

Some specific design requirements/goals:
  • Budget is not a particular concern so long as it's "something reasonable"
  • "Small form factor"; I don't think I'll be able to fit everything something like a SilverStone Milo miniATX case but that size is the nominal target
  • Operating system will be Ubuntu 16.04, so hardware should be functional with minimal issues. Mostly a non-issue these days for most products.
  • Host at least 3 Kinect 2 sensors using the libfreenect software (it's on github for reference); this means I need 3 separate USB Host Controllers that are Intel or NEC chipsets - likely via add in card(s), will need more than 1 lane of PCI-E each, webpage says "x8 or x16 usually works"
  • Edit: USB chipset almost certainly needs to be Intel or NEC; in particular ASMedia is know to not work
  • NVIDIA based discrete graphics card for use with CUDA; perhaps a Zotac GeForce GTX 1060 Mini (6GB) or Quadro P1000
  • Intel CPU with built in GPU for use with VAAPI; I'm concerned about cooling issues if I go with something with a higher TDP than an i7-7700, but I'm not sure how I'll know if there will be issues without having hardware to test with
  • Some additional overhead available on the system after running 3 Kinects in order to use the data generated by the Kinects; i.e. so long as the system doesn't overheat, MOAR is better
  • If the MB comes with a 10 Gb Ethernet port, that'd be a bonus, but I suspect that any processor that supports 10 Gb Ethernet won't have a integrated GPU for VAAPI support

So the goal here is to figure out what processor, MB, and add in cards get me the most performance in the smallest form factor that fit these constraints. After that I'll sort out RAM etc., but those items should be much easier to spec and choose from. I'd like to avoid options that require a "normal" sized PC case, I realize that with a larger case I can get much more performance and I have a much wider range of options, but that's a route that ought to be relatively straightforward and is more limited by budget rather than by any specific design requirement.

Note that the fact that I'm using Amazon links is more for convenient linking than any particular intent to buy via Amazon. And apparently I can't post links yet, so no links.
Last edited by dmcconachie on Thu Sep 21, 2017 4:30 pm, edited 1 time in total.
 
DPete27
Grand Gerbil Poohbah
Posts: 3177
Joined: Wed Jan 26, 2011 12:50 pm
Location: Wisconsin, USA

Re: Dedicated Kinect 2 Host PC

Thu Sep 21, 2017 4:16 pm

Kinect 2 uses a single USB3.0 connection. IIRC both the AM4 300 series and Intel 200 series mobos can drive at least 8 USB3.0 devices at full bandwidth concurrently. That wouldn't push you out of mITX territory.

The Silverstone SG05 is a nice case. If you want something more rectangular, the Silverstone ML08 or ML07 can house a dual slot GPU
Main: i5-3570K, ASRock Z77 Pro4-M, MSI RX480 8G, 500GB Crucial BX100, 2 TB Samsung EcoGreen F4, 16GB 1600MHz G.Skill @1.25V, EVGA 550-G2, Silverstone PS07B
HTPC: A8-5600K, MSI FM2-A75IA-E53, 4TB Seagate SSHD, 8GB 1866MHz G.Skill, Crosley D-25 Case Mod
 
dmcconachie
Gerbil In Training
Topic Author
Posts: 5
Joined: Thu Sep 21, 2017 2:45 pm
Location: Michigan, USA

Re: Dedicated Kinect 2 Host PC

Thu Sep 21, 2017 4:24 pm

On my workstation PC I've tried putting 2 Kinects on the same USB Host Controller; the drivers cannot handle it; the libfreenect software/troubleshooting guide explicitly singles out this as an issue if you want to put multiple Kinects on the same PC. (Supermicro X10SRA for reference). If there is a miniATX board out there with 3 USB 3.0/3.1 host controllers I'd be thrilled.
 
DPete27
Grand Gerbil Poohbah
Posts: 3177
Joined: Wed Jan 26, 2011 12:50 pm
Location: Wisconsin, USA

Re: Dedicated Kinect 2 Host PC

Thu Sep 21, 2017 4:30 pm

USB3.0 is native on the CPU now, no controller on the mobo IIRC.
Main: i5-3570K, ASRock Z77 Pro4-M, MSI RX480 8G, 500GB Crucial BX100, 2 TB Samsung EcoGreen F4, 16GB 1600MHz G.Skill @1.25V, EVGA 550-G2, Silverstone PS07B
HTPC: A8-5600K, MSI FM2-A75IA-E53, 4TB Seagate SSHD, 8GB 1866MHz G.Skill, Crosley D-25 Case Mod
 
dmcconachie
Gerbil In Training
Topic Author
Posts: 5
Joined: Thu Sep 21, 2017 2:45 pm
Location: Michigan, USA

Re: Dedicated Kinect 2 Host PC

Thu Sep 21, 2017 4:36 pm

Hmm. I'm looking at a Gigabyte microATX Z270 board right now that explicitly lists a ASMedia USB 3.1 controller on it: https://www.gigabyte.com/Motherboard/GA ... g-5-rev-10

I'll do some digging.

Edit: yes, I realize that 3.1 and 3.0 are different, but if the ports exposed are ASMedia 3.1, I don't know if they will work.
Edit 2: Apparently USB 3.0 has been renamed USB 3.1 Gen A.
Last edited by dmcconachie on Thu Sep 21, 2017 5:17 pm, edited 1 time in total.
 
dmcconachie
Gerbil In Training
Topic Author
Posts: 5
Joined: Thu Sep 21, 2017 2:45 pm
Location: Michigan, USA

Re: Dedicated Kinect 2 Host PC

Thu Sep 21, 2017 5:13 pm

After a bit of digging and comparison, it seems that many motherboards will have both native Intel Z270 chipset driven USB 3.1 ports as well as an additional ASMedia 3.1 controller.

My concern is this however; my workstation MB lists 8 USB 3.0 ports on the spec page (C612 chipset); however when I query the system for their stats, this is what I get:

lsusb -t | grep Bus
/:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/15p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M


Edit: Only 3 of the 8 buses are 5000M ports, and of those 2 are ASMedia and don't work with the Kinect. I've confirmed that there multiple ports on the 5000M buses here, but the drivers cannot use multiple Kinects on a single bus, anecdotal evidence points to a bandwidth limitation (~3 Gbps per Kinect) https://github.com/OpenKinect/libfreenect2/issues/320.

Is there anyway that I'll be able to tell if something similar might be happening with the miniITX boards using the Z270 chipset?
 
DPete27
Grand Gerbil Poohbah
Posts: 3177
Joined: Wed Jan 26, 2011 12:50 pm
Location: Wisconsin, USA

Re: Dedicated Kinect 2 Host PC

Fri Sep 22, 2017 9:53 am

I apologize for not having enough time to actually confirm my comments with references. Again (IIRC) you'll see ASMedia controllers on boards with USB3.1c since that's currently the only way to offer that connectivity.
It might be helpful to just talk about a specific board as an example. The AsRock Z280M-ITX/ac has perhaps the most USB3 ports on the rear panel of any 200 series mobo. Also, no mention of USB3.1 so there's a good chance you wont see any mention of a secondary USB controller in the specs (haven't checked). Also, since the number of usb ports offered seems to correlate with the max number of ports available from the CPU, I'd hazard a guess that a secondary controller isn't needed.
Main: i5-3570K, ASRock Z77 Pro4-M, MSI RX480 8G, 500GB Crucial BX100, 2 TB Samsung EcoGreen F4, 16GB 1600MHz G.Skill @1.25V, EVGA 550-G2, Silverstone PS07B
HTPC: A8-5600K, MSI FM2-A75IA-E53, 4TB Seagate SSHD, 8GB 1866MHz G.Skill, Crosley D-25 Case Mod
 
dmcconachie
Gerbil In Training
Topic Author
Posts: 5
Joined: Thu Sep 21, 2017 2:45 pm
Location: Michigan, USA

Re: Dedicated Kinect 2 Host PC

Fri Sep 22, 2017 12:17 pm

Okay, so looking at the specs that ASRock provides, these are all USB 3.1 Gen 1 ports, which means that each bus is limited to 5 Gbps. With the assumption that there are 2 ports on each bus, that gives me up to 4 Kinects, assuming that all of the busses are provided directly by the Intel Z270 chipset. It is plausible that all of the ports are busses are from the Z270 chipset, but how would I know?

This MSI motherboard (on the "detail" tab) explicitly separates the ASMedia ports (USB 3.1 Gen 2) from the Z270 chipset driven ports (USB 3.1 Gen 1), but it does not specify how many busses are being used to drive these ports, presumably 1 bus for every 2 ports.

Edit: Looking at the ASRock Z270 SuperCarrier, this board does separate the internal headers into those provided by the Z270 chipset, and those provided by ASMedia. It does not specify what provides the back panel USB ports. More and more I'm leaning towards believing that the mITX board you linked will have all of its ports driven by the Z270 chipset, with 2 ports per bus.
 
DPete27
Grand Gerbil Poohbah
Posts: 3177
Joined: Wed Jan 26, 2011 12:50 pm
Location: Wisconsin, USA

Re: Dedicated Kinect 2 Host PC

Fri Sep 29, 2017 12:24 pm

Sorry. USB3.0 = USB3.1 Gen1 (forgive me if I refuse to fall for marketing BS. It's much LESS confusing to just leave USB3.0 as USB3.0 and give USB3.1 Gen2 the USB3.1 moniker..../rant). The USB3.1 Gen 2 ports are ones that would be accompanied by the ASMedia controller.
Main: i5-3570K, ASRock Z77 Pro4-M, MSI RX480 8G, 500GB Crucial BX100, 2 TB Samsung EcoGreen F4, 16GB 1600MHz G.Skill @1.25V, EVGA 550-G2, Silverstone PS07B
HTPC: A8-5600K, MSI FM2-A75IA-E53, 4TB Seagate SSHD, 8GB 1866MHz G.Skill, Crosley D-25 Case Mod

Who is online

Users browsing this forum: Redocbew and 2 guests