Posts

Showing posts from 2026

Pass the GPU (or how I learned to love IOMMU)

Image
  A few years ago I moved off VMWare in the home datacentre. Like a lot of folks I have embraced KVM for most things virtual around the house, but it's only recently that I really needed to virtualise a GPU for one of the guests. It turns out there's a few little tricks to getting this right, and I thought that since it took some time to get it all working just right I should write it down.  Even if it's so I can find what I went through! This time I am using Red Hat Enterprise Linux 10.1 so my notes may be a little specific to that platform and release, but most of this should work regardless of the distribution. First things first I am going to assume that you have KVM up and running and that you're comfortable with creating and managing guests.  If not, you will need to get that done, and if you're installing from scratch don't install any GUI because it's going to make your job easier later on Before we start installing cards, make sure your firmware set...

"G=C800:5"

Image
Only a few of you will understand that title, but that's OK In the dark days of the early 1980's hard drives were mysterious, largely analogue devices  If you look at image above the connections are very different to recent technologies, and the cables carried a mixture of analogue data and digital control signals. It's not super clear in the image, but the white label towards the back of the drive was a list of "bad sectors".  Literally, these were manufacturing defects on the surface of the drive where data could not be read or written reliably. Much earlier in my career, I had to guide customers through the process of installing very expensive ten and twenty megabyte hard disks into PC-XT and PC-AT style machines.  The XT style machines didn't actually understand hard disks, and relied on a BIOS extension on the controller card to do the work.  BIOS extensions were one of the most brilliant aspects of the IBM PC architecture in my opinion, but that's a...