I have been struggling for a few days now trying to get ErsatzTV to encode with the GPU vs the CPU on a windows 11 VM. Not sure if the VM is the issue or not. I am passing through a consumer Nvidia RTX 4060 to it and the VM works fine for games, AI and some other apps. I just cannot get ErsatzTV to use the GPU. I've installed the docker nvidia image as well as the standalone and they both do the same thing. They both say the same troubleshooting messages for the nvidia as well. Will post that below.
#GPU not being used in a windows VM
1 messages · Page 1 of 1 (latest)
ffmpeg version n6.1-2-gc7fe7ee8d4-20231121 Copyright (c) 2000-2023 the FFmpeg developers built with gcc 13.2.0 (crosstool-NG 1.25.0.232_c175b21) configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-nvenc --enable-nvdec --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-d3d11va --enable-dxva2 --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20231121
`libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
Input #0, lavfi, from 'nullsrc':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: wrapped_avframe, yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 25 tbn
Stream mapping:
Stream #0:0 -> #0:0 (wrapped_avframe (native) -> h264 (h264_nvenc))
Press [q] to stop, [?] for help
[h264_nvenc @ 00000237f7bc2b80] [ GPU #0 - < NVIDIA GeForce RTX 4060 > has Compute SM 8.9 ]
[vost#0:0/h264_nvenc @ 00000237f7bc28c0] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height.
Error while filtering: Immediate exit requested
[out#0/null @ 00000237f7b72680] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0kB time=N/A bitrate=N/A speed=N/A `
I've installed latest nvidia drivers and installed cuda toolkit which i saw might be needed 12.5 tookit. Not sure why it's needed as before it showed the same logs / results without it.
if only i could share my GPU with VMs, LXCs etc. Stinks I can only have a windows VM to use it for gaming mostly.
I guess my first question is does my log look ok?
this is on the standalone version BTW
Thank you so much in advance
Have you confirmed using another application like Handbrake or OBS, that NVENC is functioning? Based on what I'm reading here, I can't quite tell if it's a media issue or a GPU issue.
``` this means the detection was successful
there's a lot of output so its kind of confusing, but that's all that etv looks for
have you selected nvidia in the ffmpeg profile in etv?
yes i have
I have not confirmed if NVENC is functioning. Guess I didn't realize that could be faulty.
try streaming and paste the logged ffmpeg arguments here
One thing actually is the stand alone is erroring when I try to stream but docker still works..just uses the CPU. Maybe related to that.
i dont know that you can pass nvidia to docker inside a vm
happy to help with error
ok interesting
I'll try to dig in why standalone isn't functioning
it appears to be loading and detecting the tuner in plex its just when i hit play it errors immediately