Like an episode of House full of red herrings, twists and turns, we now reach the final act where it turns out that there was one simple thing that the doctor overlooked.

I wrote this in my notes for this project last night.

I installed Nvidia container toolkit [note: I had also already installed Cuda] and ran the docker again, this time remembering to cd first. However, even after changing my GPU driver to nvidia-driver-580-open, [the terminal] still spat out,

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running prestart hook #0: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'
 nvidia-container-cli: initialization error: nvml error: driver not loaded: unknown
  Error: failed to start containers: rvc

When I tried starting the docker.

nvidia-smi gave me NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running. — which seems like it implies that there’s something wrong with my graphics driver, and that’s the thing stopping my docker from running. Oh my fucking God, I wonder if “there’s something wrong with my driver” is related to the whole “when I’m on the Nvidia driver, my TV shows a black screen when I plug in the HDMI” thing that led me to use nouveau instead of the Nvidia driver to begin with.

At this point I’m wondering if it’d be easier for me to literally remake RVC in fucking Turbowarp than install it.

It seems like on Linux Mint, problems of this sort are oftentimes the result of Secure Boot, which means that I either have to disable Secure Boot or sign the NVIDIA modules.

Fast forward to this morning.

I tried repeatedly to sign the NVIDIA modules today, but couldn’t get it to work: after some effort I managed to set a password for the signing, but then when I actually rebooted I couldn’t actually type the password in? That part seemed like it might’ve just been an issue of a shitty interface that accepts your keystrokes without giving any indication of it, and it using a different keyboard layout than the one I thought it was using, without telling me. Unfortunately, after I failed to confirm the password, the terminal also didn’t seem like it would let me set a new password, so then I just threw my hands up and disabled Secure Boot outright. And after I did that, wouldn’t you know, nvidia-smi could finally recognize that I actually had an Nvidia GPU, and I could plug in the TV HDMI and have it work, and I could finally get the Docker for RVC to run. A sight for sore eyes!

So that’s something I didn’t know about: that Secure Boot, Nvidia, and Linux Mint can be kinda stinky with each other. Thankfully it seems like Secure Boot isn’t something I really need, at least not for now.

However! Although I can go to http://127.0.0.1:7865/ and be met with the RVC WebUI, I can’t actually add my weights (i.e. voices) to the weights folder, and without that I can’t really use RVC because the list of voices is just blank. I tried stopping the docker and changing the weights folder’s permissions in the terminal, however it doesn’t seem like that actually changed anything, but maybe I just did it wrong somehow. Or is this issue to do with the folders being mounted to the docker? What can I do about it?

Edit: Thanks to kleeon I have managed to copy over all the weights using sudo cp, but this still leaves the index files. They aren’t showing up in the dropdown; I tried using “Path to the feature index file” instead but it doesn’t seem to work. I’m struck by how the format examples are for Windows. Is it like I need to actually copy the files into the Docker container itself?

Edit 2: sudo docker cp ./rvc/Rikkav2.index rvc:/app/logs + “Refresh voice list and index path” has successfully added at least that index file to the dropdown. Guess I’ll just have to copy over the rest of the index files with the same method.

Edit 3: I tried using curly brackets {} like I’d used to copy to the weights folders, alas this doesn’t seem to work with docker cp, only regular cp, so I had to run docker cp for every single index file I had to copy over. But now I’ve done it and my dropdown of index files is complete.

Edit 4: I’ve set up the weights and the index files now, so I think the only problem now is actually plugging in the audio file I want to convert. Is it not working because docker is containerized so it can’t access my regular files, is it like RVC is being Windows-centric so it can’t understand my file paths, or what?

Edit 5: Thanks to underisk’s suggestion, I have successfully converted a test audio recording. WE ARE SO BARACK!!!