Black screen after login with multiple screen

Hi,
I build a new computer and have two screen tied to it.
One of them is disabled in EOS since I don’t use it except for gaming.
However when I boot, the system don’t care and send signal during POST to both screen till the login screen.
I have to verify but at that point the second monitor doesn’t receive signal anymore.

After entered my password, the screen stay black and I’m not able to access my desktop.
However, if I let the second screen enabled in the system or unplug it’s display port prior boot everything works fine.

How can I solve this please?

Hardware infos:

  • Both screens connected in DP
  • GPU: AMD 7900 XTX
  • Kernel v6.9.6
  • KDE Plasma v6.1.0

No one have an idea? :confused:

@Radiated2423
Try listing your monitors:
kscreen-doctor -o | grep Output
make 2 keyboard shortcuts so that to switch on the monitors one by one in the ‘dark’:
in my case

kscreen-doctor output.HDMI-A-1.enable

kscreen-doctor output.eDP-1.enable

the same with disable if needed.
Other parameter settings / Super+P and/or Display Config may be needed as wel.l

I’ve tried but it doesn’t work when the bug at login screen happen.
When I’m on the desktop, no problem, work like a charm.

For a moment I was also unable to enable both screen at the same time.
The main screen can go up to 240Hz but I have to setup it in the OSD, I tried it and at this time EOS doesn’t wanted to enable both screen at the same time. I tought I messed up with the command but no, going back to 120Hz solve the issue.

For the record I had changed screen a lot these last weeks.
I had my old tri screen, then ordered a new screen to replace one.
Then I wasn’t happy with the setup so I ordered another to replace the two old etc.
Should I reset the kscreen settings maybe?

Like moving the old config to have a backup with this command?

mv ~/.local/share/kscreen ~/.local/share/kscreen_backup

@Radiated2423
When refresh-rate is 120 and all is working fine make a query with
kscreen-doctor --output
and build a script full of kscreen-doctor commands ( see man kscreen-doctor)
you run at startup.
Idk ‘who’ changes the refresh rate etc.

It’s still doesn’t work … It’s more than 8h hours I’m trying to debugging this it’s driving me insane. Why EOS can’t manage two screens at start seriously.

I wrote this script:

#!/bin/bash
kscreen-doctor output.DP-2.disable
kscreen-doctor output.DP-7.enable
kscreen-doctor output.DP-7.mode.7680x2160
kscreen-doctor output.DP-7.position.0,0
kscreen-doctor output.DP-7.primary

Then I ran the script, ok it’s working.
So I created a desktop file for the startup:
[Desktop Entry]

Type=Application
Exec=/home/myusername/.config/autostart-scripts/set-screens.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true

Still no luck …
My drivers are up to date, my whole system too, I have tried swapping DP … nothing is working.
I don’t even know if it’s a Plasma, AMD, EOS issue …

Edit:
I also noticed this error message at every startup:

drm dcn20_wait_for_blank_complete amdgpu
I find people having issue with blank screen and stuff but there is only old issue from 2022. But it look similar so it could be kernel related?

I noticed the xf86-video-ati drivers was installed and I removed it as suggested in another post. Still no luck.

@Radiated2423
(There is always more ways to go.)

Ok but I’m 100% sure the session doesn’t start at all.
I’ve set the script as you show in the picture, but it didn’t launch. The system is freezed in reality.
I had to reboot again and disconnect a screen.

But the script launch when my session opened, and obviously it doesn’t find DP-2 because I disconnected it to be able to login.

Here is the script

#!/bin/bash
echo “set-screens.sh started at $(date)” | systemd-cat -p info
kscreen-doctor output.DP-2.enable
kscreen-doctor output.DP-6.enable
kscreen-doctor output.DP-6.position.0,0
kscreen-doctor output.DP-6.primary
echo “set-screens.sh finished at $(date)” | systemd-cat -p info

I also found this topic and tought maybe it’s the solution but I don’t know if its relevant nor how to do it. Any advice?
EDIT: Apparently not a good idea, “amdgpu.dc=0” parameter isn’t for new screen with high resolution.

If it’s an hardware issue I must be quick because I have to return it before the next 48h :frowning:

@Radiated2423
Bear in mind that X11 and Wayland addresses monitors differently
HDMI-1 and HDMI-A-1 (my same monitor respectively).
Is it possible that during login your set-screen.sh runs not in Wayland-mode (yet)? (Shall I write an adaptive script for you?)
If you want to decide whether to send back your new monitor test in X11
mode first. Idk Wayland is only a protocol and Plasma wayland is in refinement in this case?

I don’t think the script have the time to run at all since it didn’t logged anything before I rebooted with one screen.
Thanks for the script offer, if you think it could help we can try but I have big doubt.

I’ve tried with X11 already with the same result. :frowning:
Yesterday I created a new user to test if it was tied to the session and it allow me to login with the two screen (on wayland) the first time. After a reboot I was not able to login anymore.

I could try to boot with another screen instead de Samsung G9 Neo to see if it works, so I could at least know if the issue is tied to the screen or not.

@Radiated2423
There is a similar (not the same) case where the task how to run a script before login.
full story

  1. light-dm is selected from eos-welcome --once / Change Display manager / reboot
  2. https://www.youtube.com/watch?v=AiD042zOME4&t=11s

Sorry but I don’t get it. You want me to

  • Change the display manager to lightdm instead sddm
  • Install arandr
  • Use arandr to run my startup script

Is it correct?
Correct me if I’m wrong but from what I understand about a quick search is Arandr made for xrandr, and this doesn’t work on KDE.

@eso I found half the solution!
The Samsung G9 Neo doesn’t work with DisplayPort 2.1 on Linux apparently.

After reading this topic I was confused because I remember i was able to run the screen at 240Hz but without adaptative sync.
I remember setting it to 2.1 myself because my 7900 XTX handle it and wanted to test.

Guess what… setting it back to 1.4 solve the issue. I’m now able to boot the computer with both screen connected by DisplayPort without any issue. The resolution is correct 7680x2160@120Hz.
I can even disable my gaming monitor, the system couldn’t care less

So I think there is only two possibility: the screen is defect or something on Linux doesn’t work with DP 2.1/Samsung G9.

Should I fill a bug report for the EOS developpers?

@Radiated2423
Sorry for being late and do not let me divert you from reaching your goal.
I picked some partial questions. (in X11 mode arandr should work and if the task is l to run monitor.sh before login it can be done by
shifting to lightdm
copy monitor.sh made by arandr to /etc/lightdm
grep monitor /etc/lightdm/lightdm.conf
display-setup-script=/etc/lightdm/monitor.sh
)
You have figured out most of the things and do not need my googling / testing:
HDMI does not work for others as well ?