Running Zwift on Ubuntu using Wine with podman
I am a user of netbrain/zwift, which helps run Zwift application on Linux using the container and wine without hassle. Pretty cool stuff.
I have been enjoying Zwift with it on my Ubuntu desktop with docker until a few days ago, but it stopped working suddenly - it stopped using my GPU and got so slow that I could barely play.
Since the re-installation and upgrade/downgrade of the tools didn't help, I tried with podman
instead and succeeded. Here's how I made it work.
Making it work with podman
First, I installed podman
and configured CDI (Container Device Interface) as instructed in the official guide.
sudo apt install podman
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
nvidia-ctk cdi list # showed what the guide says
Then I ran the zwift
command with podman
(podman is used without any option when both docker and podman are installed), and got an error:
Error: runc: runc create failed: unable to start container process: error during container init: error creating device nodes: open /home/yk/.local/share/containers/storage/overlay/97b5d0698932236fed687ddf07b54d8b5f833a1b4d6f11f67bac0cd0248f9255/merged/dev/dri/card1: permission denied: OCI permission denied
Then I saw a GitHub issue mentioning the lack of crun
. So I installed crun
and tried again, and it worked.
sudo apt install crun
It was not needed to explicitly specify --runtime=crun
in the podman
command, and the zwift
command worked as expected.
Insights?
Nah. I was just happy enough to make it work, and wanted to start riding instead of investigating stuff, but I hope this helps someone who has the same issue :)