unreal engine 5.6 Weird artifacts

Hi all.

I have downloaded 5.6 engine ( pre compiled binary from epic ) and after I create new project with any template (fps, tps, etc.) everything have too bright fireflies. Even if i create a blank project.

I have arch linux + kde + wayland (and X11). + AMD RX 6800.
It been like this only on 5.6. If I open another downloaded earlier UE 5.5 everything works well, that make me confuse.

A tried at my another notebook with RTX 3080 and everything works fine (arch linux, kde x11) at 5.6
Is there some difference at start projects between 5.5 and 5.6? how fix that?

1 Like

It looks like some sort of graphics corruption. I’m guessing in 5.6 the post processing volume which basically uses a texture to render effects such as bloom might be behaving strangely.

Try deleting the post processing volume and see if your viewport looks better. Maybe the shader cache in your project is damaged. Try deleting derived data cache and rerunning the project and see if rebuilt shaders don’t fix the problem. You can also try resetting your AMD drivers to default values.

Maybe 5.6 is more taxing than the previous version causing more stress on your card. How are your cards temps in 5.6? check with HWMonitor if you are not hitting some sort of heat limit while running the scene. You can also try limiting the FPS with the t.MaxFPS command and see if that changes anything.

In worse case scenario try switching graphics RHI to DX11 or Vulkan and see if it clears up.

I’ve seen multiple post with similar problems, and most of them if not all are on AMD graphics card.

Unreal engine has always major support for Nvidia first and then towards AMD.

So it is probably a graphics card issue, but not actually graphics card issue its just that 5.6 has some sort of problem running on AMD cards. lets just hope they resolve this fast, or maybe for now switch to 5.5 or earlier versions.

This looks like a driver issue. Can you try and update or if you are on the latest roll back?

Thx you all for reply. I managed to fix that. Consider this as little guide for who next will have same trouble.

FIrst things - look at logs. I launched UE from console to see logs or desktop link to have logs inside UE.
The logs says -

ogVulkanRHI: Display:   * VK_LAYER_VALVE_steam_overlay_32
LogVulkanRHI: Display:   * VK_LAYER_VALVE_steam_overlay_64
LogVulkanRHI: Creating Vulkan Device using VkPhysicalDevice 0x22591e00.
LogVulkanRHI: Display: - DeviceName: AMD Radeon RX 6800
LogVulkanRHI: Display: - API=1.4.313 (0x404139) Driver=0x80015d VendorId=0x1002
LogVulkanRHI: Display: - DeviceID=0x73bf Type=VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
LogVulkanRHI: Display: - Max Descriptor Sets Bound 32, Timestamps 1
LogVulkanRHI:      API Version: 1.4.313
LogRHI: RHI Adapter Info:
LogRHI:             Name: AMD Radeon RX 6800
LogRHI:   Driver Version: 2.0.349 (internal:2.0.349, unified:)
LogRHI:      Driver Date: 01-01-01
LogRHI: Warning: Out of date driver found. Using: '2.0.349' Suggested: '23.3.1'

This actually were at 5.6 and same at 5.5.4.
For those who dont know - at linux there is AMDVLK driver and RADV. The RADV -is opensource community driver that includet at mesa package. The AMDVLK is propreate.
So the thing is that i have latest mesa package installed and my drive version is actually must be 25.1.6 not 2.0.349 for sure.

So i’ve checket ā€œhow UE and whole system pick driver version?ā€
and I really saw that no matter I have latest mesa I have actually old version

vulkaninfo | grep -A 10 "VkPhysicalDeviceProperties"  
VkPhysicalDeviceProperties:  
---------------------------  
       apiVersion        = 1.4.313 (4211001)  
       driverVersion     = 2.0.349 (8388957)  
       vendorID          = 0x1002  
       deviceID          = 0x73bf  
       deviceType        = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU  
       deviceName        = AMD Radeon RX 6800

I start dig more and know that this configuration for drivers usually somethere here -

ls /usr/share/vulkan/icd.d/  
amd_icd32.json  amd_icd64.json  radeon_icd.i686.json  radeon_icd.x86_64.json

There is usually one ICD file for each driver and architecture:

  • ā€˜amd_icd32.json’ is a 32-bit proprietary AMD Vulkan driver (AMDVLK)
  • ā€˜amd_icd64.json’ is a 64-bit AMDVLK
  • ā€˜radeon_icd.i686.json’ is a 32-bit open source RADV driver (Mesa)
  • ā€˜radeon_icd.x86_64.json’ is a 64-bit RADV (Mesa)

and system variable ā€œVK_ICD_FILENAMESā€ at my system were not set. Dont know why but not matter.
So if I will launch like -

UE VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json ./UnrealEditor 

everything will be fine.

So If the variable is not set (empty), Vulkan automatically searches for ICD files in standard system directories, e.g. ā€˜/usr/share/vulkan/icd.d/’.
If the variable is set, Vulkan will use only those ICD files that are specified in it (you can specify one or more paths separated by a colon).

So I may add to bashrc or to enviroment. So i’ve added -

cat /etc/environment    
#  
# This file is parsed by pam_env module  
#MANGOHUD=1  

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json 


reboot

and now all logs were good

LogVulkanRHI: Creating Vulkan Device using VkPhysicalDevice 0x1a62900.
LogVulkanRHI: Display: - DeviceName: AMD Radeon RX 6800 (RADV NAVI21)
LogVulkanRHI: Display: - API=1.4.311 (0x404137) Driver=0x6401006 VendorId=0x1002
LogVulkanRHI: Display: - DeviceID=0x73bf Type=VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
LogVulkanRHI: Display: - Max Descriptor Sets Bound 32, Timestamps 1
LogVulkanRHI: Display: - Calibrated Timestamp Domain: VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR.
LogVulkanRHI:      API Version: 1.4.311
LogRHI: RHI Adapter Info:
LogRHI:             Name: AMD Radeon RX 6800 (RADV NAVI21)
LogRHI:   Driver Version: 25.1.6 (internal:25.1.6, unified:)
LogRHI:      Driver Date: 01-01-01
LogVulkanRHI: Display: Found 215 available device extensions :
LogVulkanRHI: Display:   + VK_AMD_buffer_marker

So people… always look at logs no matter what :slight_smile:

I hope this my note will help some one in the future. Good luck all!

3 Likes