X.org works on <= 14.3, unusable on >= 14.4

Dag-Erling Smørgrav <[email protected]> Mon, 03 Aug 2026 20:55:45 +0200
Newsgroups gmane.os.freebsd.devel.x11
Message-ID <[email protected]>
I have a Lenovo ThinkVision with an Intel Core i7-10700T with integrated
graphics and dual Lenovo ThinkVision monitors connected using DP.  This
has been working beautifully for several years, up to and including
14.3, using i915kms and the modesetting driver (no xorg.conf).  Current
package versions:

    xorg-server-21.1.24,1
    drm-61-kmod-6.1.128.1403000_10
    gpu-firmware-intel-kmod-kabylake-20260519.1403000

(no, I don't know why it's using Kaby Lake firmware on a Comet Lake CPU,
I have all the flavors installed and this is the one it picks)

Starting with 14.4, I can still start X but the display flickers on
every update, which renders it unusable with anything even moderately
graphics-intensive, including `tail -F /var/log/Xorg.0.log` in a
terminal.  It appears that each time it flickers it also dumps EDID and
modeline information about my monitors to the log:

    [    67.784] (II) modeset(0): EDID vendor "LEN", prod id 25077
    [    67.784] (II) modeset(0): Using EDID range info for horizontal sync
    [    67.785] (II) modeset(0): Using EDID range info for vertical refresh
    [    67.785] (II) modeset(0): Printing DDC gathered Modelines:
    [    67.785] (II) modeset(0): Modeline "2560x1440"x0.0  241.50  2560 26=
08 2640 2720  1440 1443 1448 1481 +hsync -vsync (88.8 kHz eP)
    [    67.785] (II) modeset(0): Modeline "1280x720"x0.0   74.25  1280 139=
0 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz e)
    [    67.785] (II) modeset(0): Modeline "2560x1440"x0.0  299.00  2560 26=
08 2640 2720  1440 1443 1448 1470 +hsync -vsync (109.9 kHz e)
    [    67.785] (II) modeset(0): Modeline "640x480"x0.0   25.18  640 656 7=
52 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
    [    67.785] (II) modeset(0): Modeline "720x480"x0.0   27.00  720 736 7=
98 858  480 489 495 525 -hsync -vsync (31.5 kHz e)
    [    67.785] (II) modeset(0): Modeline "1280x720"x0.0   74.25  1280 172=
0 1760 1980  720 725 730 750 +hsync +vsync (37.5 kHz e)
    [    67.785] (II) modeset(0): Modeline "1920x1080"x0.0  148.50  1920 20=
08 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz e)
    [    67.785] (II) modeset(0): Modeline "1920x1080"x0.0  148.50  1920 24=
48 2492 2640  1080 1084 1089 1125 +hsync +vsync (56.2 kHz e)
    [    67.785] (II) modeset(0): Modeline "720x576"x0.0   27.00  720 732 7=
96 864  576 581 586 625 -hsync -vsync (31.2 kHz e)
    [    67.785] (II) modeset(0): Modeline "800x600"x0.0   40.00  800 840 9=
68 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
    [    67.785] (II) modeset(0): Modeline "640x480"x0.0   31.50  640 656 7=
20 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
    [    67.785] (II) modeset(0): Modeline "640x480"x0.0   31.50  640 664 7=
04 832  480 489 492 520 -hsync -vsync (37.9 kHz e)
    [    67.785] (II) modeset(0): Modeline "640x480"x0.0   30.24  640 704 7=
68 864  480 483 486 525 -hsync -vsync (35.0 kHz e)
    [    67.785] (II) modeset(0): Modeline "720x400"x0.0   28.32  720 738 8=
46 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
    [    67.785] (II) modeset(0): Modeline "1280x1024"x0.0  135.00  1280 12=
96 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
    [    67.785] (II) modeset(0): Modeline "1024x768"x0.0   78.75  1024 104=
0 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
    [    67.785] (II) modeset(0): Modeline "1024x768"x0.0   75.00  1024 104=
8 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
    [    67.785] (II) modeset(0): Modeline "1024x768"x0.0   65.00  1024 104=
8 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
    [    67.785] (II) modeset(0): Modeline "832x624"x0.0   57.28  832 864 9=
28 1152  624 625 628 667 -hsync -vsync (49.7 kHz e)
    [    67.785] (II) modeset(0): Modeline "800x600"x0.0   49.50  800 816 8=
96 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
    [    67.785] (II) modeset(0): Modeline "800x600"x0.0   50.00  800 856 9=
76 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)
    [    67.785] (II) modeset(0): Modeline "1280x1024"x0.0  108.00  1280 13=
28 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
    [    67.785] (II) modeset(0): Modeline "1440x900"x0.0  106.50  1440 152=
0 1672 1904  900 903 909 934 -hsync +vsync (55.9 kHz e)
    [    67.785] (II) modeset(0): Modeline "1680x1050"x0.0  146.25  1680 17=
84 1960 2240  1050 1053 1059 1089 -hsync +vsync (65.3 kHz e)
    [    67.785] (II) modeset(0): Modeline "1920x1200"x0.0  193.25  1920 20=
56 2256 2592  1200 1203 1209 1245 -hsync +vsync (74.6 kHz e)
    [    67.785] (II) modeset(0): Modeline "1152x864"x0.0  108.00  1152 121=
6 1344 1600  864 865 868 900 +hsync +vsync (67.5 kHz e)

I tried playing with -logverbose but there is nothing else of any use in
the log, just an endless repetition of the above EDID and modeline
information.  Running the server with -logverbose 0 suppressed the log
spam but did not cure the flickering or the slowdown.

The monitors are currently daisy-chained using DisplayPort pass-through.
Connecting the second monitor directly using HDMI instead made no
difference.

I have tried:

 - 14.3 kernel, 14.3 world and packages - works
 - 14.4 kernel, 14.3 world and packages - does not work
 - 14.4 kernel, 14.4 world and packages - does not work
 - 15.1 kernel, 15.1 world and packages - does not work

Needless to say I'd like to get off 14.3 asap.

Any ideas?

DES
--=20
Dag-Erling Sm=C3=B8rgrav - [email protected]