#GPU not being used in a windows VM

1 messages · Page 1 of 1 (latest)

compact knoll
#

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.

#

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

graceful flume
#

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.

willow oracle
#
``` 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?

compact knoll
compact knoll
willow oracle
#

try streaming and paste the logged ffmpeg arguments here

compact knoll
#

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.

willow oracle
#

i dont know that you can pass nvidia to docker inside a vm

#

happy to help with error

compact knoll
#

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

willow oracle
#

try with a client that plays directly before using something like plex

#

vlc or mpv

#

also check etvs logs

graceful flume
#

I find Kodi to be pretty good about IPTV once you've added the plugin and set up the m3u and xmltv parts.

#

Jellyfin has been hit or miss because it'll opt to encode the broadcast for some reason