Minitube can browse videos, but it can’t actually display video or play sound (or even a black screen) - selecting a video then hitting the “play” button does nothing, and after a second or two it switches to the next video on the playlist (which then waits a second or two then jumps to the next video after that, and so on).
(on OpenSUSE Tumbleweed) When running the command ‘minitube’ in terminal, this is the output (appears immediately upon application start, not upon attempting to play the video):
QObject::connect(QWindow, SearchView): invalid nullptr parameter
Cannot load libcuda.so.1
And using strace and grepping for libcuda on it’s output, I found this list of places it searches for libcuda:
openat(AT_FDCWD, “/lib64/glibc-hwcaps/x86-64-v3/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/lib64/glibc-hwcaps/x86-64-v2/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/lib64/tls/x86_64/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/lib64/tls/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/lib64/tls/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/lib64/tls/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/lib64/x86_64/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/lib64/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/lib64/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/lib64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/usr/lib64/glibc-hwcaps/x86-64-v3/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/usr/lib64/glibc-hwcaps/x86-64-v2/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/usr/lib64/tls/x86_64/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/usr/lib64/tls/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/usr/lib64/tls/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/usr/lib64/tls/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/usr/lib64/x86_64/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/usr/lib64/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/usr/lib64/x86_64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, “/usr/lib64/libcuda.so.1”, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "Cannot load libcuda.so.1
", 25) = 25
(I verified this - none of those files exist on my machine. In fact, some of the folders such as /lib64/glibc-hwcaps don’t exist either.)
But, there are two weird things going on here:
- Downloading a youtube vid with youtube-dl and then playing that vid with MPV works fine (for SOME youtube videos, at least - no h264 codec), but playing that exact same playable video in minitube will NOT work. Even though Minitube apparently uses MPV internally. Example of video that works on MPV but not minitube: https://www.youtube.com/watch?v=vliQ8ezk6Hg
- I have an AMD GPU, which (AIUI) generally don’t work well with CUDA, so maybe it’s an AMD+CUDA interaction that’s causing the problem?
I think this is a packaging problem - the application is expecting libCUDA but the package doesn’t list it as a dependency, so it can’t find it. Although “zypper search libcuda” turns up nothing, so I can’t actually test that.