erichner Posted December 7, 2016 Share Posted December 7, 2016 I got everything working on my 6.3.0-rc5 setup using an m.2 Samsung NVMe 950 Pro 512GB and an Asus Strix GTX 1080 with the following steps. Preliminary: Figure out which PCIe controller you need to stub / passthrough to the VMs in the Flash syslinux.cfg editor (click your USB drive's name on the Main page) 1. Install Windows 10 VM: RAM/CPU - minimum +4GB / +2 CPUs Virtio-1.118-2 Q35-2.4 Set VNC to Cirrus No external PCIe components passed through USB Mode - EHCI 2.0 2. After VM install: Install VirtIO Host package in VM (located on CD image in This PC) Download and install TeamViewer free (to remove need of VNC and use TeamViewer to remote in) Download Geforce Experience and preload the drivers 3. Shutdown VM: Enable GPU passthrough via regular VM editor Connect Vive through USB 2.0 motherboard port Enable all Vive components via VM editor (take note of 0x2c87 & 0x2101 duplicated devices) Go to Tools -> System Devices -> Scroll down to USB Devices Take note of the "Bus 002 Device 003" for the IDs listed above Go to Edit XML for the VM and add: <address bus='1' device='52'/> after the 4 entries (two for 0x2c87 and two for 0x2101) <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x0bb4'/> <product id='0x2c87'/> (Change the Bus and Device #'s to whatever yours says in System Devices) 4. Startup VM for initial Vive Install: Drivers for parts of the Vive will install Download Steam & Vive Setup; install in that order Your Vive should be working with basic functionality (no camera) Enable and then install the Bluetooth driver via SteamVR settings 5. Final setup for full Vive functionality: Edit VM normally, not XML Disable VNC, enable passthrough of your GPU Set USB Mode - XHCI 3.0 Disconnect Vive USB from USB 2.0 and reconnect to additional PCIe 3.1 card Boot VM Additional USB Audio and Camera driver should install Your Vive should be working with full functionality Enjoy! Notes: I used a dual USB 3.1 + Ethernet card so that I can have a dedicated connection to the VM: Syba 3 Port USB 3.1 Gen 1 and Gigabit Ethernet PCI-e 2.0 X1 Card Components Other (SD-PEX50100) $29.99 https://www.amazon.com/gp/product/B01JT5KB8M/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&tag=erichner-20&camp=1789&creative=9325&linkCode=as2&creativeASIN=B01JT5KB8M&linkId=683f11016b1a2d5f779081a351bbb5b5 Quote Link to comment
SpaceInvaderOne Posted December 7, 2016 Share Posted December 7, 2016 Hi I am thinking of getting a vive or occulus. So with a USB controller passed through does vive work fine in the VM? I don't have any other gaming machine other than my VM ,so I would like to be sure I can use it with a VM okay. Also, what do you think of occulus vs vive? Sorry don't know a lot about VR. The best way to run the vive on a VM is by passing the USB controller. Some controllers still have issues. Even without running on a VM, there can be issues. I pass a USB 3.1 controller on my new ASUS x99 board and run my vive off that. I started this post when I didn't have such options with my older x99 ASRock board. If you pass a USB 2/3 controller though and you still have issues, then consider buying one of the PCIe USB 3.1 cards and passing that though. https://www.reddit.com/r/Vive/comments/4l0c68/psa_getting_a_pcie_usb_3_card_solved_all_my_vive/ To be honest with you. It took me 5 months just to get my setup working due to the motherboard dropping a GPU and crashing my machine at random intervals, that once I had it working, i set up the Vive and haven't touched the occulus yet. It is still in its plastic wrapping. I've been waiting for the touch sensors on the occulus. The vive was just on sale, during Black Friday. If you do get the vive, don't get two if you will be using them in the same room because the lighthouses will interfere with each other. great thanks for the info Quote Link to comment
SpaceInvaderOne Posted December 7, 2016 Share Posted December 7, 2016 I got everything working on my 6.3.0-rc5 setup using an m.2 Samsung NVMe 950 Pro 512GB and an Asus Strix GTX 1080 with the following steps. Preliminary: Figure out which PCIe controller you need to stub / passthrough to the VMs in the Flash syslinux.cfg editor (click your USB drive's name on the Main page) 1. Install Windows 10 VM: RAM/CPU - minimum +4GB / +2 CPUs Virtio-1.118-2 Q35-2.4 Set VNC to Cirrus No external PCIe components passed through USB Mode - EHCI 2.0 2. After VM install: Install VirtIO Host package in VM (located on CD image in This PC) Download and install TeamViewer free (to remove need of VNC and use TeamViewer to remote in) Download Geforce Experience and preload the drivers 3. Shutdown VM: Enable GPU passthrough via regular VM editor Connect Vive through USB 2.0 motherboard port Enable all Vive components via VM editor (take note of 0x2c87 & 0x2101 duplicated devices) Go to Tools -> System Devices -> Scroll down to USB Devices Take note of the "Bus 002 Device 003" for the IDs listed above Go to Edit XML for the VM and add: <address bus='1' device='52'/> after the 4 entries (two for 0x2c87 and two for 0x2101) <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x0bb4'/> <product id='0x2c87'/> (Change the Bus and Device #'s to whatever yours says in System Devices 4. Startup VM for initial Vive Install: Drivers for parts of the Vive will install Download Steam & Vive Setup; install in that order Your Vive should be working with basic functionality (no camera) Enable and then install the Bluetooth driver via SteamVR settings 5. Final setup for full Vive functionality: Edit VM normally, not XML Disable VNC, enable passthrough of your GPU Set USB Mode - XHCI 3.0 Disconnect Vive USB from USB 2.0 and reconnect to additional PCIe 3.1 card Boot VM Additional USB Audio and Camera driver should install Your Vive should be working with full functionality Enjoy! Notes: I used a dual USB 3.1 + Ethernet card so that I can have a dedicated connection to the VM: Syba 3 Port USB 3.1 Gen 1 and Gigabit Ethernet PCI-e 2.0 X1 Card Components Other (SD-PEX50100) $29.99 https://www.amazon.com/gp/product/B01JT5KB8M/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&tag=erichner-20&camp=1789&creative=9325&linkCode=as2&creativeASIN=B01JT5KB8M&linkId=683f11016b1a2d5f779081a351bbb5b5 Sorry I dont have a vive, so these questions may sound a bit stupid 1. Is there any reason you did not just install the OS using GPU pass through from the beginning, rather than using vnc/teamviewer then removing vnc and then putting in gpu pass through? 2. Step 5 should read enable pass through of PCIe 3.1 card, yes? Why do you have to install the driver for the vive usb devices connected to the motherboard usb 2.0 first. Does it not work if PCIe 3.1 is passed through on vm creation and vive then plugged into the usb on the passed through controller? Quote Link to comment
Baltostar Posted December 10, 2016 Author Share Posted December 10, 2016 3. Shutdown VM: Enable GPU passthrough via regular VM editor Connect Vive through USB 2.0 motherboard port Enable all Vive components via VM editor (take note of 0x2c87 & 0x2101 duplicated devices) Go to Tools -> System Devices -> Scroll down to USB Devices Take note of the "Bus 002 Device 003" for the IDs listed above Go to Edit XML for the VM and add: <address bus='1' device='52'/> after the 4 entries (two for 0x2c87 and two for 0x2101) <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x0bb4'/> <product id='0x2c87'/> (Change the Bus and Device #'s to whatever yours says in System Devices The script I wrote was to detect and attach the vive components to the PC because of one key issue. I discovered that editing the xml and specifying the IDs will work but only as you don't change anything on your pc configuration. If you unplug any of the vive USBs and plug them back in, you will loose connection to your vive. The script is to attach the vive to the running VM without reboot. If you do reboot your VM, it will give a device error because the USB Vive is registered as a different ID when you plug it back in. Do you have time to test unplugging the Vive, rebooting the VM and confirming that it will give you an XML error when you attempt to start? Then using the script to attach the vive back to your running VM. If everything works for you at that point, I'll set up a new windows 10 to confirm the process. After that I'll update the main post and reference your contribution. Thank you. Quote Link to comment
CommandLionInterface Posted January 10, 2017 Share Posted January 10, 2017 Hi I am thinking of getting a vive or occulus. So with a USB controller passed through does vive work fine in the VM? I don't have any other gaming machine other than my VM ,so I would like to be sure I can use it with a VM okay. Also, what do you think of occulus vs vive? Sorry don't know a lot about VR. I pass through my USB controller, it works fine with my vive. Also get a vive! Room scale is INSANE! Quote Link to comment
RobJ Posted January 11, 2017 Share Posted January 11, 2017 I added this thread as a guide, to Guides and Videos, in the VM -> Applications section Quote Link to comment
Juzzy Posted January 23, 2017 Share Posted January 23, 2017 Hey, guys. Love the script. After a little tinkering, I was about to get it to work near perfectly. The only problem I am having is the vive audio. It appears in Windows, however, when set as the primary audio device, windows acts as if there are no audio devices present. IE, I can play a video through HDMI audio - Works great. Switch to the VIVE audio, nothing. Video Won't even play. Would anyone here have a suggestion for me? Quote Link to comment
harperhendee Posted January 31, 2017 Share Posted January 31, 2017 I'm going to give this a try with a slightly different build using a high-end Xeon server chip. Here's the parts list I'm putting together: https://pcpartpicker.com/list/JPdsjc The main differences: 1) Using a 22 core Xeon instead of 6 core 2) Using 1070s instead of 1080s to help with thermal management (Build shows 2, but I plan to bump up to 4 if 2 work out ok) 3) Using Gigabyte x99 Designare EX board The solutions for USB passthrough on this thread seem focused on passing a single Vive to a single VM. Will these solutions scale to multiple Vives and multiple VMs? Quote Link to comment
Juzzy Posted February 3, 2017 Share Posted February 3, 2017 Hey Harperhendee, Just so you know I did get my working however there were issues. I have very choppy performances and often the vm would need to be reset in order to work. I also had stuttering issues when I was in game. I would recommend using a pci USB if possible. Quote Link to comment
harperhendee Posted February 24, 2017 Share Posted February 24, 2017 I'm still trying to get any VM to work, even in VNC mode. They are all currently crashing to UEFI shell. I think I have something messed up in the BIOS that is interfering with normal boot order. I was getting kicked to BIOS every time when booting to the USB flash drive. I would then force it to boot from the device and it would go. But then I had a secondary problem--when I boot from the Gigabyte Designare's USB ports (any of the USB3), then I get some USB controller run-time errors. It boots me to the GUI with a number of mounts missing. When I moved the USB Flash drive to my PCIE USB card, it booted correctly. But this is no good--I want to hand that USB card off to my VM. --Harper Quote Link to comment
harperhendee Posted February 24, 2017 Share Posted February 24, 2017 BTW, I am running a three headed unit. Here's a graphical illustration of the build: Quote Link to comment
parsec3d Posted March 2, 2017 Share Posted March 2, 2017 (edited) Hi! new to the forum and new to unraid so far got the vive to work on one VM running a 960 but have problems getting a 1060 to be recognised by windows both cards work ok on the same motherboard without using Unraid not sure what the problem might be had plans to replace the 1060 for a second 1060 or a 1070 but now must hold until I find out what might be blocking the card drivers from installation, also tried installing drivers on both VMs using the 960 to trick windows once I make the switch but as soon as I plug the 1060 windows fails to use the installed drivers tries to install new ones and fails, have the second vive ready and waiting for this to work. Any clues? Motherboard Dual 2011 WN7Y6 from a dell precision T5610 CPU Dual XEON E5-2670 2.6 GHz 20 MB 8-Core ... 16 cores in total half on each VM 56 megs ram 24 assigned to each VM let me know thanks in advance. Tony D. Edited March 2, 2017 by parsec3d Quote Link to comment
harperhendee Posted March 9, 2017 Share Posted March 9, 2017 I managed to get both the Vive and Oculus to run simultaneously on two machines. The performance is very good. The main issue I have come across is that the Vive touch controllers periodically disappear, then needs to be turned on again. I haven't had this issue with oculus touch controller, XBOX controller or the steam controller. When the controller comes back, it acts a bit jittery for a second, then settles down. Strangely enough, the issue seems to happen much more often on my right hand controller. Perhaps because I am using it more for interaction? I'm not sure. I've got a few ideas though: Assume the data path goes something like this: Vive Touch Controller -> Vive Headset(?) -> USB 3.0 -> VIVE interface box-> USB 3.0 extension cable (10 ft) -> USB 3.0 A to A cable (1 ft) -> USB 3.0 PCIE hub/bridge -> PCIE (remapped) -> Virtual Machine-> Vive Drivers -> SteamVR Theories: 1) The Vive controllers are timing out on some handshake between Vive and VM. Could be that every time I click on something, the VM needs to acknowledge the click. Perhaps there are some signal integrity problems on the USB or PCIE interfaces causes retries that take just a tad too long. There are a lot of hops from controller to VM. 2) The Vive controllers don't understand that they are actually being used and power down, because they are idle. This is similar to theory #1, but assumes no handshake, but a heartbeat sent periodically. Perhaps the heartbeat occasionally screws up and the Vive controller thinks the PC has died. Possible solutions: 1) Remove the VIVE box and shorten all cables. I'm not sure if this will kill the connection 2) Use a direct to PCH USB port, and pass through instead of whole PCIE card. I've got a couple of USB ports that go straight to the PCH, no USB hubs in between. 3) Remove all other PCIE devices * Other USB hub * 1x GFX card 4) Remove as many USB devices as possible * Use PS/2 connector for unraid keyboard/mouse * Use RDP to control the VM from unraid or another machine --Harper Quote Link to comment
harperhendee Posted March 9, 2017 Share Posted March 9, 2017 @parsec3d, Are those your only two graphics cards? Unraid is going to completely occupy one of them. I haven't been able to move past this issue to get all three of my 1070s available for VMs yet. Whenever I pass through the 1070 that Unraid is displaying to, it goes blank and ceases to work for either unraid or the VM. Quote Link to comment
parsec3d Posted March 9, 2017 Share Posted March 9, 2017 @haperhendee I'm using an old nvidia 6600 on the first pci slot Quote Link to comment
harperhendee Posted March 9, 2017 Share Posted March 9, 2017 There is an issue with some NVIDIA GPUs where you have to disable hypervisor. Something to do with preventing scientists for using consumer GFX cards for big data crunching (which is a different, more expensive product). I had no luck at all with my 1070s until I stumbled on this switch by trial and error. Quote Link to comment
parsec3d Posted March 12, 2017 Share Posted March 12, 2017 Disabled hypervisor no luck, not sure if this might be directly related to my card or the MB since outside unraid they work ok . Still need to build a small gaming machine next week will test with that card. any suggestions? Quote Link to comment
saarg Posted March 12, 2017 Share Posted March 12, 2017 9 hours ago, parsec3d said: Disabled hypervisor no luck, not sure if this might be directly related to my card or the MB since outside unraid they work ok . Still need to build a small gaming machine next week will test with that card. any suggestions? Have you tried switching between ovmf and seabios? You need to create a new VM to test this. Quote Link to comment
harperhendee Posted April 28, 2017 Share Posted April 28, 2017 An update on the disappearing contoller issue with Vive on a VM. Switching to the beta version back in March cleared the problem up completely. Quote Link to comment
erichner Posted April 29, 2017 Share Posted April 29, 2017 On 4/28/2017 at 1:54 PM, harperhendee said: An update on the disappearing contoller issue with Vive on a VM. Switching to the beta version back in March cleared the problem up completely. Can you share the file or version number? I don't have backups for it. Quote Link to comment
erichner Posted May 1, 2017 Share Posted May 1, 2017 On 12/10/2016 at 3:39 AM, Baltostar said: The script I wrote was to detect and attach the vive components to the PC because of one key issue. I discovered that editing the xml and specifying the IDs will work but only as you don't change anything on your pc configuration. If you unplug any of the vive USBs and plug them back in, you will loose connection to your vive. The script is to attach the vive to the running VM without reboot. If you do reboot your VM, it will give a device error because the USB Vive is registered as a different ID when you plug it back in. Do you have time to test unplugging the Vive, rebooting the VM and confirming that it will give you an XML error when you attempt to start? Then using the script to attach the vive back to your running VM. If everything works for you at that point, I'll set up a new windows 10 to confirm the process. After that I'll update the main post and reference your contribution. Thank you. I had to upgrade my unRAID setup to 6.3.3 a few months back after a USB drive died. I feel like an idiot, but how would I run your script in Windows 10? I am still trying to get this to work again. Quote Link to comment
harperhendee Posted May 2, 2017 Share Posted May 2, 2017 My Vive setup has been pretty solid ever since I updated to the beta drivers. But I'm using a PCIE USB card to pass in the USB devices. There are a lot of USB endpoints in the Vive controller: Bus 009 Device 005: ID 0bb4:2744 HTC (High Tech Computer Corp.) Bus 009 Device 006: ID 0bb4:2134 HTC (High Tech Computer Corp.) Bus 009 Device 007: ID 0bb4:0306 HTC (High Tech Computer Corp.) Bus 009 Device 008: ID 0424:274d Standard Microsystems Corp. Bus 009 Device 009: ID 0d8c:0012 C-Media Electronics, Inc. Bus 009 Device 010: ID 0bb4:2c87 HTC (High Tech Computer Corp.) Bus 009 Device 011: ID 28de:2101 Bus 009 Device 012: ID 28de:2101 Bus 009 Device 013: ID 28de:2000 Bus 009 Device 014: ID 0bb4:2c87 HTC (High Tech Computer Corp.) There are several problems: 1) The wireless controllers share the same vendor/device ids 2) The wireless controllers will disconnect when powered down or sometimes during gameplay The real issue is that the Vive is a mini subsystem held together by a USB hub. Quote Link to comment
harperhendee Posted May 2, 2017 Share Posted May 2, 2017 On 4/29/2017 at 0:04 PM, erichner said: Can you share the file or version number? I don't have backups for it. I don't have this handy, but I enabled it by going to Steam and selecting "enable beta". This is somewhere in the Steam app, not the SteamVR app. Go to the SteamVR page inside the Steam App, then hunt down this switch. --Harper Quote Link to comment
planetwilson Posted May 3, 2017 Share Posted May 3, 2017 @parsec3d, Are those your only two graphics cards? Unraid is going to completely occupy one of them. I haven't been able to move past this issue to get all three of my 1070s available for VMs yet. Whenever I pass through the 1070 that Unraid is displaying to, it goes blank and ceases to work for either unraid or the VM.Is this not where you need to dump the card bios and refer to it in the VM xml? I only have a single card and have to do that in order to not have a blank screen.Sent from my iPad using Tapatalk Quote Link to comment
sekrit Posted April 25, 2018 Share Posted April 25, 2018 On 6/14/2016 at 4:14 PM, jonp said: We've purchased an HTC Vive here at Lime Technology and have been testing with it extensively. So far, it's working fantastic! USB controller pass through is going to be a requirement most likely (still no success with simple assignment), but when you do that, it works very very well! THANK GOD I FOUND THIS!!! After a day of trying to find out how two lighthouses can be used for multiple vm vive users, I almost lost it. How are they effectively connected? Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.