Fedora 41 and two monitors

Hello, friends!

I have been struggling for a long time with the incorrect determination (setting) of the monitor positions (which one is on the left, which one is on the right), plus a problem with a random black screen appeared (often appeared on tiled WMs). My knowledge is clearly not enough to solve the problem on my own, and asking about such trifles is inconvenient. And how can I ask a question if I myself do not understand what to ask?

I always thought that the first port (DP-1) is the monitor on the left, the second port (DP-2, DP-3, etc.) is the monitor on the right. Logical, right? But it is not!

The installers of different OS randomly(?) selected the main monitor.

After installation, different OS behaved differently, someone thought that DP-1 was the monitor on the left, someone thought that DP-3 was the monitor on the left. I had to forcibly set which monitor was on the left in the Gnome settings. Do you think that’s all? Absolutely not!

When exiting screen lock, sleep or suspend mode, the login screen randomly chose which monitor to assign to the left (main) monitor. Of course, this is not a fatal problem, but it really annoyed me!

In addition to the above, application windows were placed in random places, I usually use the browser on the second (right) monitor, but after exiting sleep mode it could appear on the first monitor in a random place - I was outraged!

Any attempts to connect monitors to other ports (I tried only DP*) of the video card did not work.

And then I thought, by what logic does the OS select which monitor is on the left? By name? By port number? By monitor serial number?

I read the EDID of the IMA monitor:

alevykh@prsnl:~$ edid-decode imagic-edid.old.bin 
edid-decode (hex):

00 ff ff ff ff ff ff 00 25 a1 00 27 00 00 00 00
00 0a 01 04 b5 3c 22 78 33 af f0 ab 50 53 a3 22
11 50 54 bd 6b 80 81 c0 81 80 95 00 a9 c0 b3 00
d1 c0 01 01 01 01 4d d0 00 a0 f0 70 3e 80 30 20
35 00 59 53 21 00 00 1a 00 00 00 ff 30 30 30 30
30 30 30 30 30 30 30 30 30 30 00 00 00 fd 00 30
3e de de 3c 01 0a 20 20 20 20 20 20 00 00 00 fc
00 4d 32 37 38 55 0a 20 20 20 20 20 20 20 01 77

02 03 18 74 4b 90 9f 85 94 04 13 03 12 01 02 11
23 09 07 07 83 01 00 00 04 74 00 30 f2 70 5a 80
b0 58 36 00 59 53 21 00 00 1a 56 5e 00 a0 a0 a0
29 50 30 20 35 00 59 53 21 00 00 1e 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 58

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: IMA
    Model: 9984
    Made in: 2000
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 60 cm x 34 cm
    Gamma: 2.20
    DPMS levels: Off
    Supported color formats: RGB 4:4:4, YCrCb 4:2:2
    First detailed timing includes the native pixel format and preferred refresh rate
    Display supports continuous frequencies
  Color Characteristics:
    Red  : 0.6699, 0.3144
    Green: 0.3271, 0.6396
    Blue : 0.1357, 0.0693
    White: 0.3125, 0.3281
  Established Timings I & II:
    IBM     :   720x400    70.081663 Hz   9:5     31.467 kHz     28.320000 MHz
    DMT 0x04:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    Apple   :   640x480    66.666667 Hz   4:3     35.000 kHz     30.240000 MHz
    DMT 0x05:   640x480    72.808802 Hz   4:3     37.861 kHz     31.500000 MHz
    DMT 0x06:   640x480    75.000000 Hz   4:3     37.500 kHz     31.500000 MHz
    DMT 0x09:   800x600    60.316541 Hz   4:3     37.879 kHz     40.000000 MHz
    DMT 0x0b:   800x600    75.000000 Hz   4:3     46.875 kHz     49.500000 MHz
    Apple   :   832x624    74.551266 Hz   4:3     49.726 kHz     57.284000 MHz
    DMT 0x10:  1024x768    60.003840 Hz   4:3     48.363 kHz     65.000000 MHz
    DMT 0x12:  1024x768    75.028582 Hz   4:3     60.023 kHz     78.750000 MHz
    DMT 0x24:  1280x1024   75.024675 Hz   5:4     79.976 kHz    135.000000 MHz
    Apple   :  1152x870    75.061550 Hz 192:145   68.681 kHz    100.000000 MHz
  Standard Timings:
    DMT 0x55:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    DMT 0x23:  1280x1024   60.019740 Hz   5:4     63.981 kHz    108.000000 MHz
    DMT 0x2f:  1440x900    59.887445 Hz  16:10    55.935 kHz    106.500000 MHz
    DMT 0x53:  1600x900    60.000000 Hz  16:9     60.000 kHz    108.000000 MHz (RB)
    DMT 0x3a:  1680x1050   59.954250 Hz  16:10    65.290 kHz    146.250000 MHz
    DMT 0x52:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
  Detailed Timing Descriptors:
    DTD 1:  3840x2160   59.996625 Hz  16:9    133.312 kHz    533.250000 MHz (601 mm x 339 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   54 Vpol N
    Display Product Serial Number: '0000000000000'
    Display Range Limits:
      Monitor ranges (Range Limits Only): 48-62 Hz V, 222-222 kHz H, max dotclock 600 MHz
    Display Product Name: 'M278U'
  Extension blocks: 1
Checksum: 0x77

----------------

Block 1, CTA-861 Extension Block:
  Revision: 3
  Basic audio support
  Supports YCbCr 4:4:4
  Supports YCbCr 4:2:2
  Native detailed modes: 4
  Video Data Block:
    VIC  16:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz (native)
    VIC  31:  1920x1080   50.000000 Hz  16:9     56.250 kHz    148.500000 MHz (native)
    VIC   5:  1920x1080i  60.000000 Hz  16:9     33.750 kHz     74.250000 MHz (native)
    VIC  20:  1920x1080i  50.000000 Hz  16:9     28.125 kHz     74.250000 MHz (native)
    VIC   4:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    VIC  19:  1280x720    50.000000 Hz  16:9     37.500 kHz     74.250000 MHz
    VIC   3:   720x480    59.940060 Hz  16:9     31.469 kHz     27.000000 MHz
    VIC  18:   720x576    50.000000 Hz  16:9     31.250 kHz     27.000000 MHz
    VIC   1:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    VIC   2:   720x480    59.940060 Hz   4:3     31.469 kHz     27.000000 MHz
    VIC  17:   720x576    50.000000 Hz   4:3     31.250 kHz     27.000000 MHz
  Audio Data Block:
    Linear PCM:
      Max channels: 2
      Supported sample rates (kHz): 48 44.1 32
      Supported sample sizes (bits): 24 20 16
  Speaker Allocation Data Block:
    FL/FR - Front Left/Right
  Detailed Timing Descriptors:
    DTD 2:  3840x2160   30.000000 Hz  16:9     67.500 kHz    297.000000 MHz (601 mm x 339 mm)
                 Hfront  176 Hsync  88 Hback  296 Hpol P
                 Vfront    3 Vsync   6 Vback   81 Vpol N
    DTD 3:  2560x1440   59.950550 Hz  16:9     88.787 kHz    241.500000 MHz (601 mm x 339 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   33 Vpol P
Checksum: 0x58  Unused space in Extension Block: 67 bytes

As you can see, the EDID does not look quite right, as if it was specially modified. The serial number is missing. I corrected it, added the serial number, because I did not understand how the video card selects the order of monitors. Maybe it really is by serial number? But I did not flash it, because I read this You can kill your PC

And then I decided, why not try HDMI? Connected M278U to HDMI. Then

$systemctl reboot

As a result:

   NVIDIA  port   | MONITOR port
------------------|---------------------|
                  |HDMI-1               | works fine
    HDMI          |---------------------|
                  |HDMI-2               | doesn't work (still the same problem)
                  |---------------------|
                  |HDMI-3               | doesn't work (still the same problem)
----------------------------------------|

and EDID now is

alevykh@prsnl:~$ sudo edid-decode /sys/class/drm/card1-HDMI-A-1/edid
edid-decode (hex):

00 ff ff ff ff ff ff 00 25 a1 00 27 01 00 00 00
0c 21 01 03 80 3c 22 78 2a 59 95 af 4f 42 af 26
0f 50 54 21 08 00 81 00 81 40 81 80 81 c0 a9 c0
95 00 b3 00 a9 40 08 e8 00 30 f2 70 5a 80 b0 58
4a 00 59 53 21 00 00 1e 00 00 00 fd 00 30 3c 17
e1 3c 00 0a 20 20 20 20 20 20 02 3a 80 18 71 38
2d 40 58 2c 45 00 60 63 21 00 00 1e 00 00 00 fc
00 4d 32 37 38 55 0a 20 20 20 20 20 20 20 01 8b

02 03 36 f1 4a 61 01 02 10 05 04 03 13 1f 01 23
09 07 07 83 01 00 00 6d 03 0c 00 10 00 38 3c 20
00 60 01 01 01 67 d8 5d c4 01 78 80 00 68 1a 00
00 01 01 30 3c ed 6a 5e 00 a0 a0 a0 29 50 30 20
35 00 59 53 21 00 00 1a 04 74 00 30 f2 70 5a 80
b0 58 36 00 59 53 21 00 00 1e 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c6

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.3
  Vendor & Product Identification:
    Manufacturer: IMA
    Model: 9984
    Serial Number: 1 (0x00000001)
    Made in: week 12 of 2023
  Basic Display Parameters & Features:
    Digital display
    Maximum image size: 60 cm x 34 cm
    Gamma: 2.20
    DPMS levels: Off
    RGB color display
    First detailed timing is the preferred timing
  Color Characteristics:
    Red  : 0.6845, 0.3095
    Green: 0.2597, 0.6845
    Blue : 0.1503, 0.0595
    White: 0.3134, 0.3291
  Established Timings I & II:
    DMT 0x04:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    DMT 0x09:   800x600    60.316541 Hz   4:3     37.879 kHz     40.000000 MHz
    DMT 0x10:  1024x768    60.003840 Hz   4:3     48.363 kHz     65.000000 MHz
  Standard Timings:
    DMT 0x1c:  1280x800    59.810326 Hz  16:10    49.702 kHz     83.500000 MHz
    DMT 0x20:  1280x960    60.000000 Hz   4:3     60.000 kHz    108.000000 MHz
    DMT 0x23:  1280x1024   60.019740 Hz   5:4     63.981 kHz    108.000000 MHz
    DMT 0x55:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    DMT 0x53:  1600x900    60.000000 Hz  16:9     60.000 kHz    108.000000 MHz (RB)
    DMT 0x2f:  1440x900    59.887445 Hz  16:10    55.935 kHz    106.500000 MHz
    DMT 0x3a:  1680x1050   59.954250 Hz  16:10    65.290 kHz    146.250000 MHz
    DMT 0x33:  1600x1200   60.000000 Hz   4:3     75.000 kHz    162.000000 MHz
  Detailed Timing Descriptors:
    DTD 1:  3840x2160   60.000000 Hz  16:9    135.000 kHz    594.000000 MHz (601 mm x 339 mm)
                 Hfront  176 Hsync  88 Hback  296 Hpol P
                 Vfront    4 Vsync  10 Vback   76 Vpol P
    Display Range Limits:
      Monitor ranges (GTF): 48-60 Hz V, 23-225 kHz H, max dotclock 600 MHz
    DTD 2:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz (608 mm x 355 mm)
                 Hfront   88 Hsync  44 Hback  148 Hpol P
                 Vfront    4 Vsync   5 Vback   36 Vpol P
    Display Product Name: 'M278U'
  Extension blocks: 1
Checksum: 0x8b

----------------

Block 1, CTA-861 Extension Block:
  Revision: 3
  Underscans IT Video Formats by default
  Basic audio support
  Supports YCbCr 4:4:4
  Supports YCbCr 4:2:2
  Native detailed modes: 1
  Video Data Block:
    VIC  97:  3840x2160   60.000000 Hz  16:9    135.000 kHz    594.000000 MHz
    VIC   1:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    VIC   2:   720x480    59.940060 Hz   4:3     31.469 kHz     27.000000 MHz
    VIC  16:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
    VIC   5:  1920x1080i  60.000000 Hz  16:9     33.750 kHz     74.250000 MHz
    VIC   4:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    VIC   3:   720x480    59.940060 Hz  16:9     31.469 kHz     27.000000 MHz
    VIC  19:  1280x720    50.000000 Hz  16:9     37.500 kHz     74.250000 MHz
    VIC  31:  1920x1080   50.000000 Hz  16:9     56.250 kHz    148.500000 MHz
    VIC   1:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
  Audio Data Block:
    Linear PCM:
      Max channels: 2
      Supported sample rates (kHz): 48 44.1 32
      Supported sample sizes (bits): 24 20 16
  Speaker Allocation Data Block:
    FL/FR - Front Left/Right
  Vendor-Specific Data Block (HDMI), OUI 00-0C-03:
    Source physical address: 1.0.0.0
    DC_36bit
    DC_30bit
    DC_Y444
    Maximum TMDS clock: 300 MHz
    Extended HDMI video details:
      HDMI VICs:
        HDMI VIC 1:  3840x2160   30.000000 Hz  16:9     67.500 kHz    297.000000 MHz
        HDMI VIC 1:  3840x2160   30.000000 Hz  16:9     67.500 kHz    297.000000 MHz
        HDMI VIC 1:  3840x2160   30.000000 Hz  16:9     67.500 kHz    297.000000 MHz
  Vendor-Specific Data Block (HDMI Forum), OUI C4-5D-D8:
    Version: 1
    Maximum TMDS Character Rate: 600 MHz
    SCDC Present
  Vendor-Specific Data Block (AMD), OUI 00-00-1A:
    Version: 1.1
    Minimum Refresh Rate: 48 Hz
    Maximum Refresh Rate: 60 Hz
    Flags 1.x: 0xed (MCCS)
  Detailed Timing Descriptors:
    DTD 3:  2560x1440   60.000199 Hz  16:9     88.860 kHz    241.700000 MHz (601 mm x 339 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   33 Vpol N
    DTD 4:  3840x2160   30.000000 Hz  16:9     67.500 kHz    297.000000 MHz (601 mm x 339 mm)
                 Hfront  176 Hsync  88 Hback  296 Hpol P
                 Vfront    3 Vsync   6 Vback   81 Vpol P
Checksum: 0xc6  Unused space in Extension Block: 37 bytes

Note that the EDID on HDMI port is now different! Added serial number; another version of the EDID structure, as well as some other parameters.

And now everything works as it should! After exiting all modes (sleep, lock, suspend), the monitors are detected correctly, applications remain in their places (x,y) and retain their sizes. And also on the login screen (on both monitors) the desktop wallpaper is now displayed correctly (BONUS for me :rofl:)!

So I have a few questions for you, experienced people:

  1. Why is the EDID of one monitor different on different ports (it’s fake monitor)??
  2. By what logic and who chooses which monitor is on the left at the initial stage of OS booting?

Sounds almost as annoying as when my second SSD changes its ID (nvme0n1 or nvme1n1) randomly on boot - but at least I think I have to update the fstab to use uuid…

Thanks for reply

I’m still studying how the hardware initialization occurs during boot. But I haven’t figured out yet who has priority and chooses the main monitor - the video card or the OS.

And can a broken/fake monitor firmware (EDID) cause such problems? Or is it a video card problem if both monitors are connected to the same ports (both DP monitors, or both HDMI).

This really is an ‘on-topic’ subject for ‘ask-fedora’. You could update the heading to “How Does F41 assign Monitor IDs?” or start a new thread and link to this in ‘ask-fedora’

It is a really interesting topic that your are digging into nicely.

1 Like

By the way, I found several forum threads where I had similar “symptoms”, for example,
@jaenders97 HDMI Screen doesn't wake up after automatic screen off. Nvidia Wayland (Fedora 41 KDE)
@ac10n When I turn on a TV connected to HDMI, it does not show in list of displays unless I restart
@joesh-00 KDE: How can I run kscreen-doctor on startup before login (to disable my external TV screen from showing login dialog)?
@monkesle KDE F41 - One of my two displays freezes after an hour or two

and many others…

Thanks @theprogram for the replies, but I thought about it and decided to leave the topic in this section, in my opinion, “off-topic” is a more appropriate place, since no common solutions were found earlier.

In general, this concerns the bundle (sometimes BIOS)-NVIDIA-CABLE-MONITOR(S). Each of these components (or all together) can cause similar symptoms/problems.

Unfortunately, there is no universal solution. In my case, there is definitely none - Chinese NVIDIA 3060 video card[1], the first MSI 4K monitor and the second Chinese 4K monitor with a fake EDID. I will try to allocate funds from the budget to buy a new video card and a new monitor.

P.S. My 24-hour search for information began here Reddit - Dive into anything


  1. no more Chinesse NVIDIA :slight_smile: ↩︎