This topic has been locked
Orceph_Rye May 13, 2018 @ 10:52pm
Blank screen with Hardware Decoding in Linux with Nvidia
Hello,

It says it all in the title. The client OS is Linux (OpenSuSE Tumbleweed) while the server is Windows. I try to run a game and it simply loads a blank screen where I can hear the audio of the game but the 'Performance Information' shows that it is capturing 0x0 size screen.

I have tried 'STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0' and 'STEAM_RUNTIME=0'. Of course, this can cause Steam to ignore libva all together and use software decoding. I also tried running steam as root to see if there was some permissions issue. I have tried disabling hardware encoding on Windows (just for kicks that would not be a true solution), and that still doesn't work. This only works when using software decoding.


OS: OpenSUSE Tumbleweed
uname: Linux linux-zc2m 4.16.7-1-default #1 SMP PREEMPT Wed May 2 19:21:16 UTC 2018 (938738d) x86_64 x86_64 x86_64 GNU/Linux

steam console output that appears to show there issue:
libva info: VA-API version 1.1.0 libva info: va_getDriverName() returns 0 libva info: User requested driver 'vdpau' libva info: Trying to open /usr/lib/dri/vdpau_drv_video.so libva info: Found init function __vaDriverInit_1_0 libva info: va_openDriver() returns 0 Assert( Assertion Failed: Unexpected frame format -1 ):client/streamdecoderh264avcodec.cpp:481 Installing breakpad exception handler for appid(streaming_client)/version(1.0) assert_20180514001803_7.dmp[15310]: Uploading dump (out-of-process) /tmp/dumps/assert_20180514001803_7.dmp
....
ffmpeg verbose: Opened VA display via X11 display :0. ffmpeg verbose: Initialised VAAPI connection: version 1.1 ffmpeg verbose: Matched "Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4" as known driver "VDPAU wrapper". VAAPI hardware decoding ffmpeg verbose: Reinit context to 2560x1088, pix_fmt: vaapi_vld ffmpeg error: Failed to upload decode parameters: 15 (the requested VABufferType is not supported). ffmpeg error: hardware accelerator failed to decode picture Marking frame 0 complete with status k_EStreamFrameResultDroppedDecodeCorrupt client/streamdecoderh264avcodec.cpp (481) : Assertion Failed: Unexpected frame format -1

So the two main things I see of interest is:
1) Assert( Assertion Failed: Unexpected frame format -1 ):client/streamdecoderh264avcodec.cpp:481

2) ffmpeg error: Failed to upload decode parameters: 15 (the requested VABufferType is not supported).



vainfo output:
libva info: VA-API version 1.1.0 libva info: va_getDriverName() returns 0 libva info: User requested driver 'vdpau' libva info: Trying to open /usr/lib/dri/vdpau_drv_video.so libva info: Found init function __vaDriverInit_1_0 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.1 (libva 2.1.0) vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG4Simple : VAEntrypointVLD VAProfileMPEG4AdvancedSimple : VAEntrypointVLD <unknown profile> : VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD

ffmpeg -version:
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7 (SUSE Linux) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g' --optflags='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g' --disable-htmlpages --enable-pic --disable-stripping --enable-shared --disable-static --enable-gpl --disable-openssl --enable-avresample --enable-libcdio --enable-gnutls --enable-ladspa --disable-cuda --disable-cuvid --enable-libass --enable-libbluray --enable-libcelt --enable-libcdio --enable-libdc1394 --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libzimg --enable-libzvbi --enable-vaapi --enable-vdpau --enable-muxers --enable-demuxers --disable-encoders --disable-decoders --disable-decoder='mpeg4,h263,h264,hevc,vc1' --enable-encoder='apng,♥♥♥,ayuv,bmp,ffv1,ffvhuff,flac,gif,huffyuv,jpegls,libgsm,libmp3lame,libopenjpeg,libopus,libschroedinger,libspeex,libtheora,libtwolame,libvorbis,libvpx_vp8,libvpx_vp9,libwebp,libwebp_anim,mjpeg,mp2,mp2fixed,opus,pam,pbm,pcm_alaw,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_mulaw,pcm_s16be,pcm_s16be_planar,pcm_s16le,pcm_s16le_planar,pcm_s24be,pcm_s24le,pcm_s24le_planar,pcm_s32be,pcm_s32le,pcm_s32le_planar,pcm_s8,pcm_s8_planar,pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,pcm_u8,pcx,pgm,pgmyuv,png,ppm,sgi,srt,ssa,sunrast,targa,text,tiff,v210,v308,v408,v410,vorbis,xbm,xwd,y41p,yuv4,zlib,' --enable-decoder='ac3,ansi,apng,♥♥♥,ayuv,bmp,dirac,exr,ffv1,ffvhuff,ffwavesynth,flac,gif,gsm,huffyuv,libcelt,libgsm,libopenjpeg,libopus,libschroedinger,libspeex,libvorbis,libvpx_vp8,libvpx_vp9,mjpeg,mpeg1video,mpeg2video,,mp1,mp1float,mp2,mp2float,mp3,mp3float,opus,pam,pbm,pcm_alaw,pcm_bluray,pcm_dvd,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_mulaw,pcm_s16be,pcm_s16be_planar,pcm_s16le,pcm_s16le_planar,pcm_s24be,pcm_s24le,pcm_s24le_planar,pcm_s32be,pcm_s32le,pcm_s32le_planar,pcm_s8,pcm_s8_planar,pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,pcm_u8,pcx,pgm,pgmyuv,pgssub,png,ppm,rawvideo,sgi,srt,ssa,sunrast,targa,text,theora,tiff,v210,v210x,v308,v408,v410,vorbis,vp3,vp5,vp6,vp6a,vp6f,vp8,vp9,webp,xbm,xwd,y41p,yuv4,zlib,' libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100

The only thing I can think of now is to compile libva and ffmpeg manually and see if I can get them to be happy. But I am not sure that will do it because of the 'Unexpected frame format -1 ' coming from the steam code.

So yeah. Does anyone else have issues with hardware decoding in Linux? Any help would be appreciated.
Last edited by Orceph_Rye; May 13, 2018 @ 10:53pm
< >
Showing 1-1 of 1 comments
< >
Showing 1-1 of 1 comments
Per page: 1530 50

Date Posted: May 13, 2018 @ 10:52pm
Posts: 1