Wednesday, 16 September 2026

GPU Passthrough Crashes on UnRaid

Fixing RTX 3090 VFIO Passthrough Crashes on Unraid: QEMU, IOMMU and Physical Address Width

I recently ran into a particularly awkward GPU passthrough problem on my Unraid server. The machine is based on an AMD Threadripper 3960X with 128 GB RAM and an NVIDIA RTX 3090, with the 3090 passed through to a Windows 11 VM.

GPU passthrough initially appeared to work. Windows booted, the NVIDIA driver loaded, the desktop was stable, and even 4K video playback worked normally. However, as soon as the GPU was placed under substantial 3D load, it disappeared from the host and the VM failed.

Symptoms

Running Unigine Superposition at 1080p Medium caused the display to go black almost immediately. The Unraid/QEMU logs then contained errors along these lines:

vfio: Unable to power on device, stuck in D3 vfio_container_dma_map(..., 0x383000000000, 0x10000000, ...) = -14 (Bad address) 0000:4d:00.0: PCI peer-to-peer transactions on BARs are not supported. error: kvm run failed Bad address

Afterwards the GPU would often be inaccessible to VFIO, with failed D0/D3 power transitions, failed resets and PCIe link recovery attempts. A complete host power cycle was sometimes required before the card could be passed through again.

Monday, 25 May 2026

Unifi Doorbell -> BlueIris

Getting a UniFi Doorbell into Blue Iris (the hard way, because the easy way broke)

I use Blue Iris as my primary CCTV platform, but like many home lab tinkerers, I also have some UniFi kit in the mix. In this case, a UniFi doorbell camera managed by UniFi Protect on a UDM-Pro.

On paper, this should be easy. UniFi cameras can expose RTSP streams. Blue Iris can ingest RTSP streams. Job done.

Except, as usual, it wasn't quite that simple.

Wednesday, 13 May 2026

Building a Home Energy Dashboard with Node-RED, MQTT, InfluxDB and Grafana

I recently started building a local energy monitoring dashboard for my home solar setup. The goal was to take live data from my Solis inverter, process it in Node-RED, publish it through MQTT, store it in InfluxDB, and visualise it in Grafana.

This post outlines the first working version of that setup, and is a continuation of the initial retrieval of data from Solis into NodeRed


The Overall Architecture

The final data path looks like this:

Solis inverter
  ↓
Modbus TCP
  ↓
Node-RED
  ↓
MQTT / Mosquitto
  ↓
InfluxDB
  ↓
Grafana

The idea is to keep MQTT as the central message bus. Node-RED reads and decodes the inverter data, publishes useful values to MQTT, and also writes those values into InfluxDB for historical storage. Grafana then reads from InfluxDB to provide dashboards and charts.

Monday, 11 May 2026

Importing Solis Inverter Data to Node Red

I wanted a reliable way to pull live data from my Solis hybrid inverter into Node-RED. The goal was not just to view the same information shown in SolisCloud, but to make the data available locally for dashboards, automation, MQTT, Home Assistant / Homey, and eventually longer-term graphing in something like Grafana.

The SolisCloud app is useful, but it is not ideal for automation. It can lag by several minutes, and the values shown in the app are not always updated at the same moment. For automation, I wanted local data directly from the inverter/datalogger path.

This is what I ended up with;


Sunday, 5 April 2026

Improving Windows 11 VM Performance on Unraid (Threadripper)

I’ve been running a Windows 11 VM on my Unraid server for a while now. It’s reasonably well specced. Threadripper 3960X, RTX 3090 passed through, dedicated SSD. On paper it should feel very close to bare metal.

In reality, it didn’t.

Nothing obviously broken, but general UI usage felt a bit sluggish. Windows took a little longer to open things than expected.  With the help of my ChatGPT sidekick, I decided to go through the config properly and see what could be improved. Logging it here mainly for my own reference later.

Monday, 23 September 2024

HDMI Clearout

I recently purchased a 4x4 HDMI extender Matrix to distribute video signals around the house. (blog post to follow0. This consolidates a number of discrete devises I'd previously used and tested for this task. In retiring some of them, I took inventory of all the HDMI switches, splitters and distributors I have, and it turned out to be quite a collection, some of which were languishing totally unused.

I've listed a lot of them for sale on a reputable local classifieds site if anyone is interested. (likely best suit people in EU as otherwise import duties will apply).