EU5.0.1 - Problem black window at startup in Linux

Hello community, I’m so happy to begin to work in Unreal Engine, but I have a problem.

The issue

When I run UnrealEditor, the project browser, it appears full screen and the window appears black and blocked only in my maximum screen resolution at 5120x1440 @ 120hz, but if I set my display a little lower and re-run UnrealEditor, for example, 3840x1080 @ 120hz the Project Explorer open and appears correctly.

Back window startup screenshot

But the problem is that the application keeps the metrics resolution, so if after run app and switch to maximum resolution and I move the window to the edge of my screen the menus do not open in the right place. See the following screenshot please.

Menus not at the good place

After many search in you forum, in SDL forum and KDE forum. The solution is unfortunaly no found.

Build

For compilation, I followed the build process, so git clone https://github.com/EpicGames/UnrealEngine -b release > I run Setup.sh > GenerateProjectFiles.sh and finally make.

My setup

  • MB - Asus TUF-Gaming X570-PRO WIFI 2
  • CPU - AMD Ryzen 9 5959X
  • RAM - 128 GB
  • DISK - 1TB nvme
  • GPU - NVIDIA GeForce RTX3080 10GB - proprietary driver 515.43.04
  • OS - Archlinux - Kernel 5.17.9-arch1-1
  • Graphic Platform - X11
  • Desktop Manager - KDE 5.24.5 - KDE Framework 5.94.0
  • QT Version 5.15.4
  • Display Device - Samsung LC49RG90 49" ultra wide

Attempts to resolve

  • I’m trying to disallow app block compositor in KDE DM, but the problem persist.

Logs analyzes

In Log file, I’m viewing that the screen detection by SDL2 not returns the same value for the name in 5120x1440 @ 120hz resolution, I have :

[2022.05.20-15.30.44:746][  0]LogInit: Using SDL video driver 'x11'
[2022.05.20-15.30.44:746][  0]LogInit: Display metrics:
[2022.05.20-15.30.44:746][  0]LogInit:   PrimaryDisplayWidth: 5120
[2022.05.20-15.30.44:746][  0]LogInit:   PrimaryDisplayHeight: 1440
[2022.05.20-15.30.44:746][  0]LogInit:   PrimaryDisplayWorkAreaRect:
[2022.05.20-15.30.44:746][  0]LogInit:     Left=0, Top=0, Right=5120, Bottom=1396
[2022.05.20-15.30.44:746][  0]LogInit:   VirtualDisplayRect:
[2022.05.20-15.30.44:746][  0]LogInit:     Left=0, Top=0, Right=5120, Bottom=1396
[2022.05.20-15.30.44:746][  0]LogInit:   TitleSafePaddingSize: X=0.000 Y=0.000 Z=0.000 W=0.000
[2022.05.20-15.30.44:746][  0]LogInit:   ActionSafePaddingSize: X=0.000 Y=0.000 Z=0.000 W=0.000
[2022.05.20-15.30.44:746][  0]LogInit:   Number of monitors: 1
[2022.05.20-15.30.44:746][  0]LogInit:     Monitor 0
[2022.05.20-15.30.44:746][  0]LogInit:       Name: C49RG9x
[2022.05.20-15.30.44:746][  0]LogInit:       ID: display0
[2022.05.20-15.30.44:746][  0]LogInit:       NativeWidth: 5120
[2022.05.20-15.30.44:746][  0]LogInit:       NativeHeight: 1440
[2022.05.20-15.30.44:746][  0]LogInit:       bIsPrimary: true

And in 3840x1080 @ 120hz resolution, I have :

[2022.05.20-15.38.43:333][  0]LogInit: Initializing SDL.
[2022.05.20-15.38.43:522][  0]LogInit: Initialized SDL 2.0.20 revision:  (compiled against 2.0.20)
[2022.05.20-15.38.43:522][  0]LogInit: Using SDL video driver 'x11'
[2022.05.20-15.38.43:523][  0]LogInit: Display metrics:
[2022.05.20-15.38.43:523][  0]LogInit:   PrimaryDisplayWidth: 3840
[2022.05.20-15.38.43:523][  0]LogInit:   PrimaryDisplayHeight: 1080
[2022.05.20-15.38.43:523][  0]LogInit:   PrimaryDisplayWorkAreaRect:
[2022.05.20-15.38.43:523][  0]LogInit:     Left=0, Top=0, Right=3840, Bottom=1036
[2022.05.20-15.38.43:523][  0]LogInit:   VirtualDisplayRect:
[2022.05.20-15.38.43:523][  0]LogInit:     Left=0, Top=0, Right=3840, Bottom=1036
[2022.05.20-15.38.43:523][  0]LogInit:   TitleSafePaddingSize: X=0.000 Y=0.000 Z=0.000 W=0.000
[2022.05.20-15.38.43:523][  0]LogInit:   ActionSafePaddingSize: X=0.000 Y=0.000 Z=0.000 W=0.000
[2022.05.20-15.38.43:523][  0]LogInit:   Number of monitors: 1
[2022.05.20-15.38.43:523][  0]LogInit:     Monitor 0
[2022.05.20-15.38.43:523][  0]LogInit:       Name: C49RG9x 49"
[2022.05.20-15.38.43:523][  0]LogInit:       ID: display0
[2022.05.20-15.38.43:523][  0]LogInit:       NativeWidth: 3840
[2022.05.20-15.38.43:523][  0]LogInit:       NativeHeight: 1080
[2022.05.20-15.38.43:523][  0]LogInit:       bIsPrimary: true

The screen name value in first log is C49RG9x but in second log is C49RG9x 49".

My knowledge about SDL2 dev is too low, so I don’t know if that maybe have a matter ?

Attachements

Finally

I hope to find some help here to close my problem. Because, this little problem is very bad in my workflow. So far I haven’t opened an issue in the bug tracker. Maybe I should ?

Thank you for my futures helpers :slight_smile: !

I’m trying in the new release 5.0.2, but problem persist. Now, the window opened is “Crash report”, but the window is already in full screen mode and black.

By the way, now Unreal Engine stuck when I’m trying to stop app.

Please, I need help to fix it.

New logs in 5.0.2 version →
Unreal.log (104.1 KB)

Just wanted to bump the thread as I am having the same issue (and “solution”). From my understanding KDE seems to be the issue as it works on xfce but I want to keep using KDE as it works better with Steam.

1 Like

I do not know, but try to play with versions of OpenGL in settings of KDE. I do not have such problem, but it was the same with VLC player on second display.

Thanks, I’ll try that later and report back here. Do you happen to know the version of OpenGL you’re using?

Unfortunately I couldn’t find a KDE setting to adjust the OpenGL version since that has apparently been removed. But according to Unreal Docs they should be using Vulkan anyway, right? I’ve tried playing around with setting “TargetedRHIs” but to no success.

Did you find Compositor Settings in KDE Settings? There must be something like Rendering backend.

System settings → Display and Monitor → Compositor.

I installed KDE on Debian 11. There is no problem. If you want I can zip UE and post link here.

These are the settings I have for Compositor:

I did find Plasma Renderer settings but for “Rendering Backend” I can only choose between “Automatic”, “OpenGL” and “Software”. I’ve played with all possible combinations and none made it work :confused:
Screenshot_20220624_155015

That is bad. To find what block of puzzle is broken, I recommend to change them. For example, Install Gnome and run existing UE. If no luck than compile UE under Gnome. Of course, if you have time and free space. If I will find solution, I will post here.

1 Like

Hi guys, I’ve to decided to post an issue in Unreal BugTracker about that. Because after my investigating, I’m seem to be a problem to resolution detection or screen display type detection by SDL lib.

So I was trying to run UnrealEditor with or without compositor in KDE or run in OpenBox without compositor the issue persists.

1 Like

got a very similar situation, compiled UnrealEditor 5.0.3 on gentoo and now if my screen resolution is higher than 1080p, i get the same dark gradient full screen window in the latest kde. it looks like the crash reporter is active as well, but i can’t see the window.

The same … At this time Unreal Engine is unusable with my setup. I hope that the staff fix it.

you mentioned you posted to the bug tracker, but i can’t find the post. would you mind sharing the link?

The publication in the bugtracker is not validated for the moment, but when it is I will share it.

2 Likes

Hello, the bug in the tracker is still pending, but I was sent feedback on a topic about a precompiled Linux release. Behold, I have an answer from the staff here. → Pre-compiled Linux Unreal Engine installation - #8 by ThomasC_Epic

2 Likes

So here’s an interesting observation I made today: (TL;DR at the end)
I compiled 5.0.3 from Source (but this should work with the released version too)
Then I thought if it works in 1920x1080 I’ll reduce the screen resolution and so I did and started Unreal but forgot to confirm the resolution change dialog and the system switched back but since the Editor was already started it would show up properly even on the full resolution of 5120x1440. Nice! But unfortunately all text was WAY too small so next I thought let’s set Global Scale higher so I can actually read the text. After playing with it a bit I made the discovery that even if you set the resolution to 5120x1440 if you set the Global Scale to just 106.25% or higher the Editor will start up and display just fine. So I can finally use Unreal 5 on my Ultra-wide without any downside, yay!

TL;DR: Keep resolution at 5120x1440 but set global scale to at least 106.25% and UE5 will start properly.

1 Like

Hello, I saw this option at the time. But for me in 100% scale, the font size is not too tiny. If you change Global Scale that’s the same as to change screen resolution.

Can you send your log with global scale setting up and without please ? (Specially section about screen resolution detection)

Since then I have changed my window manager by “Qtile” and all my settings is based on 5120x1440 exactly and not in bit lower scale.

I’m sad… But I’m enjoy for you et your fixing issue.

I found the SDL2 library used for 2D rendering of window decorations problematic during a debugging session. Because, when detecting the screen size, the value returns are bad and must create a bug in the window rendering process.

But Thanks for your trick.

Sure, here’s the 2 logs. Although this time I didn’t find a difference in regards to what SDL detects. From my understanding Epic uses a modified version of SDL so I guess we couldn’t even update it ourselves? (If that would help that is)

Unreal_ModifiedGlobalScale.log (104.9 KB)
Unreal_BlackScreen.log (104.9 KB)

EDIT: spelling