Thinking of using Boot Camp to run SteamVR via your eGPU? Think again!
I write this just as I happily delete my Boot Camp partition and restore my SSD for my MacBook to use it in its entirety. It’s not that I don’t care for Boot Camp itself per se. Nor is it that I have anything against dual booting to Windows or Linux. In fact, I am OS-agnostic when it comes to desktop platforms, as I use macOS, Linux,and Windows daily for my home environment.
My contentment comes due to me finally understanding why patience in technology is a virtue. How did I come to this patience-as-virtue epiphany? Let me tell you a story.
The performance is there now, so why wait?
You see, I’ve been really excited with the prospect of being able to run my HTC Vive VR headset on macOS. And since I received my eGPU, I know that I have the performance capability on my Mac hardware to run my VR head-mounted display (HMD). The eGPU allows my powerful I7 Kabylake CPU in my MacBook to couple with a powerful desktop-class RX 580 AMD GPU.
Note that, besides the fact that the iMac Pro is sporting brand new VEGA GPU architecture, the partnering of Intel and AMD making a new mobile chip that uses Intel’s CPU architecture and AMDs GPU architecture will make this performance capability ubiquitous in the future Mac lineup, sans eGPU.
A bunch of VR games already exist now on Windows — again, why wait?
Steam VR already has a 2+ year head start on Windows. In that time, hundreds of games have been developed and released on that platform.
It was only this past summer that Apple and Valve (the creators of SteamVR) announced macOS support in the (then) newly announced beta for High Sierra. It was only this past summer that Apple also announced the VR eGPU dev kit for developers to use and make the applications that require powerful CPUs and GPUs. What better way for Apple to showcase the previously mentioned iMac Pro and upcoming Intel/AMD hybrid than by being able to run graphically intensive VR applications that were only the domain of hardware that ran on the Windows platform?
But development takes time. It takes money. My impatience allowed me to wonder with the procurement of an eGPU, as well as the ability to run Windows via Boot Camp on my MacBook, if I could get a preview of sorts of how well Apple hardware would fare running the already released VR applications on Steam VR for Windows.
I’ve actually tried this before
I’m well aware of the adage that insanity is trying the same thing repeatedly and expecting different results. A few months ago, in spite of Apple’s announcement that its eGPU kit was not Boot Camp compatible, I did try to get things running way back when. As warned by Apple, it did not work.
However, in my defence for this attempt, three things have changed since my last go around.
First, AMD recently released an updated Boot Camp video driver. In my previous try, I couldn’t get the video card properly detected, so my hope was that the updated driver would fix that.
Second, I now had access to a proper Thunderbolt 3-capable Mac. I previously tried to use a Thunderbolt 2 to 3 adapter. Although I had some success, it was never usable.
Third, there are now many more online resources, blog posts and forum posts from people much smarter and technical than me, who have successfully managed to get an eGPU functional under Boot Camp. This time around, I managed to read up on the process and learn about any potential (and in my case actual) pitfalls so that I’d be ready on how to proceed.
First thing was to install Windows via the Boot Camp assistant. This was easy and straightforward, especially if following our guide.
Next was to attach the eGPU. Not a problem. Incredibly, this time around, Windows detected the eGPU graphics adapter correctly. I assume it’s because, during the Boot Camp installation, you can optionally download the latest updates for your Mac system to run windows. Surely I was up and running and ready to go!
Not so fast
Although the OS could detect the GPU in the device manager, there was an associated error with its entry. The short of it is that I was getting a Code 12. That is, Windows could not allocate any resources to the device to get it running.
My initial assumption was that the MacBook’s internal dedicated GPU (dGPU) was hogging up the PCI bus so that my eGPU was being tossed aside. I disabled, the dGPU in the device manager and rebooted.
What about those new AMD drivers
Once rebooted, the OS instead ran a generic Windows adapter driver for my display. To me (erroneously), this was progress. I went to AMDs website and downloaded the latest drivers for Windows on Mac hardware. I fired up the installer and let ‘er rip. It installed without error. I rebooted and now my dGPU was detected and re-enabled, but my eGPU was still nowhere to be seen.
What about those online resources
As is obvious, I was far over my head in terms of getting the eGPU to work via the consumer-accessible tools. So I headed on over to egpu.io for help. There was even a dedicated topic to getting eGPUs to work on your MacBook via Boot Camp. After reading some documentation, I set off to try some of the methods that others have successfully used.
First, I tried to disable not just the dGPU, but also the PCI bus that it housed. I device manager I viewed the connections by type, found the PCI bus that the dGPU was connected to and click disable. The computer hard locked immediately. And due to Window’s quick boot option, it wouldn’t reboot without hard locking until I entered a safe mode to disable quick boot.
Next, I tried the method where I disable the iSight camera PCI bus instead of the dGPU. Hard lock.
I then tried the more complicated fixes. One being a method where I needed to allocated a large memory area via fix called the DSDT override. This involved me creating a registry override and then injecting it to create a large memory entry in the device manager. After manually editing out any errors in the modified file, I managed to get a large memory entry but the eGPU refused to be allocated any resources.
Not worth the hassle — the apps are coming
I fiddled with a few more things, but after trying to get things working for four hours, I decided that my want for getting a sneak peek of how Mac hardware was going to perform in VR applications was not worth the hassle of getting things even partially functional. I instead did a quick search on Steam to see if there were any VR applications available for macOS. To my surprise, there were actually a handful of entries, as well as a few upcoming releases in 2018!
The fact of the matter is that the depth of my capabilities of forcing the eGPU being function are what is lacking. The proof is that there are a number of smart individuals that have written and demonstrated that they have similar eGPUs running on similar MacBooks. Although I can work my way around documentation and follow instructions, the effort in the end is not commensurate with the potential outcome. I’ll be picking up a couple of the Steam VR macOS titles that are currently available when I finish writing this and simply sit back and relax and wait for more titles while those smart VR app developers do their thing. What about you? Have you had any luck getting. Your eGPU to run under Boot Camp? Let us know in the comments!
Thinking of using Boot Camp to run SteamVR via your eGPU? Think again!