STEAM GROUP
Steam Remote Play homestream
STEAM GROUP
Steam Remote Play homestream
3,362
IN-GAME
37,026
ONLINE
Founded
November 7, 2013
Can't get hardware encoding to work when streaming from Linux to Linux
I currently have two Fedora 22 systems. The streaming host is one with an Nvidia 780 Ti with proprietary drivers installed. The streaming client has an Intel GPU. I am trying to get the host to use hardware encoding, but it doesn't seem to work. The F6 statistics still show me its using libx264 to do the encoding. In the logs I see:

CLIENT: Video size: 1920x618, output size: 1920x1080 CLIENT: CVAAPIAccel: vaInitialize() failed: unknown libva error Got control packet k_EStreamControlVideoDecoderInfo >>> Client video decoder set to libavcodec software decoding with 4 threads CLIENT: VDPAU init failed: GL_NV_vdpau_interop not available on current context CLIENT: libavcodec software decoding with 4 threads CLIENT: Video size: 1920x618, output size: 1920x1080

However, a glxinfo command shows me that I do have GL_NV_vdpau_interop.

Anything I can do to fix this?
< >
Showing 1-10 of 10 comments
kreiselhoschi Jul 25, 2015 @ 11:55am 
Installing Windows might help... ;) *scnr*

I´m no Linux Pro and you only posted part of the log from the client, but the log from the host would be more interesting. Obviously, the client is not able to decode in HW, but that doesn´t mean your host is not encoding in HW, too.
Bilbo Fraggins Jul 25, 2015 @ 1:14pm 
Whoops, my bad. That was actually the logs shown on the host when I ran steam inside a terminal, but I guess it was pulling statistics from the client and redisplaying it.

Here is a snippet of the streaming logs:
[2015-07-25 03:11:22] CLIENT: Attaching controller PLAYSTATION(R)3 Controller with ID 0 [2015-07-25 03:11:22] ===================================================================== [2015-07-25 03:11:22] Game: Dying Light (239140) [2015-07-25 03:11:22] Recording system audio [2015-07-25 03:11:22] Changing record window: 0x3000007 [2015-07-25 03:11:22] >>> Switching video stream from NONE to NONE [2015-07-25 03:11:24] >>> Switching video stream from NONE to Desktop_MovieStream [2015-07-25 03:11:24] >>> Capture method set to Desktop OpenGL NV12 + libx264 main (4 threads) [2015-07-25 03:11:24] >>> Capture resolution set to 1920x618 [2015-07-25 03:11:24] CLIENT: Video size: 1920x618, output size: 1920x1080 [2015-07-25 03:11:24] CLIENT: CVAAPIAccel: vaInitialize() failed: unknown libva error [2015-07-25 03:11:24] >>> Client video decoder set to libavcodec software decoding with 4 threads [2015-07-25 03:11:24] CLIENT: VDPAU init failed: GL_NV_vdpau_interop not available on current context [2015-07-25 03:11:24] CLIENT: libavcodec software decoding with 4 threads [2015-07-25 03:11:24] CLIENT: Video size: 1920x618, output size: 1920x1080 [2015-07-25 03:11:24] Changing record window: 0x3a0000d [2015-07-25 03:11:24] Changing record window: (nil) [2015-07-25 03:11:24] Changing record window: 0x3000007 [2015-07-25 03:11:24] Changing record window: 0x3a00011 [2015-07-25 03:11:24] >>> Capture resolution set to 1920x1080 [2015-07-25 03:11:24] CLIENT: Targeting 29.88 FPS [2015-07-25 03:11:24] CLIENT: libav info: Reinit context to 1920x1088, pix_fmt: 0 [2015-07-25 03:11:24] CLIENT: Video size: 1920x1080, output size: 1920x1080 [2015-07-25 03:11:24] >>> Capture resolution set to 1920x618 [2015-07-25 03:11:24] >>> Capture resolution set to 1920x1080 [2015-07-25 03:11:24] CLIENT: libav info: Reinit context to 1920x624, pix_fmt: 0 [2015-07-25 03:11:24] CLIENT: Video size: 1920x618, output size: 1920x1080 [2015-07-25 03:11:24] CLIENT: libav info: Reinit context to 1920x1088, pix_fmt: 0 [2015-07-25 03:11:24] CLIENT: Video size: 1920x1080, output size: 1920x1080 [2015-07-25 03:11:24] Changing record window: 0x3200006 [2015-07-25 03:11:25] >>> Capture resolution set to 1920x618 [2015-07-25 03:11:25] Changing record window: 0x3a0000b [2015-07-25 03:11:25] CLIENT: libav info: Reinit context to 1920x624, pix_fmt: 0 [2015-07-25 03:11:25] CLIENT: Video size: 1920x618, output size: 1920x1080 [2015-07-25 03:11:25] >>> Capture resolution set to 1920x1028 [2015-07-25 03:11:25] CLIENT: libav info: Reinit context to 1920x1040, pix_fmt: 0 [2015-07-25 03:11:25] CLIENT: Video size: 1920x1028, output size: 1920x1080 [2015-07-25 03:11:25] >>> Capture resolution set to 1920x1080 [2015-07-25 03:11:26] CLIENT: libav info: Reinit context to 1920x1088, pix_fmt: 0 [2015-07-25 03:11:26] CLIENT: Video size: 1920x1080, output size: 1920x1080 [2015-07-25 03:11:26] CLIENT: Marking frame 46 complete with status k_EStreamFrameResultDroppedLate [2015-07-25 03:11:26] CLIENT: Marking frame 47 complete with status k_EStreamFrameResultDroppedLate [2015-07-25 03:11:26] CLIENT: Video overflow (100.42ms queued), requesting keyframe synchronization [2015-07-25 03:11:26] CLIENT: Marking frame 57 complete with status k_EStreamFrameResultDroppedLate [2015-07-25 03:11:26] CLIENT: Marking frame 59 complete with status k_EStreamFrameResultDroppedLate [2015-07-25 03:11:26] CLIENT: Marking frame 60 complete with status k_EStreamFrameResultDroppedLate [2015-07-25 03:11:26] CLIENT: Marking frame 62 complete with status k_EStreamFrameResultDroppedNetworkLost [2015-07-25 03:11:26] CLIENT: Marking frame 62 complete with status k_EStreamFrameResultDroppedNetworkLost [2015-07-25 03:11:26] CLIENT: Marking frame 64 complete with status k_EStreamFrameResultDroppedLate [2015-07-25 03:11:26] CLIENT: Marking frame 65 complete with status k_EStreamFrameResultDroppedLate [2015-07-25 03:11:26] CLIENT: Marking frame 66 complete with status k_EStreamFrameResultDroppedLate [2015-07-25 03:11:26] CLIENT: Marking frame 67 complete with status k_EStreamFrameResultDroppedLate [2015-07-25 03:11:26] CLIENT: Targeting 29.88 FPS

I should note that everytime I restart steam, the hardware encoding checkbox gets unchecked automatically. Is it just not supported under Steam Linux?
Having this same iisue... streaming from Ubuntu with nvidia. Hardware encoding checkbox keeps unchecking and Desktop OpenGL NV12 + libx264 main (4 threads) is used which i believe its software encoding.
Using Ubuntu + Steam Link
Last edited by Magbed@Linux! 🐧; Nov 16, 2015 @ 6:47am
Suros:/# Nov 18, 2015 @ 9:40pm 
Yeah, it's already been confirmed that there's no hardware encoding as a Linux host. Makes my Steam Link useless at 1080p and I can barely send it 720p. There's not a CPU on the market that will handle their presets at 1080p 60fps.

Would've been nice of them to either add that functionality or warn us that Windows was the only platform they gave hardware encoding support to.
P A P A B E A R Nov 19, 2015 @ 2:26pm 
why my fx 1800 can't max setting, its always drop fps any games :((
henryg Nov 19, 2015 @ 2:47pm 
CUDA-based hardware encoding for NVIDIA drivers on Linux will be going out soon - some time next week, most likely.
Suros:/# Nov 19, 2015 @ 3:29pm 
Originally posted by henryg:
CUDA-based hardware encoding for NVIDIA drivers on Linux will be going out soon - some time next week, most likely.
You have just made my month sir! Much appreciated!
Bilbo Fraggins Nov 20, 2015 @ 12:07pm 
Originally posted by henryg:
CUDA-based hardware encoding for NVIDIA drivers on Linux will be going out soon - some time next week, most likely.

That is freaking amazing. Thanks for all the hard work! Now if we can only get controllers to work during streaming without having to modify uinput permissions on the host every time
Suros:/# Nov 20, 2015 @ 1:40pm 
Originally posted by ATE|CoolHwip:
Originally posted by henryg:
CUDA-based hardware encoding for NVIDIA drivers on Linux will be going out soon - some time next week, most likely.

That is freaking amazing. Thanks for all the hard work! Now if we can only get controllers to work during streaming without having to modify uinput permissions on the host every time

Here's a simple script if you'd like a self contained solution for it.

#!/bin/bash
pkexec chmod 666 /dev/uinput
Last edited by Suros:/#; Nov 20, 2015 @ 1:42pm
Suros:/# Dec 4, 2015 @ 3:38am 
I take it things aren't going as planned. Still no hardware encoding.
< >
Showing 1-10 of 10 comments
Per page: 1530 50

Date Posted: Jul 25, 2015 @ 3:31am
Posts: 10