Workaround Pixel Streaming 1.0 on AMD: fatal error, EXCEPTION_ACCESS_VIOLATION, crashing, blank screen and "webrtc waiting for video"

Recently I’ve had a number of issues with Pixel Streaming plugin 1.0 on UE 4.27.2 out of box and UE 5.0 source build. My specs are:

  • Windows 11,
  • AMD 6800
  • Adrenalin driver both 21.12.1 and 22.1.12.
  • Sample game using is the standards PixelStreamingDemo.

The symptoms I experienced correlates with multiple threads in the past. I’ve also raised a support case 00396876 with my scenarios and findings. It is slightly concerning that Pixel Streaming is a 1.0 production-ready plugin, but bring up a default project with default editor settings throws so many errors with AMD GPU.

Workaround Solution
In the end I was able to resolve all of the below errors by switching Default RHI from “Default” to “Direct X 12”. And everything magically worked for both 4.27.2 out of box engine and 5.0 source build. Judging by the results, I believe “Default” used to be Direct X 11, which doesn’t play well with AMD AMF.

The scenarios I experienced and managed to work around with Direct X 12 are:

4.27.2

  • Run Standalone Game from Editor, Streamer connects to Signal Server, hit localhost:80 returns EXCEPTION_ACCESS_VIOLATION
    and crashes the Editor:

  • Run Packaged Game and hitting localhost returns:

Assertion failed: !Impl.IsValid() ... HAL/Thread.cpp [Line: 112] FTHread must be either joined or detached before destruction

image

5.0 branch

  • Run Standalone Game from Editor results in blank screen and lots of AMF errors:
[2022.01.15-06.25.00:241][669]LogEncoderAMF: Error: Amf submit error with 1
[2022.01.15-06.25.00:241][669]LogEncoderAMF: Error: AMF failed to encode frame.

  • Running packaged game gets stuck on:

WebRTC data channel connected... waiting for video
and eventual a fatal error that crashes the game.

During my research I did notice the following threads all having different permutations of the above:

  1. Fatal Error: UE5 Pixel Streaming 1.0 Update & Fatal Error WebRTC
  2. Waiting for video: Pixel Streaming Not Working - #7 by yunspace
  3. Fatal error from old forum: Fatal Error when Pixelstreaming on AMD GPUs - Plugins - Unreal Engine Forums
  4. Blank Browser Screen from old forum: Problem Pixel Streaming in 4.27 with AMD Video Card - Community & Industry Discussion - Unreal Engine Forums

The above has taken me quite a number of days to figure out. Hopefully the write up will help others out there also.

2 Likes

YES. I had the blank screen variation of this problem no matter what I did, and getting the

    [2022.01.29-15.33.39:806][641]LogEncoderAMF: Error: Amf submit error with 1

error spammed in the log. Setting the Default RHI to DirectX 12 solved it for me! Thank you so much.

2 Likes

The same error as above happened with the latest UE 5.0.0 release and corresponding PixelStreamingDemo project. Again I had to set the Default RHI to DX12 but this time I did noticed the actual error in the game logs.

[2022.04.18-12.09.53:752][831]LogEncoderAMF: Error: AMF with DX11 is not currently supported try DX12 or Vulkan.
[2022.04.18-12.09.53:752][831]LogPixelStreaming: Error: Could not create encoder. Check encoder config or perhaps you used up all your HW encoders.
[2022.04.18-12.09.58:388][613]LogSlate: Window 'PixelStreamingDemo (64-bit Development PCD3D_SM5) ' being destroyed