Running osu!lazer on NetBSD 9.0 as a KVM guest [part 1?]
I tried, as an experiment/curious endeavour, to run osu!lazer (2020.717.0) on a NetBSD 9.0 QEMU/KVM guest, on my machine. Here's the results:
- Follow the Linux Emulation NetBSD guides, installing the linux compatibility packages (
suse_*) was good enough to continue.
- FUSE is not included by default, but thankfully, the AppImage gives instructions to extracting itself into a folder.
- An AppRun file exists in the folder. Trying to execute it would give “Failed to initialize CoreCLR, HRESULT: 0x80070008”. It is related to
ulimit -n, the default is way lower than 2048
- Raise the file descriptor hard limit using
sysctl kern.maxfiles, then bring up the hard limit (
ulimit -Hn), then bring up the soft limit (
ulimit -Sn). If I recall correctly, I bumped it up to 8000.
- Some other failure happened while running AppRun, upon further inspection via ktrace/kdump, a
sched_setaffinitysyscall failed because of permissions.
- Running it as root fixed that.
- A traceback appeared regarding ICU libraries not being found, even though I have them installed.
- You can edit
osu!.runtimeconfig.jsonto disable that requirement. More here
- osuTK kept talking about unsupported platforms. Upon further investigation, it was because no valid GPUs were found. A very cryptic error, for sure.
- In the end and some more discussion, we blamed the fact I was running NetBSD as a KVM guest as the culprit. virt-manager only provides QXL, VGA, and virtio, and virtio gpu drivers aren't on NetBSD 9.0.
Maybe I'll run NetBSD as a host on one of my machines and keep this experiment running. Until then, that's what I got.
To be continued..?