2nd Monitor Shutoff upon grub to Leap on During Boot

Something odd is happening on my system and I’m not exactly sure how to further debug and find a solution:

This started happening today, though something like it happened a few days ago, but resolved itself.

When I turn on the desktop, I get the motherboard splash screen, as usual, mirrored on my dual monitor setup. This is followed by grub, mirrored on both monitors as well. The system automatically starts loading Leap, but the monitor on HDMI-0 stays alive while the one connected to DVI-1 shuts down, saying there’s no signal. The graphics card supports HDMI-0, DVI-0 and DVI-1.

Debug steps so far…

  1. Swapped through three DVI cables. All cables are good.
  2. Put second monitor on DVI-0, instead of DVI-1. All good til Leap starts up, i.e. motherboard splash screen and grub mirrored fine, then no signal.

I am using a KVM switch, so the config is:

desktop computer 1 with DVI-1 or DVI-0 to KVM, shuts off once Leap starts
desktop computer 2 to KVM, always works

monitor 1 always to HDMI-0, always works
monitor 2 on KVM, to switch between desktop computer 1 and desktop computer 2, always works for desktop computer 2, but will only work for motherboard splash and grub for desktop computer 1 on DVI-1 or DVI-0

  1. Connecting monitor 2 directly to DVI-1 or DVI-0, bypassing the KVM altogether, always works, i.e. motherboard splash, grub, Leap to monitor 1 and monitor 2. I can conclude from this that the graphics card is indeed outputting correctly and starting Leap doesn’t change anything. But why would going through a KVM cause “no signal”, just on coincidence, when Leap starts up? (I could try delaying the boot to Leap by selecting Advance options to see if it’s a timing thing.)
  2. Once Leap does finish booting, monitor 2 isn’t detected, basically giving the impression that the monitor is off or disconnected, even though it was attached and worked for the motherboard splash and grub.

**1. Am I experiencing a timing coincidence and the KVM is at fault?

  1. When desktop computer 2’s DVI cable is attached to either KVM input DVI’s, it works fine. Is there some weird signal threshold that is no longer being met, that used to work?

  2. Is there something new in the grub to Leap hand off that triggers a monitor detect that the KVM can’t handle?**

Any ideas?

My system is updated daily, so has the latest patches.

System:

Kernel Version: 5.3.18-lp152.106-default 64-bit
X.Org: Vendor Release 1.20.3, Version 11.0
AMD/ATI Hawaii PRO [Radeon R9 290/390]

Graphics-related updates (that should matter):

December 15, 2021

xorg-x11-server 1.20.3
xorg-x11-server-extra 1.20.3
xorg-x11-server-wayland 1.20.3

Does running xrandr --output DVI-0 --auto change any behavior?

Does opening some alternate DE session (e.g. IceWM) produce different behavior?

If using Plasma, does disabling KScreen in background autostart settings change anything?

No, and xrandr says this:

DVI-D-0 disconnected (normal left inverted right x axis y axis) 
DVI-D-1 disconnected (normal left inverted right x axis y axis)

Sequence of events:

  1. motherboard splash screen
  2. grub, starts countdown to 0 seconds
  3. monitor says “no signal” and goes to sleep at 0 seconds
  4. Leap startup with Leap splash screen

I have not tried and am thinking it isn’t dependent on the desktop environment as the monitor shuts down before the that starts up.

I have KScreen off and used arandr to configure my dual monitor setup. The arandr.conf.sh script runs “Before session startup”, as before, when things were still working.


I am beginning to suspect that the signal strength going from desktop computer 1 to KVM isn’t strong enough?

desktop computer 1 directly to monitor 2, works

desktop computer 2 directly to monitor 2, works

desktop computer 2 to KVM port 1 to monitor 2, works
desktop computer 2 to KVM port 2 to monitor 2, works

desktop computer 1 to KVM port 1 to monitor 2, doesn’t work
desktop computer 1 to KVM port 2 to monitor 2, doesn’t work

The KVM seems to work fine to get the signal output from desktop computer 2 to monitor 2.

Maybe the signal from desktop computer 1 to KVM (either port) isn’t strong enough, so subsequent KVM to monitor 2 doesn’t work?

Or is monitor 2 to KVM, with display info, not continuing onto KVM to desktop computer 1, so desktop computer 1 ignores the display and monitor 2 shuts down?

[quote="“linuxvinh,post:3,topic:149029”]

No, and xrandr says this:

DVI-D-0 disconnected (normal left inverted right x axis y axis) 
DVI-D-1 disconnected (normal left inverted right x axis y axis)

[/QUOTE]Is that all the output? Neither of those two match your comment #1 output names. The command probably needs to be run again with the name found in Xorg.0.log or xrandr output. Please provide input and output complete from:

xrandr --listproviders
grep onnect /var/log/Xorg.0.log

The usage of DVI-0 and DVI-1 were only used to differentiate the two DVI ports, not the device names used by the OS. I used DVI-D-0 and DVI-D-1 with xandr.

% xrandr --listproviders
[FONT=monospace]Providers: number : 1 
Provider 0: id: 0x59; cap: 0xf (Source Output, Sink Output, Source Offload, Sin
k Offload); crtcs: 6; outputs: 4; associated providers: 0; name: AMD Radeon R9 
200 Series @ pci:0000:0a:00.0 
    output DisplayPort-0 
    output HDMI-A-0 
    output DVI-D-0 
    output DVI-D-1
[/FONT]
% grep onnect /var/log/Xorg.0.log 
    87.844] (II) AMDGPU(0): Output DisplayPort-0 disconnected 
    87.844] (II) AMDGPU(0): Output HDMI-A-0 connected 
    87.844] (II) AMDGPU(0): Output DVI-D-0 disconnected 
    87.844] (II) AMDGPU(0): Output DVI-D-1 disconnected

% xrandr
Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 16384 x 16384 
DisplayPort-0 disconnected primary (normal left inverted right x axis y axis) 
HDMI-A-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518
mm x 324mm 
   1920x1200     59.95*+ 
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97   
 23.98   
   1600x1200     60.00   
   1680x1050     59.95   
   1280x1024     75.02    60.02   
   1440x900      59.95   
   1280x800      59.95   
   1152x864      75.00   
   1280x720      60.00    50.00    59.94   
   1024x768      75.03    60.00   
   800x600       75.00    60.32   
   720x576       50.00   
   720x480       60.00    59.94   
   640x480       75.00    60.00    59.94   
   720x400       70.08

% xrandr --output DVI-D-0

(generated nothing)

It seems like once grub takes over and boots, monitor 2 is no longer recognized as being connected. The KVM does pass through the signal for the motherboard splash and grub before this, but once GNU/Linux starts booting, the monitor has gone to sleep from the “no signal”.

All the DVI cables are bi-directional. The KVM (Belkin F1DD102L) says it supports bi-directional DVI as well.

This all used to work.

There’s nothing in the early boot that would poll the monitors and perhaps, if the monitor doesn’t provide a strong enough signal, tell the graphics card to shut down the port, which then causes the monitor to turn off, and the OS to boot without the port active? (This is going on the idea that the signal from the monitor is somehow weaker/different than when it was working, just days ago.)

It didn’t conform to the instruction, which had I known your correct output names, would have been:

xrandr --output DVI-D-0 --auto

Quoting one of the *SUSE X developers:

“xrandr --auto” was meant as workaround to possibly enable the outputs of second card again - at all.
Your situation isn’t a match, but maybe it will help anyway.

If no help, try appending this to your linu line in Grub:

video=DVI-D-0:D

If it doesn’t help, try again this way:

video=DVI-D-0:1920x1200D

(or whatever mode is needed/wanted on that display)

Reference to video= is here, where you’ll see other possible options.

I did…

xrandr --output DVI-D-0 --auto

…and nothing happened.

I added to grub via YaST Boot Loader, Kernel Parameters, Optional Kernel Command Line Parameter…

video=DVI-D-0:D

then

video=DVI-D-0:2560x1440D

…and monitor 2 still turned off when the OS starts to load. This was still going through the KVM.


After boot and with only HDMI-A-0 working, I disconnected the DVI cable from the KVM and directly connected it to DVI-D-0.

xrandr --output DVI-D-0 --auto

This activated DVI-D-0 with the right resolution of 2560x1440, but with a mirror of HDMI-A-0 desktop (1920x1200) on the top-left.

I disconnected the direct connect from DVI-D-0 to monitor 2 and restored the DVI-D-0 to KVM port 1 to monitor 2. When I checked xrandr…

% xrandr
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 16384 x 16384 
DisplayPort-0 disconnected primary (normal left inverted right x axis y axis) 
HDMI-A-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm 
   1920x1200     59.95*+ 
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97   
 23.98   
   1600x1200     60.00   
   1680x1050     59.95   
   1280x1024     75.02    60.02   
   1440x900      59.95   
   1280x800      59.95   
   1152x864      75.00   
   1280x720      60.00    50.00    59.94   
   1024x768      75.03    60.00   
   800x600       75.00    60.32   
   720x576       50.00   
   720x480       60.00    59.94   
   640x480       75.00    60.00    59.94   
   720x400       70.08
DVI-D-0 disconnected 2560x1440+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 
  2560x1440 (0x169) 241.500MHz +HSync -VSync 
        h: width  2560 start 2608 end 2640 total 2720 skew    0 clock  88.79KHz 
        v: height 1440 start 1443 end 1448 total 1481           clock  59.95Hz
[FONT=monospace]DVI-D-1 disconnected (normal left inverted right x axis y axis) 
[/FONT]

It seems as soon as I disconnected the monitor, the system recognized that, retained the info about DVI-D-0, but going through the KVM setup still had problems passing the signal through.

xrandr --output DVI-D-0 --auto

The auto didn’t work.

It’s beginning to look like there’s something wrong with the KVM?

My next goal is to try to set DVI-D-0 to a different resolution upon boot, via grub, and maybe that will tell us something, like perhaps being able to handle 2560x1440 no longer works via KVM?

Thanks for your advice so far, mrmazda! I was really at a loss on how to debug…

After playing with switching graphics card DVI ports (DVI-D-0 to DVI-D-1), while things are still going through the KVM…

In grub kernel command line…

video=DVI-D-1:2560x1440D

Which produced this in dmesg…

    5.532272] [drm] forcing DVI-D-1 connector on 
    5.705059] [drm:amdgpu_dm_connector_mode_valid [amdgpu]] *ERROR* No EDID firmware found on connector: DVI-D-1 ,forcing to OFF! 
    5.705181] [drm:amdgpu_dm_connector_mode_valid [amdgpu]] *ERROR* No EDID firmware found on connector: DVI-D-1 ,forcing to OFF!

…which seems to indicate that the grub video option tried to turn on DVI-D-1 but monitor 2, through the KVM, did not receive monitor 2 info.

This looks like a tantalizing clue.

I think what I want is an EDID binary file to tell the kernel about monitor 2.

Research links:
https://bugs.freedesktop.org/show_bug.cgi?id=107414https://askubuntu.com/questions/201081/how-can-i-make-linux-behave-better-when-edid-is-unavailable
https://wiki.archlinux.org/title/Kernel_mode_setting
https://wiki.debian.org/RepairEDID

If I connect monitor 2 directly to DVI-D-1, everything works, which through xrandr --verbose, I can get the EDID has readable hex.

(example from HDMI-A-1 since DVI-D-1, through KVM, was forced off)

        EDID:  
                00ffffffffffff0010acbaa04c445930 
                2e1a010380342078ea0495a9554d9d26 
                105054a54b00714f8180a940d1c0d100 
                010101010101283c80a070b023403020 
                360006442100001e000000ff00434656 
                394e3642383059444c0a000000fc0044 
                454c4c2055323431350a2020000000fd 
                00313d1e5311000a202020202020014a 
                020322f14f9005040302071601141f12 
                132021222309070765030c0010008301 
                0000023a801871382d40582c45000644 
                2100001e011d8018711c1620582c2500 
                06442100009e011d007251d01e206e28 
                550006442100001e8c0ad08a20e02d10 
                103e9600064421000018000000000000 
                00000000000000000000000000000082

Now, after searching for a bit, I haven’t been able to figure out how to convert xrandr --verbose EDID info into a binary .bin format.

I’ve tried installing read-edid, to get get-edid and parse-edid, available via YaST.

% get-edid  
This is read-edid version 3.0.2. Prepare for some fun. 
Attempting to use i2c interface 
Looks like no busses have an EDID. Sorry! 
Attempting to use the classical VBE interface 
Illegal instruction (core dumped)

My goal, now, is to add something like this to grub…

drm.edid_firmware=DVI-D-1:edid/edid.bin video=DVI-D-1:2560x1440D

…where edid/edid.bin lives in /usr/lib/firmware (under ArchLinux, same in openSUSE?)

(drm.edid_firmware flag since kernel is 5.3.18-lp152.106-default, which is greater than 4.13, which uses drm_kms_helper.edid_firmware flag)

Since I’m using a KVM, it seems likely that the EDID isn’t getting passed properly, at least between the graphics card DVI-D-1<->KVM<->monitor 2. It used to work, for almost two years, but something definitely has changed and it seems like setting it with EDID is the path to go?

Anyone with experience with wxEDID? Or converting xrandr --verbose EDID info into binary?

Thanks!

Try:

xrandr --output HDMI-A-0 --primary --output DVI-D-0 --auto --right-of HDMI-A-0

This works as expected, to set monitor locations. Thanks!

You’re welcome! It’s always nice to know when an attempt to help produces a working solution!

For EDID…

xrandr --verbose

…which gave me EDID for DVI-D-1 of…

EDID:  
                00ffffffffffff0015c3512517461402 
                28190103803c2278ea1df5ae4f35b325 
                0d5054a10800a94081808140d1c00101 
                010101010101565e00a0a0a029503020 
                350055502100001a283c80a070b02340 
                3020360055502100001a000000fd0017 
                3f1a5919000a202020202020000000fc 
                0043473237370a20202020202020006e

…which seems really short compared to HDMI-A-1…

EDID:
                00ffffffffffff0010acbaa04c445930 
                2e1a010380342078ea0495a9554d9d26 
                105054a54b00714f8180a940d1c0d100 
                010101010101283c80a070b023403020 
                360006442100001e000000ff00434656 
                394e3642383059444c0a000000fc0044 
                454c4c2055323431350a2020000000fd 
                00313d1e5311000a202020202020014a 
                020322f14f9005040302071601141f12 
                132021222309070765030c0010008301 
                0000023a801871382d40582c45000644 
                2100001e011d8018711c1620582c2500 
                06442100009e011d007251d01e206e28 
                550006442100001e8c0ad08a20e02d10 
                103e9600064421000018000000000000 
                00000000000000000000000000000082

I took DVI-D-1 EDID and made a text file, edidDVI-D-1.txt, contents of…

[FONT=monospace]00ffffffffffff0015c351251746140228190103803c2278ea1df5ae4f35b3250d5054a10800a94081808140d1c00101010101010101565e00a0a0a029503020350055502100001a283c80a070b023403020360055502100001a000000fd00173f1a5919000a202020202020000000fc00434732373701a20202020202020006e
[/FONT]

…then used…

% xxd -r -p edidDVI-D-1.txt edidDVI-D-1.bin

To check…

% parse-edid < edidDVI-D-1.bin
Checksum Correct 

Section "Monitor" 
        Identifier "CG277" 
        ModelName "CG277" 
        VendorName "ENC" 
        # Monitor Manufactured week 40 of 2015 
        # EDID version 1.3 
        # Digital Display 
        DisplaySize 600 340 
        Gamma 2.20 
        Option "DPMS" "true" 
        Horizsync 26-89 
        VertRefresh 23-63 
        # Maximum pixel clock is 250MHz 
        #Not giving standard mode: 1600x1200, 60Hz 
        #Not giving standard mode: 1280x1024, 60Hz 
        #Not giving standard mode: 1280x960, 60Hz 
        #Not giving standard mode: 1920x1080, 60Hz 
        Modeline        "Mode 0" +hsync -vsync  
        Modeline        "Mode 1" +hsync -vsync  
EndSection

…which falls well short of all the available modes reported by xrandr. HDMI-A-1’s EDID looks like this in comparison…

% parse-edid < edidHDMI-A-1.bin 
Checksum Correct 

Section "Monitor" 
        Identifier "DELL U2415" 
        ModelName "DELL U2415" 
        VendorName "DEL" 
        # Monitor Manufactured week 46 of 2016 
        # EDID version 1.3 
        # Digital Display 
        DisplaySize 520 320 
        Gamma 2.20 
        Option "DPMS" "true" 
        Horizsync 30-83 
        VertRefresh 49-61 
        # Maximum pixel clock is 170MHz 
        #Not giving standard mode: 1152x864, 75Hz 
        #Not giving standard mode: 1280x1024, 60Hz 
        #Not giving standard mode: 1600x1200, 60Hz 
        #Not giving standard mode: 1920x1080, 60Hz 
        #Not giving standard mode: 1920x1200, 60Hz 

        #Extension block found. Parsing... 
        Modeline        "Mode 16" +hsync +vsync  
        Modeline        "Mode 0" +hsync +vsync  
        Modeline        "Mode 1" 148.500 1920 2008 2052 2200 1080 1084 1089 112
5 +hsync +vsync 
        Modeline        "Mode 2" 74.250 1920 2008 2052 2200 1080 1082 1087 1125
 +hsync +vsync interlace 
        Modeline        "Mode 3" 74.250 1280 1390 1420 1650 720 725 730 750 +hs
ync +vsync 
        Modeline        "Mode 4" 27.027 720 736 798 858 480 489 495 525 -hsync 
-vsync 
        Modeline        "Mode 5" 27.027 720 736 798 858 480 489 495 525 -hsync 
-vsync 
        Modeline        "Mode 6" 27.027 1440 1478 1602 1716 480 484 487 525 -hs
ync -vsync interlace 
        Modeline        "Mode 7" 27.000 1440 1464 1590 1728 576 578 581 625 -hs
ync -vsync interlace 
        Modeline        "Mode 8" 25.200 640 656 752 800 480 490 492 525 -hsync 
-vsync 
        Modeline        "Mode 9" 74.250 1920 2448 2492 2640 1080 1082 1089 1125
 +hsync +vsync interlace 
        Modeline        "Mode 10" 148.500 1920 2448 2492 2640 1080 1084 1089 11
25 +hsync +vsync 
        Modeline        "Mode 11" 27.000 720 732 796 864 576 581 586 625 -hsync
 -vsync 
        Modeline        "Mode 12" 74.250 1280 1720 1760 1980 720 725 730 750 +h
sync +vsync 
        Modeline        "Mode 13" 74.250 1920 2558 2602 2750 1080 1084 1089 112
5 +hsync +vsync 
        Modeline        "Mode 14" 74.250 1920 2448 2492 2640 1080 1084 1089 112
5 +hsync +vsync 
        Modeline        "Mode 15" 74.250 1920 2008 2052 2200 1080 1084 1089 112
5 +hsync +vsync 
        Modeline        "Mode 17" +hsync +vsync interlace 
        Modeline        "Mode 18" +hsync +vsync  
        Modeline        "Mode 19" -hsync -vsync  
        Option "PreferredMode" "Mode 16" 
EndSection

Basically, the EDID looks incorrect.

So, one problem I’m currently facing is that I can’t get the proper EDID, even with monitor 2 directly connected to DVI-D-1.


The other problem I’m curious about is where to put the EDID binary file for grub Kernel command line to find.
/lib/firmware/edid seems like the likely place, as** /lib/firmware** exists, whereas /usr/lib/firmware, referenced in some docs, doesn’t with openSUSE.

/lib/firmware/edid/edidDVI-D-1.bin is ultimately what I settled upon, but dmesg…

    5.470960] [drm] forcing DVI-D-1 connector on 
    5.471023] platform DVI-D-1: Direct firmware load for edid/edidDVI-D-1.bin failed with error -2 
    5.471064] [drm:edid_load [drm]] *ERROR* Requesting EDID firmware "edid/edidDVI-D-1.bin" failed (err=-2)

So the binary isn’t in the right place or the binary is bad?

Sadly, I’m still struggling with DVI-D-0 or DVI-D-1 to monitor 2 working through the KVM…

Current connection DVI-D-1 <-> KVM port 1 <-> monitor 2

Should xrandr be able to turn on outputs regardless of whether a cable is connected or not? i.e. force turn on no matter what?

An odd thing I’m finding is even if DVI-D-1 has a cable connected,

xrandr --output DVI-D-1 --auto

still says…

DVI-D-1 disconnected (normal left inverted right x axis y axis)

…with a follow-up xrandr.

Well, since I only have to do it once in the morning… the hacky workaround…

  1. Boot to HDMI-A-0 with HDMI-A-0 and DVI-D-1 connected to KVM, with DVI-D-1 “disconnected” according to the OS
  2. Disconnect monitor 2 from KVM and connect to DVI-D-1 (basically DVI-D-1 <-> monitor 2, bypassing KVM altogether)
  3. xrandr --output HDMI-A-0 --primary --output DVI-D-1 --auto --left-of HDMI-A-0
  4. Connect monitor 2 back to KVM, DVI-D-1 to KVM

monitor 2, at this point, according to xrandr, is still “disconnected” and displays nothing, but it’s virtually there…

DVI-D-1 disconnected 2560x1440+0+0 (normal left inverted right x axis y axis) 0
mm x 0mm 
  2560x1440 (0x192) 241.500MHz +HSync -VSync 
        h: width  2560 start 2608 end 2640 total 2720 skew    0 clock  88.79KHz 
        v: height 1440 start 1443 end 1448 total 1481           clock  59.95Hz

I have a use for this, even if I can’t see the display.

To summarize, it’s possible to use xrandr to initialize the graphics card to use DVI-D-1 (or DVI-D-0), if monitor 2 is directly connected. Once going through the KVM, monitor 2 is no longer recognized as being connected. I tried two different cables with the same result.

Still searching for a solution…

amdgpu.dc = 0 in the grub Kernel command line allows monitor2 to work, but what does this ultimately mean in terms of toggling on/off features?

In post #15, I listed my workaround that required unplugging and plugging in the cables between the KVM and DVI-D-1 directly. It was cumbersome. I’ve adopted doing this instead…

xrandr --newmode "2560x1440" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hs[FONT=monospace]ync -vsync
[/FONT]xrandr --addmode DVI-D-1 "2560x1440"
xrandr --output HDMI-A-0 --primary --output DVI-D-1 --mode "2560x1440" --left-of HDMI-A-0
  • The first line adds the 2560x1440 mode that my monitor accepts.
  • The second line adds the mode to DVI-D-1. (There’s a -d xrandr flag that supposed to allow the first line to define the newmode for DVI-D-1, but with the monitor considered “disconnected”, it won’t allow it.)
  • The third line turns on both displays, sets HDMI-A-0 to primary, DVI-D-1 to use 2560x1440 mode and to be left of HDMI-A-0.

xrandr still reports that DVI-D-1 is “disconnected” so the display is blank, as the graphics card isn’t outputting.

Is there a way to force output, whether the display is actually “disconnected” or not?

/etc/X11/xorg.con* might do it. Getting it right with multiple displays is tricky business I never got fully understood. Hwinfo --monitor should produce something similar to the following:

    Vert. Sync Range: 55-75 Hz
    Hor. Sync Range: 30-80 kHz

X will calculate modelines from these thus:

Section "Monitor"
  Identifier "Monitor[2]"
  HorizSync 30-80
  VertRefresh 55-75
EndSection

I am seriously rusty on use of xorg.con* with multiple displays, since I’ve found xrandr to be much simpler and have not often attempted use of xorg.con* in recent years. These references may be helpful in lieu:

Thank you again, @mrmazda, for taking the time to respond.

The solution in the previous post was derived from your suggestions.


I think I’ve finally settled upon a solution that requires the least effort on my part, and that is only adding…

amdgpu.dc=0

to Grub.

DVI-D-1 is seen as connected through the KVM, just like before.

DVI-D-1 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 597m
m x 336mm

This also means no video or edid helpers Grub commands I’ve tried in previous posts. It’s just adding amdgpu.dc.

I am still unclear what the disadvantage this means by turning off AMD GPU DC, but this post only mentions something about sound control over DisplayPort…

The official Kernel and AMD page isn’t clear…

https://www.kernel.org/doc/html/latest/gpu/amdgpu-dc.html

And it seems like kernel updates toggle on/off DC by default, so perhaps amdgpu.dc was 0 before and a recent update toggled it to 1.