ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.25k stars 175 forks source link

HEVC Hardware encoding, crashes Steam on Intel ARC GPUs. #11475

Open djevertguzman opened 19 hours ago

djevertguzman commented 19 hours ago

Your system information

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist

If HEVC Video is selected on a client device under Remote Play, and Enable hardware encoding is selected on the Host Machine. Steam on the host will crash, and immediately restart. This will occur every time you attempt to start a stream. FFMPEG fails to start the hardware encoder.

[2024-11-15 21:19:40] ffmpeg verbose: libva: VA-API version 1.20.0 [2024-11-15 21:19:40] ffmpeg verbose: libva: Trying to open /usr/lib/i386-linux-gnu/dri/iHD_drv_video.so [2024-11-15 21:19:40] ffmpeg verbose: libva: Found init function __vaDriverInit_1_20 [2024-11-15 21:19:40] ffmpeg verbose: libva: va_openDriver() returns 0 [2024-11-15 21:19:40] ffmpeg verbose: Initialised VAAPI connection: version 1.20 [2024-11-15 21:19:40] ffmpeg verbose: VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 (). [2024-11-15 21:19:40] ffmpeg verbose: Driver not found in known nonstandard list, using standard behaviour. [2024-11-15 21:19:40] ffmpeg verbose: Input surface format is nv12. [2024-11-15 21:19:40] ffmpeg verbose: Using VAAPI profile VAProfileHEVCMain (17). [2024-11-15 21:19:40] ffmpeg verbose: Using VAAPI entrypoint VAEntrypointEncSliceLP (8). [2024-11-15 21:19:40] ffmpeg verbose: Using VAAPI render target format YUV420 (0x1). [2024-11-15 21:19:40] ffmpeg verbose: Using CTU size 32x32, min CB size 16x16. [2024-11-15 21:19:40] ffmpeg verbose: RC mode: VBR. [2024-11-15 21:19:40] ffmpeg verbose: Block Level bitrate control: OFF. [2024-11-15 21:19:40] ffmpeg verbose: RC target: 83% of 18000000 bps over 1000 ms. [2024-11-15 21:19:40] ffmpeg verbose: RC buffer: 18000000 bits, initial fullness 13500000 bits. [2024-11-15 21:19:40] ffmpeg verbose: RC framerate: 29125/489 (59.56 fps). [2024-11-15 21:19:40] ffmpeg verbose: Using intra and P-frames (supported references: 3 / 3). [2024-11-15 21:19:40] ffmpeg verbose: All wanted packed headers available (wanted 0xd, found 0x1f). [2024-11-15 21:19:40] ffmpeg verbose: Using level 4.1. [2024-11-15 21:19:40] Video Encoder Changed [2024-11-15 21:19:40] >>> Capture method set to Game Delayed OpenGL NV12 + VAAPI HEVC [2024-11-15 21:19:40] >>> Capture resolution set to 1280x720 [2024-11-15 21:19:40] >>> Capture colorspace set to BT.601 limited range [2024-11-15 21:19:40] ffmpeg error: Failed to end picture encode issue: 24 (internal encoding error). [2024-11-15 21:19:40] ffmpeg error: Encode failed: -5. [2024-11-15 21:19:40] CGameStreamVideoStageVAAPI: Error encoding: Input/output error [2024-11-15 21:19:40] ffmpeg fatal error: Assertion pic->display_order == pic->encode_order failed at libavcodec/vaapi_encode_h265.c:770

Either disabling Hardware encoding on the host, or disabling HEVC video on the client stops this behavior. Note: This issue is present on both Beta and Stable versions of Steam.

Steps for reproducing this issue:

  1. Enable HEVC Video on Client in Remote Play settings.
  2. Enable hardware encoding in Remote Play settings on Host.
  3. Start stream of any game in the library.
Lepidos commented 14 hours ago

I'm having the same issue but with AMDGPU