Tuesday, 9 June 2020

X-Case X465E First Impressions

My current server lives in a ThermalTake Core X9 case. While I like it a lot, and its generous dimensions have allowed me add lots of PCIe cards,  its proving itself to be somewhat toasty, especially for drives which are often reporting high temperatures.

The system lives in an attic space that heats up over summer which does not help with thermals. The unwieldy size and din generated by multiple fans makes moving location somewhat tricky.

For the past few weeks, I've been toying with the idea of slimming down and going for a rack mount setup. In this mindset, I came across the X-Case X456E from xcase.co.uk. This is touted as a 12 slot 4U rackmount server case. This piqued my interest as the extra PCI slot capacity is something that I'd modded in to my current case, and here it was, out of the box.

This trick is achieved by moving the PSU to the front of the case. The compromise here is a reduction in hard drive capacity (8x 3.5"). However, happy to live with this and use a second chassis for any additional drives, I went ahead and bought one.

There were a few obvious improvements to be made which I documented in this first impressions video;


Saturday, 9 May 2020

Solving the -43 issue for GPU passthrough

I've usually built my VMs with AMD GPUs when passthrough was needed. I happened to have an old GeForce GTX770 lying around, but found it frustratingly difficult to get it working in a Windows 10 VM. nVidia drivers apparently really, really don't like running in a VM and cause the display device to show a -43 error.

For me, after a significant amount of tweaking and trying, I finally found a combination that worked;

Machine Type: Q35 4.2
Bios: OVMF

Graphic ROM Bios (techpowerup download, hexedited to remove header)

And the following edits to the </features> section of the XML. ˜The highlighted lines are added in addition to the standard unRAID config;

  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='1234567890ab'/>
    </hyperv>
    <kvm>
      <hidden state='on'/>
    </kvm>
    <ioapic driver='kvm'/>
  </features>

Friday, 24 April 2020

MediaServer 8.3 - Bifurcation Edition


Some hardware updates, some minor mods and lots of cabling later, I've managed to get my unRAID server hosting eleven (13?) usable PCIe/PCI expansion cards which I'm using to manage storage devices and populate VMs with passthrough GPU, USB and Utility adapters.

All with 2x slots to spare on my 5x slot mainboard.

Here's how...

Sunday, 19 April 2020

unRAID discrete USB Passthrough to multiple VMs

For a while, I've been working towards consolidation of machines into VMs on my unRAID system.  unRAID is great for this as it allows for hardware passthrough of devices such as GPUs, USB adapters and other items. Passthrough of discrete USB controllers is especially important. unRAID does allow direct device passthrough, but I've found this unsatisfactory for a number of reasons. Mainly, it's not a great solution for high-bandwidth devices such as audio cards. Also, it's not really plug'n'play, with hot swapping being somewhat patchy.

Passthrough of the full controller solves these problems, One of the challenges of this approach is however, physical capacity for discrete devices. With each VM requiring a PCIe GPU and a USB adapter, it's possible to run out of slots fairly quickly. Yes, it's possible to use on-board controllers, but that's not always a full solution and PCIe cards are often required in addition.

Another approach is to use multi-controller PCIe USB adapters. These are cards the occupy a single slot, provide multiple ports and. crucially, have multiple on-board USB controllers that would, in theory, permit each controller to be passed through to a separate VM.

One such card is the Sonnet Allegro USB3-PRO-4PM-E, sadly now discontinued. There are alternatives, but as users in this thread are finding out, broad compatibility is patchy.

As an alternative, I've been using a PCIe expansion kit to pass through discrete controllers to VMs. These devices were all the rage during the mining boom as they allowed users attach multiple GPUs to a single PCIe slot in order to leverage compute power. They work by essentially switching multiple PCIe ports through a single 1x motherboard port. Although the device sports four 16x mechanical slots, each is in itself only a 1x slot - but that's all that's needed for a USB controller.

Sunday, 9 February 2020

Splashtop Latency Demo

A user over at unRaid Forums asked me about latency when using SpalshTop Personal to access an OSX VM running on unRaid. I promised a quick video to show it in action. Sorry about the delay!





Sunday, 19 January 2020

Enabling HEVC on Rx570 in MacOS VM

In following the MacOS Bare Metal thread on unRaid forums, it was bugging me that I wasn't getting full performance from my VM GPU. I have a Sapphire RX570 4GB passed through to a Mojave VM, and while it was showing Metal and H.264 encoding support, HVEC remained resolutely elusive.

It should be simple, enable Lilu and WhateverGreen kexts and go. It turned out to be anything but.