You are not logged in.

#1 2025-02-08 19:22:23

Kepis
Member
Registered: 2021-12-15
Posts: 82

[Solved]: Kernel 6.9 removes some refresh rate options

Hello,
I'm using an eDP display (120Hz) from https://www.lenovo.com/us/en/p/laptops/ … 8ips501619 (my laptop lacks the Nvidia GPU). I was using the LTS kernel, so I didn't notice any issues until recently, when there was a bump from 6.6 base to 6.12. After that I tried installing different versions of the mainline kernel to find the start of the issue.

Since the update from kernel 6.8.9 to 6.9 I can see only 60Hz and 120Hz refreshrate options using

swaymsg -t get_outputs

. Whereas on 6.8.9 I can also see 50Hz and 48Hz options, which I prefer using to save on battery.

If there is a place with intermediary kernel builds I can try those, but I would like to avoid compiling the entire kernel myself for every bisect point (also bisecting with multiple branches still goes a little over my head).

Last edited by Kepis (2025-02-12 18:25:48)

Offline

#2 2025-02-11 20:53:45

gromit
Package Maintainer (PM)
From: Germany
Registered: 2024-02-10
Posts: 1,027
Website

Re: [Solved]: Kernel 6.9 removes some refresh rate options

If you want I can prebuild the kernels for you smile

Before we go that route, could you test that the issue is not yet fixed in the latest mainline kernel?

sudo pacman -U https://pkgbuild.com//\~gromit/linux-bisection-kernels/linux-mainline-6.14rc2-1-x86_64.pkg.tar.zst

This way we don't start investigating a bug in detail which may already be fixed in a newer version ..

(note that this installs the kernel as linux-mainline, so you need to configure your bootloader to boot it (for example via grub-mkconfig -o ... or by writing the systemd-boot loader entry))

Last edited by gromit (2025-02-11 20:54:54)

Offline

#3 2025-02-12 09:16:45

seth
Member
Registered: 2012-09-03
Posts: 61,637

Re: [Solved]: Kernel 6.9 removes some refresh rate options

Does the edid actually advertise those modes?

for OUT in /sys/class/drm/card*; do echo $OUT; edid-decode $OUT/edid; echo "================="; done

You'll need https://github.com/timvideos/edid-decode/ (not yet in v4l-utils and the AUR package is unfortunately gone)

Offline

#4 2025-02-12 10:34:25

Kepis
Member
Registered: 2021-12-15
Posts: 82

Re: [Solved]: Kernel 6.9 removes some refresh rate options

gromit wrote:

Before we go that route, could you test that the issue is not yet fixed in the latest mainline kernel?

Unfortunately, the issue appears to be still present.

seth wrote:

Does the edid actually advertise those modes?

If "Monitor ranges" is the indicator, then I think it does:

/sys/class/drm/card1
/sys/class/drm/card1/edid: No such file or directory
=================
/sys/class/drm/card1-DP-1
No header found
=================
/sys/class/drm/card1-eDP-1
EDID version: 1.4
Manufacturer: BOE Model ac1 Serial Number 0
Made in week 39 of 2021
Digital display
10 bits per primary color channel
DisplayPort interface
Maximum image size: 34 cm x 21 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4
First detailed timing includes the native pixel format and preferred refresh rate
Display is continuous frequency
Display x,y Chromaticity:
  Red:   0.6464, 0.3242
  Green: 0.2890, 0.6191
  Blue:  0.1484, 0.0615
  White: 0.3134, 0.3291
Established timings supported:
Standard timings supported:
Detailed mode: Clock 276.790 MHz, 344 mm x 215 mm
               2560 2608 2640 2720 hborder 0
               1600 1603 1609 1696 vborder 0
               -hsync -vsync 
               VertFreq: 60 Hz, HorFreq: 101761 Hz
Monitor ranges (bare limits): 48-120Hz V, 204-204kHz H, max dotclock 550MHz
ASCII string: BOE CQ
ASCII string: NE160QDM-NY2
Has 1 extension blocks
Checksum: 0xc7 (valid)

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

DisplayID Extension Block
Length 121, version 1.3, extension count 0
Type 1 Detailed Timings Block
  Aspect 16:10, preferred, no 3D stereo
  Detailed mode: Clock 553.570 MHz, 0 mm x 0 mm
                 2559 2606 2637 2718
                 1599 1601 1606 1694
                 -hsync -vsync
Checksum: 0x22 (valid)
=================
/sys/class/drm/card1-HDMI-A-1
No header found
=================

Last edited by Kepis (2025-02-12 10:43:47)

Offline

#5 2025-02-12 10:42:19

seth
Member
Registered: 2012-09-03
Posts: 61,637

Re: [Solved]: Kernel 6.9 removes some refresh rate options

No isn't - but that's not the output of edid-decode either?

cat /sys/class/drm/card1-eDP-1/edid | curl -F 'file=@-' 0x0.st

Offline

#6 2025-02-12 13:49:46

Kepis
Member
Registered: 2021-12-15
Posts: 82

Re: [Solved]: Kernel 6.9 removes some refresh rate options

seth wrote:

No isn't - but that's not the output of edid-decode either?

curl upload file

I used the git repo on github to compile it, not the one in their readme, because that one has only the readme file in it. Maybe there is a more updated branch or sth?

Last edited by Kepis (2025-02-12 13:50:13)

Offline

#7 2025-02-12 15:00:31

seth
Member
Registered: 2012-09-03
Posts: 61,637

Re: [Solved]: Kernel 6.9 removes some refresh rate options

edid-decode (hex):

00 ff ff ff ff ff ff 00 09 e5 c1 0a 00 00 00 00
27 1f 01 04 b5 22 15 78 03 82 35 a5 53 4a 9e 26
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 1f 6c 00 a0 a0 40 60 60 30 20
36 00 58 d7 10 00 00 18 00 00 00 fd 00 30 78 cc
cc 37 01 0a 20 20 20 20 20 20 00 00 00 fe 00 42
4f 45 20 43 51 0a 20 20 20 20 20 20 00 00 00 fe
00 4e 45 31 36 30 51 44 4d 2d 4e 59 32 0a 01 c7

70 13 79 00 00 03 01 14 3d d8 00 85 ff 09 9f 00
2f 00 1f 00 3f 06 5f 00 02 00 05 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 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 22 90

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

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: BOE
    Model: 2753
    Made in: week 39 of 2021
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 34 cm x 21 cm
    Gamma: 2.20
    Supported color formats: RGB 4:4:4
    First detailed timing includes the native pixel format and preferred refresh rate
    Display is continuous frequency
  Color Characteristics:
    Red  : 0.6464, 0.3242
    Green: 0.2890, 0.6191
    Blue : 0.1484, 0.0615
    White: 0.3134, 0.3291
  Established Timings I & II: none
  Standard Timings: none
  Detailed Timing Descriptors:
    DTD 1:  2560x1600   60.000607 Hz   8:5    101.761 kHz    276.790000 MHz (344 mm x 215 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol N
                 Vfront    3 Vsync   6 Vback   87 Vpol N
    Display Range Limits:
      Monitor ranges (Bare Limits): 48-120 Hz V, 204-204 kHz H, max dotclock 550 MHz
    Alphanumeric Data String: 'BOE CQ'
    Alphanumeric Data String: 'NE160QDM-NY2'
  Extension blocks: 1
Checksum: 0xc7

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

Block 1, DisplayID Extension Block:
  Version: 1.3
  Extension Count: 0
  Display Product Type: Extension Section
  Video Timing Modes Type 1 - Detailed Timings Data Block:
    DTD:  2560x1600  120.001214 Hz  16:10   203.522 kHz    553.580000 MHz (aspect 16:10, no 3D stereo, preferred)
               Hfront   48 Hsync  32 Hback   80 Hpol N
               Vfront    3 Vsync   6 Vback   87 Vpol N
  Checksum: 0x22
Checksum: 0x90

Is the file the same on the working kernels?
The edid only announces two modelines, the other ones are probably now intentionally filtered (I remember having seen an lkml thread talking about damaged panels causing such)
You'd probably have to inject a customized edid for other modelines, https://wiki.archlinux.org/title/Kernel … s_and_EDID

Offline

#8 2025-02-12 15:44:42

Kepis
Member
Registered: 2021-12-15
Posts: 82

Re: [Solved]: Kernel 6.9 removes some refresh rate options

seth wrote:

Is the file the same on the working kernels?

If you're referring to the output of the edid-decode command, then yes - outputs when running 6.6.72-lts and 6.14rc2 are the same.

Offline

#9 2025-02-12 15:51:35

seth
Member
Registered: 2012-09-03
Posts: 61,637

Re: [Solved]: Kernel 6.9 removes some refresh rate options

I'd rather look at the md5 hash of the edid, but you're likely victim of this protection.

Offline

#10 2025-02-12 16:11:11

Kepis
Member
Registered: 2021-12-15
Posts: 82

Re: [Solved]: Kernel 6.9 removes some refresh rate options

Just tried

md5sum /sys/class/drm/card1-eDP-1/edid

on both kernels and the output is indeed the same.

When you mentioned damaged panels, does that mean that the kernel was allowing the refreshrate modes without them actually being available? Since this is already a replacement screen that I'm using (but the previous model was just 60Hz - not related to this issue), I wouldn't want to risk having to get another replacement.

Last edited by Kepis (2025-02-12 16:11:59)

Offline

#11 2025-02-12 16:41:19

seth
Member
Registered: 2012-09-03
Posts: 61,637

Re: [Solved]: Kernel 6.9 removes some refresh rate options

Yes, though better panels would just respond to a bogus modeline by turning off or going to a default rate.
Have you actually ever measure the different voltages between 50Hz and 60Hz?

Offline

#12 2025-02-12 18:24:44

Kepis
Member
Registered: 2021-12-15
Posts: 82

Re: [Solved]: Kernel 6.9 removes some refresh rate options

seth wrote:

Yes, though better panels would just respond to a bogus modeline by turning off or going to a default rate.
Have you actually ever measure the different voltages between 50Hz and 60Hz?

I've only made some observations of the effects on power through checking the changes in my battery draw. Although, now that I've checked again, I don't know where I had seen the difference - now I saw only around 0.5W difference.

In regards to the the display defaulting to a valid modeline, I suppose I experience this in some way - on the old kernel I can set the refresh rate and test webpages confirm the refreshrate is at 48Hz. But when I power the display (swaymsg eDP-1 power) off and back on, it jumps back to 120Hz. That's probably a sign.

In any case, I now see that the lower refreshrate didn't bring any valuable benefits, rather a potential damage to the panel. Thank you for the quick help and explanatation.

Offline

Board footer

Powered by FluxBB