A guide to running the Cavalry motion graphics software on Linux using Wine.
This guide has been tested exclusively on Wine 11.
Create a new Wine prefix by creating a folder somewhere on your computer, preferably ~/.cavalry. Within that folder, run WINE_PREFIX=~/.cavalry winetricks which should initialize the prefix.
In Winetricks, select "Install a Windows DLL or component", then check dxvk and click okay. After it is installed, click "Install a font" and check the corefonts option. Go through all of the font installs. Once they are complete, click "Change settings" and select the fontsmooth=rgb option. These improvements make Cavalry run much smoother.
Open winecfg with WINEPREFIX=~/.cavalry winecfg
Go to the Libraries tab.
Under "New override for library," type icuuc and click Add. Do the same for icuin. Ensure they are both set to (Native, Builtin).
Run the Cavalry installer .msi file through Winetricks or through the command line.
Create a new .desktop file to define the Cavalry URI protocol. With the text editor of your choice, create a new file at ~/.local/share/applications/cavalry-handler.desktop. The contents should look like the following:
[Desktop Entry]
Name=Cavalry Protocol Handler
Exec=env WINEPREFIX="/home/micahlt/.cavalry" wine "/home/micahlt/.cavalry/drive_c/Program Files/Cavalry/Cavalry.exe" "%u"
Type=Application
Terminal=false
NoDisplay=true
MimeType=x-scheme-handler/cavalry;
Then run:
update-desktop-database ~/.local/share/applications
xdg-settings set default-url-scheme-handler cavalry ~/.local/share/applications/cavalry-handler.desktopYou should be good to run Cavalry, which you should be able to find from your system menu. Canva sign-in should work properly, and you should have GPU acceleration.
I use an immutable distro (Fedora Kinote 44) and I wanted to avoid layering Wine to the system permanently for now, so I created a distrobox, installed Wine & Winetricks with
dnf installnormally and performed the steps above. Just for the record, I've created the distrobox with NVIDIA integration enabled and with a custom home directory (I've put in~/.local/share/<distrobox name>) to avoid polluting my own home.Simply running Cavalry setup executable with
winein the distrobox without further arguments seemed to work, I was able to install and launch Cavalry, however I couldn't get past through sign-in pop-up because for some reason it couldn't launch the login URL in my browser, with the system notification tellinghost-spawnprocess was crashed.Then I've found that you can actually tell Wine to dump the URL methods called by Cavalry (which surely there may be better ways to capture the link than this), therefore I was able to get the login parameters that way:
After copying the value starting with
?code_challenge=...and addinghttps://www.canva.com/api/oauth/authorizein front of it now I can visit that URL in the browser manually.However, since Canva tries to launch
cavalry://URI right after login, I couldn't obtain the actual URI that Firefox tried to launch, so I've created a desktop entry to pass it to Cavalry installed in the distrobox (and updated the desktop database and made sure default handler is set to cavalry as told by other comments above):And after trying again to launch Cavalry with
WINEDEBUGflags to obtain the URL, keeping Cavalry still open the whole time, addinghttps://www.canva.com/api/oauth/authorizein front of the login parameters, and when browser asked whether to open the app I chose Cavalry and now I was able to complete the sign-in.