One of the monitors suddenly stopped working on X11

I have 3 monitors. 2 of which are connected to the dedicated GPU and one is connected to the integrated GPU. Both GPUs and CPU are AMD. After updating flake inputs, rebuilding and rebooting, monitor connected to the integrated gpu stopped working on X11. Everything is fine on wayland. But on any wm/de/dm under X11 it doesn’t show up in xrandr.

/sys/class/drm/card*/status shows connected (same as others that work)
/sys/class/drm/card*/enabled shows disabled (others show enabled)
/sys/class/drm/card*/dpms shows Off (others show On)

I looked at /var/log/X.0.log and here are some relevant lines for this montior

...
[     8.208] (II) AMDGPU(G0): Output DisplayPort-1-3 has no monitor section
...
[     8.219] (II) AMDGPU(G0): EDID for output DisplayPort-1-3
[     8.219] (II) AMDGPU(G0): Manufacturer: RTK  Model: 1d1a  Serial#: 16843009
[     8.219] (II) AMDGPU(G0): Year: 2015  Week: 30
[     8.219] (II) AMDGPU(G0): EDID Version: 1.4
[     8.219] (II) AMDGPU(G0): Digital Display Input
[     8.219] (II) AMDGPU(G0): 8 bits per channel
[     8.219] (II) AMDGPU(G0): Digital interface is DisplayPort
[     8.219] (II) AMDGPU(G0): Max Image Size [cm]: horiz.: 102  vert.: 57
[     8.219] (II) AMDGPU(G0): Gamma: 2.20
[     8.219] (II) AMDGPU(G0): DPMS capabilities: StandBy Suspend Off
[     8.219] (II) AMDGPU(G0): Supported color encodings: RGB 4:4:4 
[     8.219] (II) AMDGPU(G0): Default color space is primary color space
[     8.219] (II) AMDGPU(G0): First detailed timing is preferred mode
[     8.219] (II) AMDGPU(G0): Preferred mode is native pixel format and refresh rate
[     8.219] (II) AMDGPU(G0): redX: 0.640 redY: 0.330   greenX: 0.300 greenY: 0.600
[     8.219] (II) AMDGPU(G0): blueX: 0.150 blueY: 0.060   whiteX: 0.312 whiteY: 0.329
[     8.219] (II) AMDGPU(G0): Supported established timings:
[     8.219] (II) AMDGPU(G0): 720x400@70Hz
[     8.219] (II) AMDGPU(G0): 640x480@60Hz
[     8.219] (II) AMDGPU(G0): 640x480@67Hz
[     8.219] (II) AMDGPU(G0): 640x480@72Hz
[     8.219] (II) AMDGPU(G0): 640x480@75Hz
[     8.219] (II) AMDGPU(G0): 800x600@60Hz
[     8.219] (II) AMDGPU(G0): 800x600@72Hz
[     8.219] (II) AMDGPU(G0): 800x600@75Hz
[     8.219] (II) AMDGPU(G0): 832x624@75Hz
[     8.219] (II) AMDGPU(G0): 1024x768@60Hz
[     8.219] (II) AMDGPU(G0): 1024x768@70Hz
[     8.219] (II) AMDGPU(G0): 1024x768@75Hz
[     8.219] (II) AMDGPU(G0): 1280x1024@75Hz
[     8.219] (II) AMDGPU(G0): 1152x864@75Hz
[     8.219] (II) AMDGPU(G0): Manufacturer's mask: 0
[     8.219] (II) AMDGPU(G0): Supported standard timings:
[     8.219] (II) AMDGPU(G0): #0: hsize: 1920  vsize 1080  refresh: 60  vid: 49361
[     8.219] (II) AMDGPU(G0): #1: hsize: 1280  vsize 720  refresh: 60  vid: 49281
[     8.219] (II) AMDGPU(G0): #2: hsize: 1440  vsize 900  refresh: 60  vid: 149
[     8.219] (II) AMDGPU(G0): #3: hsize: 1400  vsize 1050  refresh: 60  vid: 16528
[     8.219] (II) AMDGPU(G0): #4: hsize: 1600  vsize 900  refresh: 60  vid: 49321
[     8.219] (II) AMDGPU(G0): #5: hsize: 1152  vsize 864  refresh: 60  vid: 16497
[     8.219] (II) AMDGPU(G0): #6: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
[     8.219] (II) AMDGPU(G0): #7: hsize: 1280  vsize 960  refresh: 60  vid: 16513
[     8.219] (II) AMDGPU(G0): Supported detailed timing:
[     8.219] (II) AMDGPU(G0): clock: 65.0 MHz   Image Size:  160 x 90 mm
[     8.219] (II) AMDGPU(G0): h_active: 1024  h_sync: 1048  h_sync_end 1184 h_blank_end 1344 h_border: 0
[     8.219] (II) AMDGPU(G0): v_active: 768  v_sync: 771  v_sync_end 777 v_blanking: 806 v_border: 0
[     8.219] (II) AMDGPU(G0): Supported detailed timing:
[     8.219] (II) AMDGPU(G0): clock: 79.5 MHz   Image Size:  160 x 90 mm
[     8.219] (II) AMDGPU(G0): h_active: 1280  h_sync: 1328  h_sync_end 1456 h_blank_end 1664 h_border: 0
[     8.219] (II) AMDGPU(G0): v_active: 768  v_sync: 769  v_sync_end 796 v_blanking: 798 v_border: 0
[     8.219] (II) AMDGPU(G0): Supported detailed timing:
[     8.219] (II) AMDGPU(G0): clock: 83.5 MHz   Image Size:  160 x 90 mm
[     8.219] (II) AMDGPU(G0): h_active: 1280  h_sync: 1344  h_sync_end 1472 h_blank_end 1680 h_border: 0
[     8.219] (II) AMDGPU(G0): v_active: 800  v_sync: 801  v_sync_end 829 v_blanking: 831 v_border: 0
[     8.219] (II) AMDGPU(G0): Supported detailed timing:
[     8.219] (II) AMDGPU(G0): clock: 85.5 MHz   Image Size:  160 x 90 mm
[     8.219] (II) AMDGPU(G0): h_active: 1366  h_sync: 1414  h_sync_end 1557 h_blank_end 1792 h_border: 0
[     8.219] (II) AMDGPU(G0): v_active: 768  v_sync: 769  v_sync_end 796 v_blanking: 798 v_border: 0
[     8.219] (II) AMDGPU(G0): EDID (in hex):
[     8.219] (II) AMDGPU(G0):   00ffffffffffff004a8b1a1d01010101
[     8.219] (II) AMDGPU(G0):   1e190104a5663978e6ee91a3544c9926
[     8.219] (II) AMDGPU(G0):   0f5054bdef80d1c081c095009040a9c0
[     8.219] (II) AMDGPU(G0):   71408180814064190040410026301888
[     8.219] (II) AMDGPU(G0):   3600a05a0000001e0e1f008051001e30
[     8.219] (II) AMDGPU(G0):   30801b01a05a0000001e9e2000905120
[     8.219] (II) AMDGPU(G0):   1f3040801c01a05a0000001e662156aa
[     8.219] (II) AMDGPU(G0):   51001e30308f1b01a05a0000001e0017
[     8.219] (II) AMDGPU(G0): Printing probed modes for output DisplayPort-1-3
[     8.219] (II) AMDGPU(G0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 +hsync +vsync (48.4 kHz eP)
[     8.219] (II) AMDGPU(G0): Modeline "1920x1080"x60.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 -hsync -vsync (67.5 kHz e)
[     8.219] (II) AMDGPU(G0): Modeline "1400x1050"x60.0  121.75  1400 1488 1632 1864  1050 1053 1057 1089 -hsync +vsync (65.3 kHz e)
[     8.219] (II) AMDGPU(G0): Modeline "1600x900"x60.0  108.00  1600 1624 1704 1800  900 901 904 1000 +hsync +vsync (60.0 kHz e)
[     8.219] (II) AMDGPU(G0): Modeline "1280x1024"x75.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
[     8.219] (II) AMDGPU(G0): Modeline "1280x1024"x60.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
[     8.219] (II) AMDGPU(G0): Modeline "1440x900"x59.9  106.50  1440 1520 1672 1904  900 903 909 934 -hsync +vsync (55.9 kHz e)
[     8.219] (II) AMDGPU(G0): Modeline "1280x960"x60.0  108.00  1280 1376 1488 1800  960 961 964 1000 +hsync +vsync (60.0 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "1366x768"x59.8   85.50  1366 1414 1557 1792  768 769 796 798 +hsync +vsync (47.7 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "1280x800"x59.8   83.50  1280 1344 1472 1680  800 801 829 831 +hsync +vsync (49.7 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "1152x864"x75.0  108.00  1152 1216 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "1280x768"x59.9   79.50  1280 1328 1456 1664  768 769 796 798 +hsync +vsync (47.8 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "1280x720"x60.0   74.25  1280 1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "1024x768"x75.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "1024x768"x70.1   75.00  1024 1048 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "832x624"x74.6   57.28  832 864 928 1152  624 625 628 667 -hsync -vsync (49.7 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "800x600"x72.2   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "800x600"x75.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "640x480"x75.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "640x480"x72.8   31.50  640 664 704 832  480 489 492 520 -hsync -vsync (37.9 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "640x480"x66.7   30.24  640 704 768 864  480 483 486 525 -hsync -vsync (35.0 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "640x480"x59.9   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[     8.220] (II) AMDGPU(G0): Modeline "720x400"x70.1   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)

So everything seems to be fine with the drivers, since amdgpu detects the modes and EDID properly. The name of the output is the same as when it was wroking - DisplayPort-1-3. So it looks like something is wrong with X11 itself. Also note this line:

[     8.219] (II) AMDGPU(G0): DPMS capabilities: StandBy Suspend Off

The other two monitors show this:

...
[     8.194] (II) AMDGPU(0): DPMS capabilities: Off
...
[     8.195] (II) AMDGPU(0): DPMS capabilities: Off

What i’ve tried so far:

  • Downgrading my system channel from nixos-unstable to nixos-22.05
  • Playing with the video parameter of boot.kernelParams (Kernel mode setting - ArchWiki)
  • Playing with xorg config – adding device/screen/monitor sections
  • Rebuilding completely without config (services.xserver.config = lib.mkForce "";)
  • Replugging video cables
  • Swapping monitor cables – unplugging monitor from the dedicated GPU and plugging it into the iGPU. This output still doesn’t show up in xrandr.
  • Setting iGPU as primary video adapter in UEFI settings
  • Toggling splash screen on boot in the UEFI settings (that setting affected my monitors on linux before)

How else i can troubleshoot?

  • system: "x86_64-linux"
  • host os: Linux 5.18.12-zen1, NixOS, 22.11 (Raccoon), 22.11.20220720.614a842
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.10.3
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos
  • cpu: ryzen 2200g
  • gpu: amd rx580

Fixed it by running xrandr --setprovideroutputsource 1 0 where 1 is igpu and 0 is primary gpu in xrandr --listproviders.
I also wrote it in my services.xserver.displayManager.setupCommands to make it permanent