Putting KymaX on life support with pcie passthrough

In my world, Kyma is nearly indispensable, but after upgrading my workstation to catalina, I can no longer run it. I’m using KymaX, and sadly, it’s 32-bit, and support has ended. The reason is that my hardware (the venerable 22-year-old Capybara 320) requires it, and without a FireWire connection to it, the program cannot run. I tried local virtualization… no dice. No pcie passthrough. Neither FireWire nor thunderbolt can be passed in parallels, vmware fusion, or virtualbox. I tried qemu locally, but that didn’t work either.

After much toiling and updating I finally got it to work on fedora 31 server, using qemu/kvm and vfio to passthrough a thunderbolt3 -> thunderbolt2 -> FireWire dongle to a macos 10.13 VM, which does, in fact, open and run kyma. I installed Splashtop to the VM for better frame rates and so the command key works properly (it doesn’t over VNC), wrote a quick systemd service, and voila… still usable. It’s bittersweet, though, as it’s quite the hacked-together solution, as it runs on another machine and I have to access it over the network. Sure, it spares some resources of the actual workstation, but it’s not as seamless when trying to work quickly.

There’s still more to do, like attempt a migration to my ubuntu server and passing a firewire card, gpu, and USB, for peripherals like a wacom tablet. Long term, I plan to get a newer dsp and version up, but for now, it’s $4k saved.

TL; DR: fedora turned out to be as easy as people say it is for pcie passthrough. I always had trouble with other distros, but this time, it was relatively painless.

As a side note, I always loved the ever-pertinent graphic on the FW interface.



3 Likes

Nice writeup, it is good to see successful projects.

To boot the VM?

1 Like

yes, exactly

[Unit]
Description=MacOS VM
Requires=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
TimeoutStartSec=40
Restart=on-failure
RestartSec=10
PermissionsStartOnly=true
WorkingDirectory=/home/username/qemu/macOS-Simple-KVM
ExecStart=/bin/bash basic.sh

[Install]
WantedBy=multi-user.target
1 Like