*** DONE Resolved Issue: Lenovo x13 2-in-1 With Wrong 34" TFT Screen Resolution :issues:blog: CLOSED: [2025-09-14 Sun 17:13] SCHEDULED: <2025-09-14 Sun> :PROPERTIES: :CREATED: [2025-09-14 Sun 12:15] :ID: 2025-09-14-fix-wrong-34-TFT-resolution :END: :LOGBOOK: - State "DONE" from "DONE" [2025-10-05 Sun 17:43] - State "DONE" from "DONE" [2025-10-04 Sat 13:35] - State "DONE" from "STARTED" [2025-09-14 Sun 17:13] :END: # - [2025-09-14 Sun 12:15] ich dachte, ich hätte schon irgendwo einen Task dazu, finde ihn aber nicht. - Updates - 2025-10-04: - Test If Issue Relates to HW or SW → issue sticks to SSD when switched → *it's a software bug* - done: gdctl comparison - done: Compare BIOS settings - done: Compare GRUB settings - still: *different "Capabilities"* listed by =lspci -v= are probably the hottest candidate to the solution. - 2025-10-05: found and solve the issue Problem description: Lenovo x13 2-in-1 Gen 5 with Debian 13 GNOME 48: I can't select the native screen resolution for the external 34" TFT which is 2560x1080. Hostname = Cosmo. In the GNOME screen configuration dialog, I may only choose a resolution (among others) that is similar but not correct: 2560x1440 2025-10-05: TL;DR: For some particular package, I needed testing/unstable Debian sources on Jackson and pinned this package to testing or unstable. *Somehow, Jackson took all packages from Debian unstable*. So I got a newer kernel than Debian 13 stable/trixie on Jackson without realizing but not on Cosmo. It seems to be the case that the stable kernel from Debian 13 is not able to properly recognize the external TFT. By installing the newer kernel to Cosmo, *the external TFT now works with its native resolution*. I still need to figure out how to define the unstable package exception for the kernel only. This could have been much easier when I would have checked the kernel version right away. **** DONE Testing GRUB parameter CLOSED: [2025-10-04 Sat 14:20] :PROPERTIES: :END: :LOGBOOK: - State "DONE" from "STARTED" [2025-10-04 Sat 14:20] - State "STARTED" from "DONE" [2025-09-17 Wed 18:35] - State "DONE" from [2025-09-17 Wed 18:11] :END: I modified =/tmp/etc/default/grub= and added a video-parameter that did not change anythig: : GRUB_CMDLINE_LINUX_DEFAULT="quiet video=eDP-1:2560x1080@30" **** Testing Another, Almost Identical Device Testing a different Lenovo x13 2-in-1 Gen 5 (hostname = Jackson; same generation, different battery, i7 CPU instead of i5) with the same OS + GNOME: display resolution is detected and selected correctly! - [X] do a firmware-update - did install but did not fix the issue. - Firmware is now identical on both devices. ***** Compare output of =lspci -v= Cosmo: (wrong resolution) #+BEGIN_EXAMPLE 00:02.0 VGA compatible controller: Intel Corporation Meteor Lake-P [Intel Graphics] (rev 08) (prog-if 00 [VGA controller]) Subsystem: Lenovo Device 232a Flags: bus master, fast devsel, latency 0, IRQ 192, IOMMU group 0 Memory at 4058000000 (64-bit, prefetchable) [size=16M] Memory at 4000000000 (64-bit, prefetchable) [size=256M] Expansion ROM at 000c0000 [virtual] [disabled] [size=128K] Capabilities: [40] Vendor Specific Information: Len=0c Capabilities: [70] Express Root Complex Integrated Endpoint, IntMsgNum 0 Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit+ Capabilities: [d0] Power Management version 3 Capabilities: [100] Null Capabilities: [110] Process Address Space ID (PASID) Capabilities: [200] Address Translation Service (ATS) Capabilities: [420] Physical Resizable BAR Capabilities: [320] Single Root I/O Virtualization (SR-IOV) Capabilities: [400] Latency Tolerance Reporting Kernel driver in use: i915 Kernel modules: i915, xe #+END_EXAMPLE jackson: (resolution OK) #+BEGIN_EXAMPLE 00:02.0 VGA compatible controller: Intel Corporation Meteor Lake-P [Intel Graphics] (rev 08) (prog-if 00 [VGA controller]) Subsystem: Lenovo Device 232a Flags: bus master, fast devsel, latency 0, IRQ 192, IOMMU group 0 Memory at 4058000000 (64-bit, prefetchable) [size=16M] Memory at 4000000000 (64-bit, prefetchable) [size=256M] Expansion ROM at 000c0000 [virtual] [disabled] [size=128K] Capabilities: [40] Vendor Specific Information: Intel Capabilities v1 CapA: Peg60Dis- Peg12Dis- Peg11Dis- Peg10Dis- PeLWUDis- DmiWidth=x4 EccDis- ForceEccEn- VTdDis- DmiG2Dis- PegG2Dis- DDRMaxSize=Unlimited 1NDis- CDDis- DDPCDis- X2APICEn- PDCDis- IGDis- CDID=0 CRID=0 DDROCCAP+ OCEn- DDRWrtVrefEn+ DDR3LEn+ CapB: ImguDis- OCbySSKUCap- OCbySSKUEn- SMTCap- CacheSzCap 0x0 SoftBinCap- DDR3MaxFreqWithRef100=Disabled PegG3Dis- PkgTyp- AddGfxEn- AddGfxCap- PegX16Dis- DmiG3Dis- GmmDis- DDR3MaxFreq=2932MHz LPDDR3En- Capabilities: [70] Express Root Complex Integrated Endpoint, IntMsgNum 0 Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit+ Capabilities: [d0] Power Management version 3 Capabilities: [100] Null Capabilities: [110] Process Address Space ID (PASID) Capabilities: [200] Address Translation Service (ATS) Capabilities: [420] Physical Resizable BAR Capabilities: [320] Single Root I/O Virtualization (SR-IOV) Capabilities: [400] Latency Tolerance Reporting Kernel driver in use: i915 Kernel modules: i915, xe #+END_EXAMPLE So I've got the same graphics hardware, same kernel driver, same version. However, the difference is: #+BEGIN_EXAMPLE non-working host: Capabilities: [40] Vendor Specific Information: Len=0c vs. working host: Capabilities: [40] Vendor Specific Information: Intel Capabilities v1 CapA: Peg60Dis- Peg12Dis- Peg11Dis- Peg10Dis- PeLWUDis- DmiWidth=x4 EccDis- ForceEccEn- VTdDis- DmiG2Dis- PegG2Dis- DDRMaxSize=Unlimited 1NDis- CDDis- DDPCDis- X2APICEn- PDCDis- IGDis- CDID=0 CRID=0 DDROCCAP+ OCEn- DDRWrtVrefEn+ DDR3LEn+ CapB: ImguDis- OCbySSKUCap- OCbySSKUEn- SMTCap- CacheSzCap 0x0 SoftBinCap- DDR3MaxFreqWithRef100=Disabled PegG3Dis- PkgTyp- AddGfxEn- AddGfxCap- PegX16Dis- DmiG3Dis- GmmDis- DDR3MaxFreq=2932MHz LPDDR3En- #+END_EXAMPLE *This seems to be the most important hint, why those two devices differ*. However, I have no idea what to do next. ***** STARTED Find Out What This Difference Means and How to Get Cosmo to the Same Capabilities :PROPERTIES: :END: Any idea? Drop me a line. ***** DONE Test If Issue Relates to HW or SW CLOSED: [2025-10-04 Sat 13:35] :PROPERTIES: :END: :LOGBOOK: - State "DONE" from "TODO" [2025-10-04 Sat 13:35] :END: I switched SSDs between the two x13 devices I've got. The wrongly identified native screen resolution sticks to the SSD, not the actual hardware device. In other words: The issue does not relate to the hardware, *it relates to the booted operating system and its configuration*. ***** DONE Compare /etc between the two hosts CLOSED: [2025-09-17 Wed 18:36] :PROPERTIES: :END: :LOGBOOK: - State "DONE" from "TODO" [2025-09-17 Wed 18:36] :END: I did a comparison using "meld" of the two =/etc= hierarchies and did not find any obvious difference that could explain the situation. ***** DONE Using gdctl CLOSED: [2025-10-04 Sat 14:28] :PROPERTIES: :END: :LOGBOOK: - State "DONE" from "STARTED" [2025-10-04 Sat 14:28] :END: GNOME 48 has a new tool as an in-place replacement of =(x)randr= named =gdctl=. Here's the output for cosmo which shows the wrong "Current mode" for HDMI-1: #+BEGIN_EXAMPLE gdctl show Monitors: ├──Monitor HDMI-1 (LG Electronics 34") │ ├──Vendor: GSM │ ├──Product: LG ULTRAWIDE │ ├──Serial: 0x0002de64 │ ├──Current mode │ │ └──2560x1440@59.951 │ └──Preferences: │ └──Luminances: │ ├──default ⇒ 100.0 (default) (current) │ └──bt2100 ⇒ 100.0 (default) └──Monitor eDP-1 (Built-in display) ├──Vendor: AUO ├──Product: 0x6693 ├──Serial: 0x00000000 ├──Current mode │ └──1920x1200@60.026 └──Preferences: └──Luminances: └──default ⇒ 100.0 (default) (current) Logical monitors: ├──Logical monitor #1 │ ├──Position: (2560, 480) │ ├──Scale: 1.25 │ ├──Transform: 180 │ ├──Primary: no │ └──Monitors: (1) │ └──eDP-1 (Built-in display) └──Logical monitor #2 ├──Position: (0, 0) ├──Scale: 1.0 ├──Transform: normal ├──Primary: yes └──Monitors: (1) └──HDMI-1 (LG Electronics 34") #+END_EXAMPLE #+BEGIN_EXAMPLE user@cosmo ~ % gdctl show -m Monitors: ├──Monitor HDMI-1 (LG Electronics 34") │ ├──Vendor: GSM │ ├──Product: LG ULTRAWIDE │ ├──Serial: 0x0002de64 │ └──Modes (23) │ ├──3840x2160@30.000 │ ├──3840x2160@29.970 │ ├──3840x2160@25.000 │ ├──3840x2160@24.000 │ ├──3840x2160@23.976 │ ├──2560x1440@59.951 │ ├──1920x1080@60.000 │ ├──1920x1080@59.940 │ ├──1920x1080@50.000 │ ├──1680x1050@59.883 │ ├──1600x900@60.000 │ ├──1280x1024@75.025 │ ├──1280x1024@60.020 │ ├──1280x800@59.910 │ ├──1280x720@60.000 │ ├──1280x720@59.940 │ ├──1280x720@50.000 │ ├──1024x768@75.029 │ ├──1024x768@60.004 │ ├──832x624@74.551 │ ├──800x600@75.000 │ ├──800x600@60.317 │ └──720x576@50.000 │ └──Preferences: [...] #+END_EXAMPLE - [X] try setting via gdctl: #+BEGIN_EXAMPLE user@cosmo ~ % gdctl set -LpM HDMI-1 --mode 2560x1080@60 Failed to create configuration: No mode 2560x1080@60 available for HDMI-1 1 user@cosmo ~ % #+END_EXAMPLE → fails. - [X] Compare with output of host jackson when connected to same TFT #+BEGIN_EXAMPLE user@jackson ~ % gdctl show Monitors: ├──Monitor HDMI-1 (LG Electronics 34") │ ├──Vendor: GSM │ ├──Product: LG ULTRAWIDE │ ├──Serial: 0x0002de64 │ ├──Current mode │ │ └──2560x1080@59.978 │ └──Preferences: │ └──Luminances: │ ├──default ⇒ 100.0 (default) (current) │ └──bt2100 ⇒ 100.0 (default) └──Monitor eDP-1 (Built-in display) ├──Vendor: AUO ├──Product: 0x6693 ├──Serial: 0x00000000 ├──Current mode │ └──1920x1200@60.026 └──Preferences: └──Luminances: └──default ⇒ 100.0 (default) (current) Logical monitors: ├──Logical monitor #1 │ ├──Position: (0, 0) │ ├──Scale: 1.25 │ ├──Transform: normal │ ├──Primary: yes │ └──Monitors: (1) │ └──eDP-1 (Built-in display) └──Logical monitor #2 ├──Position: (1536, 0) ├──Scale: 1.0 ├──Transform: normal ├──Primary: no └──Monitors: (1) └──HDMI-1 (LG Electronics 34") #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % gdctl show -m Monitors: ├──Monitor HDMI-1 (LG Electronics 34") │ ├──Vendor: GSM │ ├──Product: LG ULTRAWIDE │ ├──Serial: 0x0002de64 │ └──Modes (28) │ ├──3840x2160@30.000 │ ├──3840x2160@29.970 │ ├──3840x2160@25.000 │ ├──3840x2160@24.000 │ ├──3840x2160@23.976 │ ├──2560x1440@59.951 │ ├──2560x1080@74.991 │ ├──2560x1080@59.978 │ ├──2560x1080@50.000 │ ├──1920x1080@74.986 │ ├──1920x1080@60.000 │ ├──1920x1080@59.940 │ ├──1920x1080@50.000 │ ├──1680x1050@59.883 │ ├──1600x900@60.000 │ ├──1280x1024@75.025 │ ├──1280x1024@60.020 │ ├──1280x800@59.910 │ ├──1280x720@60.000 │ ├──1280x720@59.940 │ ├──1280x720@50.000 │ ├──1152x864@59.967 │ ├──1024x768@75.029 │ ├──1024x768@60.004 │ ├──832x624@74.551 │ ├──800x600@75.000 │ ├──800x600@60.317 │ └──720x576@50.000 │ └──Preferences: │ └──Luminances: │ ├──default ⇒ 100.0 (default) (current) │ └──bt2100 ⇒ 100.0 (default) └──Monitor eDP-1 (Built-in display) [...] Logical monitors: ├──Logical monitor #1 │ ├──Position: (0, 0) │ ├──Scale: 1.25 │ ├──Transform: normal │ ├──Primary: yes │ └──Monitors: (1) │ └──eDP-1 (Built-in display) └──Logical monitor #2 ├──Position: (1536, 0) ├──Scale: 1.0 ├──Transform: normal ├──Primary: no └──Monitors: (1) └──HDMI-1 (LG Electronics 34") #+END_EXAMPLE So it seems as if everything is exactly the same except the listed Modes/resolutions. ***** DONE Compare BIOS settings CLOSED: [2025-10-04 Sat 14:05] :PROPERTIES: :END: :LOGBOOK: - State "DONE" from "TODO" [2025-10-04 Sat 14:05] :END: - Why? https://graz.social/@alienghic@timeloop.cafe/115203647620325001 - uh. something different about the ACPI? Not that I could find how to check or update that. - Do they both have the same grub settings? There's some settings that can change how the kernel detects hardware. - It seems like one system is able to detecting more information about the - Oh did you go into the bios settings and compare them? Maybe something is set slightly differently? | What? | Working installation | Non-working installation | Notes | |-----------------------------+----------------------+--------------------------+-----------------------------------------------| | UEFI BIOS Version | N45ET25W (1.15) | same | still most current as of 2025-10-04 | | Embedded Controller Version | N45HT20W (1.11) | same | | | ME Firmware Version | 18.0.5.2155 | *18.0.15.2515* | actually, it's newer on the non-working setup | | Machine Type Model | 21LWCTO1WW | same | | - [[https://pcsupport.lenovo.com/at/de/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x13-2-in-1-gen-5-type-21lw-21lx/21lw/21lwcto1ww/pf5mcsty/downloads/ds568074-bios-update-utility-bootable-cd-for-windows-11-10-64-bit-thinkpad-x13-2-in-1-gen-5-type-21lw-21lx-x13-gen-5-type-21lu-21lv?category=BIOS][(German) Lenovo page with most current BIOS Update versions]] - [[https://en.wikipedia.org/wiki/Intel_ME][Intel ME Firmware]] should not cause this issue, I would guess. Comparing the BIOS settings, I also got same settings for: - Config: (everything the same) - Network - USB - Keyboard/Mouse - Display - Power - Beep and Alarm - CPU - Thunderbolt 4 - Intel AMT - Security - (everything the same) ***** DONE Compare GRUB settings CLOSED: [2025-10-04 Sat 14:18] :PROPERTIES: :END: :LOGBOOK: - State "DONE" from "TODO" [2025-10-04 Sat 14:18] :END: - Why? https://graz.social/@alienghic@timeloop.cafe/115203647620325001 - uh. something different about the ACPI? Not that I could find how to check or update that. - Do they both have the same grub settings? There's some settings that can change how the kernel detects hardware. - It seems like one system is able to detecting more information about the - Oh did you go into the bios settings and compare them? Maybe something is set slightly differently? The info in =/etc/default/grub= was identical on both machines. : GRUB_CMDLINE_LINUX_DEFAULT="quiet" I once tried following adaption on Cosmo: : GRUB_CMDLINE_LINUX_DEFAULT="quiet video=HDMI-1:2560x1080@60" Unfornately, this did not help as mentioned above. **** My Cry For Help :PROPERTIES: :END: - [2025-09-14 Sun 17:41] Mastodon-thread: https://graz.social/@publicvoit/115203409039346508 **** DONE Check Driver CLOSED: [2025-10-05 Sun 17:50] SCHEDULED: <2025-09-15 Mon> :PROPERTIES: :END: :LOGBOOK: - State "DONE" from "STARTED" [2025-10-05 Sun 17:50] :END: - https://graz.social/@gnomon@mastodon.social/115203465545303106 - since you're using the i915 driver instead of the xe driver per your dmesg output, what is the value of your 'enable_guc' kernel parameter, and what are the specific versions of the firmware blobs at /lib/firmware/i915/mtl_* ? - I'm not sure that this is necessarily your problem but it's the first thing I would check after looking at the info you provided. #+BEGIN_EXAMPLE user@cosmo ~ % l /lib/firmware/i915/mtl_* -rw-r--r-- 1 root root 52712 Apr 24 18:35 /lib/firmware/i915/mtl_dmc.bin -rw-r--r-- 1 root root 1142784 Apr 24 18:35 /lib/firmware/i915/mtl_gsc_1.bin -rw-r--r-- 1 root root 312064 Apr 24 18:35 /lib/firmware/i915/mtl_guc_70.bin -rw-r--r-- 1 root root 561152 Apr 24 18:35 /lib/firmware/i915/mtl_huc_gsc.bin user@cosmo ~ % #+END_EXAMPLE ... which is identical (file name and size) on jackson, the host where it works. Not sure how to determine my 'enable_guc' kernel parameter: #+BEGIN_EXAMPLE user@cosmo /etc/modprobe.d % l total 20 drwxr-xr-x 2 root root 4096 Aug 7 19:06 . drwxr-xr-x 134 root root 12288 Sep 17 15:23 .. -rw-r--r-- 1 root root 154 May 17 06:35 intel-microcode-blacklist.conf user@cosmo /etc/modprobe.d % cat intel-microcode-blacklist.conf # The microcode module attempts to apply a microcode update when # it autoloads. This is not always safe, so we block it by default. blacklist microcode user@cosmo /etc/modprobe.d % #+END_EXAMPLE **** DONE Ask Claude.ai CLOSED: [2025-10-05 Sun 17:50] :PROPERTIES: :END: :LOGBOOK: - State "DONE" from "STARTED" [2025-10-05 Sun 17:50] :END: I've got access to Sonnet 4.5 and Opus 4.1 from Athropic. Here's my prompt: #+BEGIN_VERSE I've got two Lenovo x13 2-in-1 Gen 5 with Debian 13 GNOME 48 with hostnames Cosmo and Jackson. On Cosmo, I can't select the native screen resolution for the external LG 34" TFT which is 2560x1080. In the GNOME screen configuration dialog, I may only choose a resolution (among others) that is similar but not correct: 2560x1440. On Jackson, the native screen resolution is recognized out of the box. Both machines have same: - graphics hardware - Linux driver - BIOS firmware: "UEFI BIOS Version", "Embedded Controller Version", "Machine Type Model" - BIOS settings - operating system - GRUB config with: GRUB_CMDLINE_LINUX_DEFAULT="quiet" - I also tried with no success: GRUB_CMDLINE_LINUX_DEFAULT="quiet video=eDP-1:2560x1080@30" Different is ME Firmware Version with "18.0.5.2155" on Jackson and 18.0.15.2515 on Cosmo although I think that this has no effect on the issue. Also same on both machines: ``` user@cosmo ~ % l /lib/firmware/i915/mtl_* -rw-r--r-- 1 root root 52712 Apr 24 18:35 /lib/firmware/i915/mtl_dmc.bin -rw-r--r-- 1 root root 1142784 Apr 24 18:35 /lib/firmware/i915/mtl_gsc_1.bin -rw-r--r-- 1 root root 312064 Apr 24 18:35 /lib/firmware/i915/mtl_guc_70.bin -rw-r--r-- 1 root root 561152 Apr 24 18:35 /lib/firmware/i915/mtl_huc_gsc.bin user@cosmo ~ % ``` I switched the SSDs between Cosmo and Jackson and the issue with the wrong resoltion sticks with the SSD. So it's not an hardware issue. -------------------- The output of "gdctl show" is: On Cosmo: ``` Monitors: ├──Monitor HDMI-1 (LG Electronics 34") │ ├──Vendor: GSM │ ├──Product: LG ULTRAWIDE │ ├──Serial: 0x0002de64 │ ├──Current mode │ │ └──2560x1440@59.951 │ └──Preferences: │ └──Luminances: │ ├──default ⇒ 100.0 (default) (current) │ └──bt2100 ⇒ 100.0 (default) [...] Logical monitors: ├──Logical monitor #1 │ ├──Position: (2560, 480) │ ├──Scale: 1.25 │ ├──Transform: 180 │ ├──Primary: no │ └──Monitors: (1) │ └──eDP-1 (Built-in display) └──Logical monitor #2 ├──Position: (0, 0) ├──Scale: 1.0 ├──Transform: normal ├──Primary: yes └──Monitors: (1) └──HDMI-1 (LG Electronics 34") ``` On Jackson: ``` Monitors: ├──Monitor HDMI-1 (LG Electronics 34") │ ├──Vendor: GSM │ ├──Product: LG ULTRAWIDE │ ├──Serial: 0x0002de64 │ ├──Current mode │ │ └──2560x1080@59.978 │ └──Preferences: │ └──Luminances: │ ├──default ⇒ 100.0 (default) (current) │ └──bt2100 ⇒ 100.0 (default) [...] Logical monitors: ├──Logical monitor #1 │ ├──Position: (0, 0) │ ├──Scale: 1.25 │ ├──Transform: normal │ ├──Primary: yes │ └──Monitors: (1) │ └──eDP-1 (Built-in display) └──Logical monitor #2 ├──Position: (1536, 0) ├──Scale: 1.0 ├──Transform: normal ├──Primary: no └──Monitors: (1) └──HDMI-1 (LG Electronics 34") ``` -------------------- The output of "gdctl show -m": Cosmo: ``` Monitors: ├──Monitor HDMI-1 (LG Electronics 34") │ ├──Vendor: GSM │ ├──Product: LG ULTRAWIDE │ ├──Serial: 0x0002de64 │ └──Modes (23) │ ├──3840x2160@30.000 │ ├──3840x2160@29.970 │ ├──3840x2160@25.000 │ ├──3840x2160@24.000 │ ├──3840x2160@23.976 │ ├──2560x1440@59.951 │ ├──1920x1080@60.000 │ ├──1920x1080@59.940 │ ├──1920x1080@50.000 │ ├──1680x1050@59.883 │ ├──1600x900@60.000 │ ├──1280x1024@75.025 │ ├──1280x1024@60.020 │ ├──1280x800@59.910 │ ├──1280x720@60.000 │ ├──1280x720@59.940 │ ├──1280x720@50.000 │ ├──1024x768@75.029 │ ├──1024x768@60.004 │ ├──832x624@74.551 │ ├──800x600@75.000 │ ├──800x600@60.317 │ └──720x576@50.000 │ └──Preferences: [...] ``` -------------------- Jackson: ``` Monitors: ├──Monitor HDMI-1 (LG Electronics 34") │ ├──Vendor: GSM │ ├──Product: LG ULTRAWIDE │ ├──Serial: 0x0002de64 │ └──Modes (28) │ ├──3840x2160@30.000 │ ├──3840x2160@29.970 │ ├──3840x2160@25.000 │ ├──3840x2160@24.000 │ ├──3840x2160@23.976 │ ├──2560x1440@59.951 │ ├──2560x1080@74.991 │ ├──2560x1080@59.978 │ ├──2560x1080@50.000 │ ├──1920x1080@74.986 │ ├──1920x1080@60.000 │ ├──1920x1080@59.940 │ ├──1920x1080@50.000 │ ├──1680x1050@59.883 │ ├──1600x900@60.000 │ ├──1280x1024@75.025 │ ├──1280x1024@60.020 │ ├──1280x800@59.910 │ ├──1280x720@60.000 │ ├──1280x720@59.940 │ ├──1280x720@50.000 │ ├──1152x864@59.967 │ ├──1024x768@75.029 │ ├──1024x768@60.004 │ ├──832x624@74.551 │ ├──800x600@75.000 │ ├──800x600@60.317 │ └──720x576@50.000 │ └──Preferences: │ └──Luminances: │ ├──default ⇒ 100.0 (default) (current) │ └──bt2100 ⇒ 100.0 (default) └──Monitor eDP-1 (Built-in display) [...] Logical monitors: ├──Logical monitor #1 │ ├──Position: (0, 0) │ ├──Scale: 1.25 │ ├──Transform: normal │ ├──Primary: yes │ └──Monitors: (1) │ └──eDP-1 (Built-in display) └──Logical monitor #2 ├──Position: (1536, 0) ├──Scale: 1.0 ├──Transform: normal ├──Primary: no └──Monitors: (1) └──HDMI-1 (LG Electronics 34") ``` -------------------- I tried to set the resolution but that failed as well: ``` user@cosmo ~ % gdctl set -LpM HDMI-1 --mode 2560x1080@60 Failed to create configuration: No mode 2560x1080@60 available for HDMI-1 1 user@cosmo ~ % ``` -------------------- "lspci -v" shows different output though: Cosmo: ``` 00:02.0 VGA compatible controller: Intel Corporation Meteor Lake-P [Intel Graphics] (rev 08) (prog-if 00 [VGA controller]) Subsystem: Lenovo Device 232a Flags: bus master, fast devsel, latency 0, IRQ 192, IOMMU group 0 Memory at 4058000000 (64-bit, prefetchable) [size=16M] Memory at 4000000000 (64-bit, prefetchable) [size=256M] Expansion ROM at 000c0000 [virtual] [disabled] [size=128K] Capabilities: [40] Vendor Specific Information: Len=0c Capabilities: [70] Express Root Complex Integrated Endpoint, IntMsgNum 0 Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit+ Capabilities: [d0] Power Management version 3 Capabilities: [100] Null Capabilities: [110] Process Address Space ID (PASID) Capabilities: [200] Address Translation Service (ATS) Capabilities: [420] Physical Resizable BAR Capabilities: [320] Single Root I/O Virtualization (SR-IOV) Capabilities: [400] Latency Tolerance Reporting Kernel driver in use: i915 Kernel modules: i915, xe ``` Jackson: ``` 00:02.0 VGA compatible controller: Intel Corporation Meteor Lake-P [Intel Graphics] (rev 08) (prog-if 00 [VGA controller]) Subsystem: Lenovo Device 232a Flags: bus master, fast devsel, latency 0, IRQ 192, IOMMU group 0 Memory at 4058000000 (64-bit, prefetchable) [size=16M] Memory at 4000000000 (64-bit, prefetchable) [size=256M] Expansion ROM at 000c0000 [virtual] [disabled] [size=128K] Capabilities: [40] Vendor Specific Information: Intel Capabilities v1 CapA: Peg60Dis- Peg12Dis- Peg11Dis- Peg10Dis- PeLWUDis- DmiWidth=x4 EccDis- ForceEccEn- VTdDis- DmiG2Dis- PegG2Dis- DDRMaxSize=Unlimited 1NDis- CDDis- DDPCDis- X2APICEn- PDCDis- IGDis- CDID=0 CRID=0 DDROCCAP+ OCEn- DDRWrtVrefEn+ DDR3LEn+ CapB: ImguDis- OCbySSKUCap- OCbySSKUEn- SMTCap- CacheSzCap 0x0 SoftBinCap- DDR3MaxFreqWithRef100=Disabled PegG3Dis- PkgTyp- AddGfxEn- AddGfxCap- PegX16Dis- DmiG3Dis- GmmDis- DDR3MaxFreq=2932MHz LPDDR3En- Capabilities: [70] Express Root Complex Integrated Endpoint, IntMsgNum 0 Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit+ Capabilities: [d0] Power Management version 3 Capabilities: [100] Null Capabilities: [110] Process Address Space ID (PASID) Capabilities: [200] Address Translation Service (ATS) Capabilities: [420] Physical Resizable BAR Capabilities: [320] Single Root I/O Virtualization (SR-IOV) Capabilities: [400] Latency Tolerance Reporting Kernel driver in use: i915 Kernel modules: i915, xe ``` I don't know why there is a difference in this output and what to do in order to get the same "Capabilities" on both machines. Please analyse the information above carefully and tell me what I may check or change so that Cosmo gets the native screen resolution for the external TFT as well. #+END_VERSE I had to add: #+BEGIN_QUOTE Related to your xrandr tips: Debian 13 GNOME 48 runs Wayland. I guess that xrandr and probably other mentioned X11 related stuff won't work that way. #+END_QUOTE ***** Opus 4.1 Answer You're absolutely right! I apologize for the X11-centric suggestions. With Wayland and GNOME 48, the approach is quite different. Let me provide Wayland-appropriate solutions: ****** 1. Check EDID under Wayland #+begin_src sh # Check what the kernel/DRM sees sudo cat /sys/class/drm/card*-HDMI-A-1/edid | edid-decode # or sudo cat /sys/class/drm/card*-HDMI-A-1/modes # Check current mode cat /sys/class/drm/card*-HDMI-A-1/modes | grep 2560x1080 # See what mutter/GNOME detects journalctl -b | grep -i "2560x1080" journalctl -b | grep -i edid #+end_src ****** 2. Clear GNOME/Mutter Display Cache (Wayland-specific) #+begin_src sh # Remove GNOME's monitor configurations rm ~/.config/monitors.xml rm ~/.config/monitors.xml~ # If using GDM sudo rm /var/lib/gdm3/.config/monitors.xml sudo rm /var/lib/gdm3/.config/monitors.xml~ # Clear mutter's cache rm -rf ~/.cache/mutter/ # Restart GNOME Shell (on Wayland) # Either logout/login or: systemctl --user restart gnome-shell #+end_src ****** 3. Force Mode via Kernel/KMS Since Wayland relies on KMS (Kernel Mode Setting), add the mode at the kernel level: #+begin_src sh # In /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet video=HDMI-A-1:2560x1080@60" # Update and reboot sudo update-grub sudo reboot #+end_src ****** 4. Create Custom EDID Since Jackson reads the EDID correctly, you can extract and force it on Cosmo: *On Jackson:* #+begin_src sh # Extract working EDID sudo cat /sys/class/drm/card*-HDMI-A-1/edid > ~/lg_monitor.edid # Copy this file to Cosmo #+end_src *On Cosmo:* #+begin_src sh # Place the EDID file sudo mkdir -p /lib/firmware/edid sudo cp lg_monitor.edid /lib/firmware/edid/ # Force kernel to use this EDID # In /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet drm.edid_firmware=HDMI-A-1:edid/lg_monitor.edid" # Update and reboot sudo update-grub sudo reboot #+end_src ****** 5. Use Mutter Debug Settings Create a debug configuration for mutter: #+begin_src sh # Create mutter debug config mkdir -p ~/.config/mutter # Enable experimental features that might help with display detection gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']" #+end_src ****** 6. Check Mutter/GNOME Logs #+begin_src sh # Check what mutter sees MUTTER_DEBUG=kms journalctl -f # In another terminal, restart GNOME systemctl --user restart gnome-shell # Look for messages about available modes #+end_src ****** 7. Compare Working System Configuration *On Jackson*, gather the working configuration: #+begin_src sh # Get the exact mode timings from DRM cat /sys/class/drm/card*-HDMI-A-1/modes cat /sys/class/drm/card*-HDMI-A-1/mode # Get monitor info as seen by mutter gdbus call --session --dest org.gnome.Mutter.DisplayConfig \ --object-path /org/gnome/Mutter/DisplayConfig \ --method org.gnome.Mutter.DisplayConfig.GetCurrentState # Export current monitor.xml if it has correct config cat ~/.config/monitors.xml #+end_src ****** 8. Manual Configuration via monitors.xml If GNOME saved a working configuration on Jackson, you can copy its =~/.config/monitors.xml= to Cosmo. Make sure to adjust any system-specific identifiers. ****** 9. Try Forcing with =gdctl= Directly Since you mentioned =gdctl= recognizes the monitor but not the mode: #+begin_src sh # First check if the mode is detected at kernel level cat /sys/class/drm/card*-HDMI-A-1/modes | grep 2560x1080 # If it shows up there but not in gdctl, try: # Force a display reconfiguration gdctl apply #+end_src ****** Most Likely Solution for Wayland Given that: - The issue follows the SSD (not hardware) - Jackson shows more modes (28 vs 23) - The same monitor and cable work fine on Jackson I'd prioritize: 1. *Extracting and forcing the EDID from Jackson* (#4) - this is the most reliable solution 2. *Clearing all monitor configurations* (#2) and letting GNOME re-detect 3. *Using kernel parameters* to force the mode (#3) The EDID solution is particularly good because it completely bypasses any detection issues and forces the kernel to use the known-good EDID data from Jackson. ***** Trying Opus 4.1 Suggestions :PROPERTIES: :END: ****** 4. Create Custom EDID This resulted in a weird situation on Cosmo: desktop background image was shown on external TFT only and just in the upper right hand corner. Opened windows are not all visible. I had to revert this. I re-tried this a second time and this time, the weird effects were gone but the wrong resolution still persisted. ****** 1. Check EDID under Wayland Had to install dependencies: : sudo apt install edid-decode Then I executed: : user@jackson ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/edid | edid-decode > jackson-edid-decode.log #+BEGIN_EXAMPLE user@jackson ~ % cat /sys/class/drm/card*-HDMI-A-1/modes | grep 2560x1080 2560x1080 2560x1080 2560x1080 #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % sudo journalctl -b | grep -i "2560x1080" 1 user@jackson ~ % #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % sudo journalctl -b | grep -i edid Oct 05 14:21:43 jackson sudo[6209]: user : TTY=pts/1 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/cat /sys/class/drm/card0-HDMI-A-1/edid Oct 05 14:23:31 jackson sudo[6316]: user : TTY=pts/1 ; PWD=/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1 ; USER=root ; COMMAND=/usr/bin/cat /sys/class/drm/card0-HDMI-A-1/edid Oct 05 14:24:04 jackson sudo[6330]: user : TTY=pts/1 ; PWD=/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1 ; USER=root ; COMMAND=/usr/bin/cat /sys/class/drm/card0-HDMI-A-1/edid Oct 05 14:24:36 jackson sudo[6340]: user : TTY=pts/1 ; PWD=/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1 ; USER=root ; COMMAND=/usr/bin/cat /sys/class/drm/card0-HDMI-A-1/edid Oct 05 14:34:13 jackson sudo[6548]: user : TTY=pts/1 ; PWD=/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1 ; USER=root ; COMMAND=/usr/bin/cat /sys/class/drm/card0-HDMI-A-1/edid Oct 05 14:34:34 jackson sudo[6566]: user : TTY=pts/1 ; PWD=/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1 ; USER=root ; COMMAND=/usr/bin/apt install edid-decode Oct 05 14:34:49 jackson sudo[6726]: user : TTY=pts/1 ; PWD=/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1 ; USER=root ; COMMAND=/usr/bin/cat /sys/class/drm/card0-HDMI-A-1/edid Oct 05 14:34:52 jackson sudo[6736]: user : TTY=pts/1 ; PWD=/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1 ; USER=root ; COMMAND=/usr/bin/cat /sys/class/drm/card0-HDMI-A-1/edid Oct 05 14:35:50 jackson sudo[6778]: user : TTY=pts/1 ; PWD=/home/shared/shares/sting/abzulegen ; USER=root ; COMMAND=/usr/bin/cat /sys/class/drm/card0-HDMI-A-1/edid #+END_EXAMPLE And now compare with Cosmo: #+BEGIN_EXAMPLE user@cosmo ~ % cat /sys/class/drm/card*-HDMI-A-1/modes | grep 2560x1080 1 user@cosmo ~ % #+END_EXAMPLE #+BEGIN_EXAMPLE user@cosmo ~ % sudo journalctl -b | grep -i "2560x1080" Oct 05 14:33:28 cosmo kernel: Command line: BOOT_IMAGE=/vmlinuz-6.12.48+deb13-amd64 root=/dev/mapper/cosmo--vg-root ro quiet video=HDMI-1:2560x1080@60 Oct 05 14:33:28 cosmo kernel: Kernel command line: BOOT_IMAGE=/vmlinuz-6.12.48+deb13-amd64 root=/dev/mapper/cosmo--vg-root ro quiet video=HDMI-1:2560x1080@60 user@cosmo ~ % #+END_EXAMPLE #+BEGIN_EXAMPLE user@cosmo ~ % sudo journalctl -b | grep -i edid Oct 05 14:40:06 cosmo sudo[2787]: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/apt install edid-decode Oct 05 14:40:22 cosmo sudo[2934]: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/cat /sys/class/drm/card0-HDMI-A-1/edid user@cosmo ~ % #+END_EXAMPLE Well, there are differences but as it looks to my eye, this actually looks better on Cosmo, doesn't it? Comparing the =edid-decode.log= files: #+BEGIN_EXAMPLE user@sting ~ % diff jackson-edid-decode.log cosmo-edid-decode.log user@sting ~ % #+END_EXAMPLE They're same. ****** 2. Clear GNOME/Mutter Display Cache Situation before: #+BEGIN_EXAMPLE user@cosmo ~ % cat ~/.config/monitors.xml logical 2560 480 1.25 eDP-1 AUO 0x6693 0x00000000 1920 1200 60.026 0 0 1 yes HDMI-1 GSM LG ULTRAWIDE 0x0002de64 2560 1440 59.951 user@cosmo ~ % cat /home/user/.config/monitors.xml~ logical 1920 480 1.25 eDP-1 AUO 0x6693 0x00000000 1920 1200 60.026 0 0 1 yes HDMI-1 GSM LG ULTRAWIDE 0x0002de64 1920 1080 60.000 user@cosmo ~ % #+END_EXAMPLE No =/var/lib/gdm3/.config/monitors.xm*= found: #+BEGIN_EXAMPLE user@cosmo ~ % sudo ls -la /var/lib/gdm3/.config/monitors.xm* zsh: no matches found: /var/lib/gdm3/.config/monitors.xm* 1 user@cosmo ~ % #+END_EXAMPLE OK, let's remove the files: #+BEGIN_EXAMPLE user@cosmo ~ % sudo rm ~/.config/monitors.x* user@cosmo ~ % sudo rm -rf ~/.cache/mutter/ user@cosmo ~ % sudo reboot #+END_EXAMPLE No change of the issue after reboot finishes. :-( ****** 3. Force Mode via Kernel/KMS Well, this is similar to what I've already tried but let's re-try this. #+BEGIN_EXAMPLE vim /etc/default/grub # GRUB_CMDLINE_LINUX_DEFAULT="quiet video=HDMI-A-1:2560x1080@60" # Update and reboot sudo update-grub sudo reboot #+END_EXAMPLE Did not fix the issue. ****** 9. Try Forcing with =gdctl= Directly #+BEGIN_EXAMPLE user@cosmo ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/modes | grep 2560x1080 1 user@cosmo ~ % #+END_EXAMPLE No luck here: not detected on kernel level. ****** 5. Use Mutter Debug Settings I didn't try this since this should be the same on both X13 machines anyway. ****** 7. Compare Working System Configuration On Jackson: #+BEGIN_EXAMPLE user@jackson ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/modes 2560x1080 3840x2160 3840x2160 3840x2160 3840x2160 3840x2160 2560x1440 2560x1080 2560x1080 1920x1080 1920x1080 1920x1080 1920x1080 1920x1080 1680x1050 1600x900 1280x1024 1280x1024 1280x800 1152x864 1280x720 1280x720 1280x720 1280x720 1024x768 1024x768 832x624 800x600 800x600 720x576 720x480 720x480 640x480 640x480 640x480 640x480 user@jackson ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/mode zsh: no matches found: /sys/class/drm/card*-HDMI-A-1/mode 1 user@jackson ~ % #+END_EXAMPLE Something's wrong with this call: #+BEGIN_EXAMPLE user@jackson ~ % sudo gdbus call --session --dest org.gnome.Mutter.DisplayConfig \ --object-path /org/gnome/Mutter/DisplayConfig \ --method org.gnome.Mutter.DisplayConfig.GetCurrentState Error connecting: Cannot autolaunch D-Bus without X11 $DISPLAY 1 user@jackson ~ % #+END_EXAMPLE ****** Copy ~/.config/monitors.xml :PROPERTIES: :END: On Jackson, I fetch =~/.config/monitors.xml= and copy to Cosmo. #+BEGIN_EXAMPLE user@cosmo ~ % mv ~/.config/monitors.xml ~/.config/monitors.xml_OLD user@cosmo ~ % mv jackson_monitors.xml ~/.config/monitors.xml user@cosmo ~ % #+END_EXAMPLE Reboot and test. No change. :-( ***** Sending Back My Notes To Opus 4.1 And Getting Answer From Opus 4.l :PROPERTIES: :END: Excellent debugging work! The key finding is that *Cosmo doesn't detect 2560x1080 at the kernel DRM level* - it's not in =/sys/class/drm/card*-HDMI-A-1/modes=. This means the issue is happening before GNOME/Mutter even gets involved. Let's focus on why the kernel isn't detecting the mode properly: ****** 1. Compare EDID Raw Data Since the kernel isn't seeing the 2560x1080 mode, let's compare the raw EDID data: *On both machines:* #+begin_src sh # Get raw EDID in hex sudo cat /sys/class/drm/card*-HDMI-A-1/edid | xxd > edid-raw.txt # Get decoded EDID sudo cat /sys/class/drm/card*-HDMI-A-1/edid | edid-decode > edid-decoded.txt # Get MD5 hash to quickly check if they're identical sudo cat /sys/class/drm/card*-HDMI-A-1/edid | md5sum #+end_src Compare these files between Jackson and Cosmo. If they're different, the monitor is sending different EDID data to each machine. ****** 2. Check i915 Driver Debug Info The kernel driver might be filtering modes for some reason: #+begin_src sh # Check i915 parameters on both machines sudo cat /sys/module/i915/parameters/* > i915-params.txt # Enable verbose DRM debugging temporarily echo 0x1ff | sudo tee /sys/module/drm/parameters/debug # Reconnect the monitor (unplug/replug HDMI) # Then check kernel messages sudo dmesg | grep -i "2560x1080" sudo dmesg | grep -i "pruning\|reject\|filter" # Disable debug mode after echo 0 | sudo tee /sys/module/drm/parameters/debug #+end_src ****** 3. Check Display Port/HDMI Bandwidth Limits The i915 driver might be rejecting modes due to perceived bandwidth limitations: #+begin_src sh # Check if there are different link rates sudo cat /sys/kernel/debug/dri/0/i915_display_info | grep -A10 HDMI # Check connector status sudo cat /sys/class/drm/card*-HDMI-A-1/status sudo cat /sys/class/drm/card*-HDMI-A-1/enabled #+end_src ****** 4. Force EDID via Kernel (Different Approach) Since the previous EDID forcing had issues, try a different method: *On Jackson:* #+begin_src sh # Save the EDID sudo cat /sys/class/drm/card*-HDMI-A-1/edid > ~/lg-good.bin # Copy to Cosmo #+end_src *On Cosmo:* #+begin_src sh # Place in firmware directory sudo cp lg-good.bin /lib/firmware/edid/lg-ultrawide.bin # Use different kernel parameter syntax # In /etc/default/grub: GRUB_CMDLINE_LINUX_DEFAULT="quiet drm_kms_helper.edid_firmware=HDMI-A-1:edid/lg-ultrawide.bin video=HDMI-A-1:e" sudo update-grub sudo reboot #+end_src The =video=HDMI-A-1:e= forces the connector to be enabled. ****** 5. Check HDMI Cable/Port Version This is interesting - could there be a difference in HDMI capability detection? #+begin_src sh # Check what the driver thinks about HDMI version sudo dmesg | grep -i "hdmi\|tmds" # Look for maximum pixel clock sudo cat /sys/kernel/debug/dri/*/i915_display_info | grep -i "max\|clock\|tmds" #+end_src ****** 6. Try i915 Module Options Create =/etc/modprobe.d/i915.conf=: #+begin_src sh # Try disabling some automatic features options i915 enable_dp_mst=0 options i915 enable_psr=0 options i915 enable_fbc=0 #+end_src Then rebuild initramfs: #+begin_src sh sudo update-initramfs -u sudo reboot #+end_src ****** 7. Most Revealing Test - Boot with drm.debug Add to GRUB for one boot: #+begin_src sh # At boot, edit GRUB entry (press 'e' at GRUB menu) # Add to kernel line: drm.debug=0x1e log_buf_len=16M # Boot and immediately after login, save the log: sudo dmesg > /tmp/drm-debug.log # Search for why 2560x1080 is rejected: grep -C5 "2560x1080\|2560 x 1080" /tmp/drm-debug.log grep -C5 "pruning\|removing\|reject" /tmp/drm-debug.log #+end_src ****** Most Likely Cause Given that: - The kernel doesn't see 2560x1080 in available modes - The same hardware with Jackson's SSD works fine - The GRUB parameter =video=HDMI-A-1:2560x1080@60= doesn't help This points to either: 1. *Different EDID being received* (monitor sending different data) 2. *i915 driver filtering the mode* due to some configuration 3. *A stored bad EDID* somewhere that persists across reboots The raw EDID comparison (#1) will tell us definitively if the monitor is sending different data. The debug output (#7) will show why the kernel is rejecting the mode if the EDID is the same. ***** Trying Opus 4.1 Suggestions Again OK, so Opus thinks that with the additional information, the issue does not involve Wayland/Mutter. So let's do that. ****** 1. Compare EDID Raw Data Requires: : sudo apt install xxd #+BEGIN_EXAMPLE user@cosmo ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/edid | xxd > ~/share/sting/abzulegen/cosmo-edid-raw.txt user@cosmo ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/edid | edid-decode > ~/share/sting/abzulegen/cosmo-edid-decoded.txt user@cosmo ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/edid | md5sum > ~/share/sting/abzulegen/cosmo-edid-md5sum.txt user@cosmo ~ % #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/edid | xxd > ~/share/sting/abzulegen/jackson-edid-raw.txt user@jackson ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/edid | edid-decode > ~/share/sting/abzulegen/jackson-edid-decoded.txt user@jackson ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/edid | md5sum > ~/share/sting/abzulegen/jackson-edid-md5sum.txt #+END_EXAMPLE Comparing: #+BEGIN_EXAMPLE user@sting ~/share/business/abzulegen % diff jackson-edid-raw.txt ~/share/user/abzulegen/cosmo-edid-raw.txt user@sting ~/share/business/abzulegen % diff jackson-edid-decoded.txt ~/share/user/abzulegen/cosmo-edid-decoded.txt user@sting ~/share/business/abzulegen % diff jackson-edid-md5sum.txt ~/share/user/abzulegen/cosmo-edid-md5sum.txt user@sting ~/share/business/abzulegen % #+END_EXAMPLE ... they are the same on both machines. ****** 2. Check i915 Driver Debug Info #+BEGIN_EXAMPLE user@cosmo ~ % sudo cat /sys/module/i915/parameters/* > ~/share/sting/abzulegen/cosmo-i915-parameters.log user@cosmo ~ #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % sudo cat /sys/module/i915/parameters/* > ~/share/sting/abzulegen/jackson-i915-parameters.log user@jackson ~ % #+END_EXAMPLE Comparing: #+BEGIN_EXAMPLE user@sting ~/share/business/abzulegen % diff jackson-i915-parameters.log ~/share/user/abzulegen/cosmo-i915-parameters.log 6c6 < -1 --- > N 1 user@sting ~/share/business/abzulegen % #+END_EXAMPLE Yes, there are differences. ****** 3. Check Display Port/HDMI Bandwidth Limits #+BEGIN_EXAMPLE user@cosmo ~ % sudo cat /sys/kernel/debug/dri/0/i915_display_info | grep -A10 HDMI [CONNECTOR:250:HDMI-A-1]: status: connected physical dimensions: 800x340mm subpixel order: Unknown CEA rev: 3 audio support: yes HDCP version: HDCP1.4 HDCP2.2 max bpc: 12 modes: "3840x2160": 30 297000 3840 4016 4104 4400 2160 2168 2178 2250 0x40 0x5 "3840x2160": 30 296703 3840 4016 4104 4400 2160 2168 2178 2250 0x40 0x5 "3840x2160": 25 297000 3840 4896 4984 5280 2160 2168 2178 2250 0x40 0x5 user@cosmo ~ % sudo cat /sys/kernel/debug/dri/0/i915_display_info | grep -A10 HDMI > ~/share/sting/abzulegen/cosmo--link-rates.log user@cosmo ~ % #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % sudo cat /sys/kernel/debug/dri/0/i915_display_info | grep -A10 HDMI [CONNECTOR:271:HDMI-A-1] [PLANE:90:plane 1B]: type=PRI uapi: [FB:323] XR30 little-endian (0x30335258),0x10000000000000f,2560x1080, visible=visible, src=2560.000000x1080.000000+0.000000+0.000000, dst=2560x1080+0+0, rotation=0 (0x00000001) hw: [FB:323] XR30 little-endian (0x30335258),0x10000000000000f,2560x1080, visible=yes, src=2560.000000x1080.000000+0.000000+0.000000, dst=2560x1080+0+0, rotation=0 (0x00000001) [PLANE:100:plane 2B]: type=OVL uapi: [FB:0] n/a,0x0,0x0,, visible=hidden, src=0.000000x0.000000+0.000000+0.000000, dst=0x0+0+0, rotation=0 (0x00000001) [PLANE:110:plane 3B]: type=OVL uapi: [FB:0] n/a,0x0,0x0,, visible=hidden, src=0.000000x0.000000+0.000000+0.000000, dst=0x0+0+0, rotation=0 (0x00000001) [PLANE:120:plane 4B]: type=OVL uapi: [FB:0] n/a,0x0,0x0,, visible=hidden, src=0.000000x0.000000+0.000000+0.000000, dst=0x0+0+0, rotation=0 (0x00000001) [PLANE:130:plane 5B]: type=OVL -- [CONNECTOR:271:HDMI-A-1]: status: connected physical dimensions: 800x340mm subpixel order: Unknown CEA rev: 3 audio support: yes HDCP version: HDCP1.4 HDCP2.2 max bpc: 12 modes: "2560x1080": 60 181250 2560 2608 2640 2720 1080 1083 1093 1111 0x48 0x9 "3840x2160": 30 297000 3840 4016 4104 4400 2160 2168 2178 2250 0x40 0x5 "3840x2160": 30 296703 3840 4016 4104 4400 2160 2168 2178 2250 0x40 0x5 user@jackson ~ % sudo cat /sys/kernel/debug/dri/0/i915_display_info | grep -A10 HDMI > ~/share/sting/abzulegen/jackson-link-rates.log user@jackson ~ % #+END_EXAMPLE Oh, there are differences! ****** 4. Force EDID via Kernel (Different Approach) #+BEGIN_EXAMPLE user@jackson ~ % sudo cat /sys/class/drm/card*-HDMI-A-1/edid > ~/share/sting/abzulegen/jackson-lg-good.bin #+END_EXAMPLE Apply on Cosmo: #+BEGIN_EXAMPLE user@cosmo ~ % sudo cp ~/share/sting/abzulegen/jackson-lg-good.bin /lib/firmware/edid/lg-ultrawide.bin user@cosmo ~ % #+END_EXAMPLE #+BEGIN_EXAMPLE # Use different kernel parameter syntax # In /etc/default/grub: GRUB_CMDLINE_LINUX_DEFAULT="quiet drm_kms_helper.edid_firmware=HDMI-A-1:edid/lg-ultrawide.bin video=HDMI-A-1:e" sudo update-grub sudo reboot #+END_EXAMPLE This resulted in showing 1024x768 on the external TFT which was labeled as "Unknown" in GNOME display settings. No higher resolution was available. I reverted those changes again. ****** 5. Check HDMI Cable/Port Version #+BEGIN_EXAMPLE user@cosmo ~ % sudo dmesg | grep -i "hdmi\|tmds" [ 28.446711] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3 [ 28.463438] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input31 [ 28.463470] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input32 [ 28.463499] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input33 user@cosmo ~ % sudo cat /sys/kernel/debug/dri/*/i915_display_info | grep -i "max\|clock\|tmds" zsh: no matches found: /sys/kernel/debug/dri/*/i915_display_info user@cosmo ~ % sudo find /sys/kernel/debug -name 'i915_display_info' /sys/kernel/debug/dri/0000:00:02.0/i915_display_info 1 user@cosmo ~ % sudo cat /sys/kernel/debug/dri/0000:00:02.0/i915_display_info | grep -i "max\|clock\|tmds" max bpc: 8 max bpc: 12 user@cosmo ~ % #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % sudo dmesg | grep -i "hdmi\|tmds" [ 12.490709] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3 [ 12.507576] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input26 [ 12.507615] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input27 [ 12.507652] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input28 user@jackson ~ % sudo cat /sys/kernel/debug/dri/0000:00:02.0/i915_display_info | grep -i "max\|clock\|tmds" port_clock=0, lane_count=0 port_clock=0, lane_count=0 port_clock=0, lane_count=0 port_clock=0, lane_count=0 max bpc: 8 max bpc: 12 user@jackson ~ % #+END_EXAMPLE There are differences but I don't know what this means. ****** 6. Try i915 Module Options #+BEGIN_EXAMPLE user@cosmo ~ % l /etc/modprobe.d/i915.conf ls: cannot access '/etc/modprobe.d/i915.conf': No such file or directory 2 user@cosmo ~ % #+END_EXAMPLE So the config file does not exist on both machines. I will skip this because there doesn't seem to be any difference with respect to those options. ****** 7. Most Revealing Test - Boot with drm.debug I'm not sure if I was able to add the kernel line: : drm.debug=0x1e log_buf_len=16M #+BEGIN_EXAMPLE user@sting ~/share/user/abzulegen % grep -C5 "2560x1080\|2560" cosmo-dmesg 1 user@sting ~/share/user/abzulegen % grep -C5 "pruning\|removing\|reject" cosmo-dmesg 1 user@sting ~/share/user/abzulegen % #+END_EXAMPLE No match for that. ***** Sending Back My Notes To Opus 4.1 And Getting Answer From Opus 4.l :PROPERTIES: :END: Excellent detective work! The smoking gun is in the i915_display_info output. On Jackson, it shows: #+begin_example "2560x1080": 60 181250 2560 2608 2640 2720 1080 1083 1093 1111 0x48 0x9 #+end_example But on Cosmo, this mode is *completely missing* from the kernel's mode list, even though *the EDID data is identical*! This means the i915 driver on Cosmo is rejecting/filtering the 2560x1080 mode for some reason. ****** The Critical Difference Found Looking at the i915 parameters comparison: #+begin_example < -1 --- > N #+end_example This suggests there's a parameter difference. Let's investigate this more carefully: ****** 1. Compare i915 Parameters Properly #+begin_src sh # On both machines, get a more readable comparison: for param in /sys/module/i915/parameters/*; do echo "$(basename $param): $(cat $param)" done | sort > ~/i915-params-sorted.txt #+end_src Compare these files to see which specific parameter differs. ****** 2. Try the Nuclear Reset for i915 Since the EDID is the same but the driver behaves differently, let's reset the i915 driver state: #+begin_src sh # On Cosmo, completely reset i915 module parameters sudo rm -f /etc/modprobe.d/i915* sudo rm -f /etc/modprobe.d/*i915* # Check if there are any kernel command line i915 parameters cat /proc/cmdline | grep i915 # Remove any i915 state files sudo rm -rf /var/cache/*i915* sudo rm -rf /var/lib/*i915* #+end_src ****** 3. Force Mode Addition via i915 Debugfs Since we know the exact modeline from Jackson, let's try to force it through debugfs: #+begin_src sh # First, check current state sudo cat /sys/kernel/debug/dri/0/i915_display_info | grep -A20 "HDMI-A-1" # Try to force the mode (this is a long shot but worth trying) echo "2560x1080@60" | sudo tee /sys/class/drm/card0-HDMI-A-1/mode #+end_src ****** 4. Compare Kernel Versions and i915 Driver Versions #+begin_src sh # On both machines uname -a modinfo i915 | head -20 dmesg | grep -i "i915.*firmware" #+end_src ****** 5. The Real Debug - Why i915 Rejects the Mode We need better debugging. Let's try again with more specific debug flags: #+begin_src sh # Add to /etc/default/grub on Cosmo: GRUB_CMDLINE_LINUX_DEFAULT="quiet drm.debug=0x1ff i915.verbose_state_checks=1 log_buf_len=16M" sudo update-grub sudo reboot # After reboot, immediately: sudo dmesg > /tmp/full-debug.log # Look for mode validation grep -i "mode\|2560\|1080\|valid\|reject\|prune\|filter" /tmp/full-debug.log > /tmp/mode-debug.log # Look for HDMI specific issues grep -i "hdmi\|tmds\|clock\|bandwidth" /tmp/full-debug.log > /tmp/hdmi-debug.log #+end_src ****** 6. Check for BIOS/UEFI Display Settings Even though you mentioned BIOS settings are the same, double-check: - Look for any display-related settings like "HDMI Max Resolution" - Check for "Display Pre-allocation" or "DVMT" settings - Look for "IGD" or "Graphics" settings ****** 7. Try Different i915 Enable Mode Create =/etc/modprobe.d/i915-test.conf= on Cosmo: #+begin_src sh # Force enable all outputs options i915 enable_dc=-1 options i915 enable_dp_mst=1 options i915 enable_hdcp=1 options i915 force_probe=!xe #+end_src Then: #+begin_src sh sudo update-initramfs -u sudo reboot #+end_src ****** 8. Most Important - Detailed Parameter Comparison Since we found a difference in the parameters, let's see the actual values: #+begin_src sh # On Cosmo echo "=== Cosmo i915 Parameters ===" > ~/cosmo-i915-detailed.txt for p in /sys/module/i915/parameters/*; do echo "$p: $(cat $p 2>/dev/null || echo 'ERROR')" >> ~/cosmo-i915-detailed.txt done # On Jackson echo "=== Jackson i915 Parameters ===" > ~/jackson-i915-detailed.txt for p in /sys/module/i915/parameters/*; do echo "$p: $(cat $p 2>/dev/null || echo 'ERROR')" >> ~/jackson-i915-detailed.txt done #+end_src ****** The Mystery The fact that: 1. Same EDID data 2. Same hardware 3. Different modes detected by kernel Points to either: - A different i915 module parameter (most likely given your finding) - A different kernel/driver version - Some persistent state that survives reboots The parameter difference you found (=-1= vs =N=) is the key. We need to identify which parameter this is and correct it. ***** Trying Opus 4.1 Suggestions Again :PROPERTIES: :END: OK, so Opus thinks that it narrowed down the issue further. Let's go with its flow. ****** 1. Compare i915 Parameters Properly #+BEGIN_EXAMPLE user@cosmo ~ % sudo bash root@cosmo:/home/user# for param in /sys/module/i915/parameters/*; do echo "$(basename $param): $(cat $param)"; done | sort > ~user/share/sting/abzulegen/cosmo-i915-parameters-sorted.log root@cosmo:/home/user# #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % sudo bash [sudo] password for user: root@jackson:/home/user# for param in /sys/module/i915/parameters/*; do echo "$(basename $param): $(cat $param)"; done | sort > ~user/share/sting/abzulegen/jackson-i915-parameters-sorted.log root@jackson:/home/user# #+END_EXAMPLE #+BEGIN_EXAMPLE user@sting ~/share/user/abzulegen % diff cosmo-i915-parameters-sorted.log ~/share/business/abzulegen/jackson-i915-parameters-sorted.log 6c6 < enable_dmc_wl: N --- > enable_dmc_wl: -1 1 user@sting ~/share/user/abzulegen % #+END_EXAMPLE So this is the different setting: on cosmo, this is "N". On jackson, this is "-1". Could this be the source of the issue? ***** Sending Back My Notes To Opus 4.1 And Getting Answer From Opus 4.l :PROPERTIES: :END: YES! This could absolutely be the source of the issue! The =enable_dmc_wl= parameter controls Display Microcontroller (DMC) workarounds/features, and this difference is very significant. The values mean: - =-1= = auto/default (let the driver decide) - =N= = disabled/no This parameter affects display power management and mode detection. The fact that Jackson (working) has =-1= and Cosmo (broken) has =N= is highly suspicious. ****** Fix This Immediately *Option 1: Runtime change (temporary test):* #+begin_src sh # On Cosmo, as root: echo -1 | sudo tee /sys/module/i915/parameters/enable_dmc_wl # Then unplug and replug the HDMI cable # Check if 2560x1080 appears: cat /sys/class/drm/card*-HDMI-A-1/modes | grep 2560x1080 #+end_src *Option 2: Make it permanent:* #+begin_src sh # Create/edit /etc/modprobe.d/i915.conf on Cosmo: echo "options i915 enable_dmc_wl=-1" | sudo tee /etc/modprobe.d/i915.conf # Rebuild initramfs sudo update-initramfs -u # Reboot sudo reboot #+end_src ****** Why This Matters The DMC (Display Microcontroller) in Intel graphics handles: - Display power states - Mode detection and validation - Display timing generation When =enable_dmc_wl= is set to =N= (disabled), it can cause: - Missing display modes - Incorrect EDID parsing - Problems with certain resolutions ****** How Did This Happen? Check where this setting comes from on Cosmo: #+begin_src sh # Check for any configs that might set this grep -r "enable_dmc_wl" /etc/modprobe.d/ grep -r "enable_dmc_wl" /etc/default/ grep "enable_dmc_wl" /proc/cmdline #+end_src This setting might have been added by: - A previous troubleshooting attempt - A package/driver update - A system configuration tool ****** Verify the Fix After changing the parameter and rebooting: #+begin_src sh # Confirm the parameter is set correctly cat /sys/module/i915/parameters/enable_dmc_wl # Should show -1 # Check available modes cat /sys/class/drm/card*-HDMI-A-1/modes | grep 2560x1080 # Use gdctl to see if the mode is available gdctl show -m | grep 2560x1080 #+end_src This is very likely the root cause. The DMC workaround being disabled on Cosmo is preventing proper mode detection for your ultrawide monitor! ***** Trying Opus 4.1 Suggestions Again :PROPERTIES: :END: How can I set the property? #+BEGIN_EXAMPLE user@cosmo ~ % echo -1 | sudo tee /sys/module/i915/parameters/enable_dmc_wl tee: /sys/module/i915/parameters/enable_dmc_wl: Permission denied -1 1 user@cosmo ~ % sudo echo -1 > /sys/module/i915/parameters/enable_dmc_wl zsh: permission denied: /sys/module/i915/parameters/enable_dmc_wl 1 user@cosmo ~ % #+END_EXAMPLE OK, this seems to be read-only. Let's do the permanent fix. #+BEGIN_EXAMPLE echo "options i915 enable_dmc_wl=-1" | sudo tee /etc/modprobe.d/i915.conf sudo update-initramfs -u sudo reboot #+END_EXAMPLE Now, the external TFT is not recognized at all! Furthermore, the GNOME panel is not shown as before. Instead, it looks like the default of the GNOME extension I've installed. While checking the parameter, I realized that the whole sub-hierarchie is missing: #+BEGIN_EXAMPLE user@cosmo ~ % sudo ls -la /sys/module/i915/ ls: cannot access '/sys/module/i915/': No such file or directory 2 user@cosmo ~ % #+END_EXAMPLE Checking the reasons: #+BEGIN_EXAMPLE user@cosmo ~ % sudo grep -r "enable_dmc_wl" /etc/modprobe.d/ /etc/modprobe.d/i915.conf:options i915 enable_dmc_wl=-1 user@cosmo ~ % sudo grep -r "enable_dmc_wl" /etc/default/ 1 user@cosmo ~ % sudo grep "enable_dmc_wl" /proc/cmdline 1 user@cosmo ~ % #+END_EXAMPLE OK, I do the alternative version using kernel command line. I revert the change: #+BEGIN_EXAMPLE user@cosmo ~ % sudo rm /etc/modprobe.d/i915.conf user@cosmo ~ % sudo update-initramfs -u #+END_EXAMPLE #+BEGIN_EXAMPLE # Edit /etc/default/grub sudo nano /etc/default/grub # Add to GRUB_CMDLINE_LINUX_DEFAULT: GRUB_CMDLINE_LINUX_DEFAULT="quiet i915.enable_dmc_wl=-1" # Update grub sudo update-grub # Reboot sudo reboot #+END_EXAMPLE Again: the external TFT is not recognized at all. Furthermore, the GNOME panel is not shown as before. Instead, it looks like the default of the GNOME extension I've installed. It looks as if parts of GNOME aren't startet. The keyring doesn't ask for its passphrase. ***** Sending Back My Notes To Opus 4.1 And Getting Answer From Opus 4.l Oh no! The i915 module is failing to load entirely! This is a critical issue - the parameter value might be invalid or causing a conflict. Let's fix this immediately: ****** Emergency Fix - Get Display Working Again #+begin_src sh # Remove the problematic kernel parameter sudo nano /etc/default/grub # Change back to just: GRUB_CMDLINE_LINUX_DEFAULT="quiet" # Update grub sudo update-grub # Ensure no modprobe config remains sudo rm -f /etc/modprobe.d/i915.conf # Rebuild initramfs sudo update-initramfs -u # Reboot sudo reboot #+end_src ****** After Getting Display Back Once your display is working again, let's investigate why this parameter causes the module to fail: #+begin_src sh # Check if i915 is loaded lsmod | grep i915 # Check for driver errors sudo dmesg | grep -i "i915\|error\|fail" # Check the actual parameter syntax on Jackson cat /sys/module/i915/parameters/enable_dmc_wl #+end_src ****** Important Discovery The fact that setting =enable_dmc_wl=-1= causes the i915 module to fail to load entirely suggests: 1. This parameter might not exist in your kernel version 2. The syntax might be different 3. There might be a different underlying issue ****** Let's Check Kernel and Driver Versions On *both* machines: #+begin_src sh # Kernel version uname -r # i915 driver info modinfo i915 | grep -E "version|filename" # Check if the parameter even exists ls /sys/module/i915/parameters/ | grep dmc #+end_src ****** Alternative Theory The parameter difference might be a *symptom*, not the cause. The real issue might be: 1. Different kernel versions between the systems 2. Different firmware files 3. A corrupted driver state on Cosmo ****** Check for Firmware Differences #+begin_src sh # On both machines ls -la /lib/firmware/i915/ | grep -i dmc md5sum /lib/firmware/i915/*dmc* #+end_src ****** Safe Test Approach Once you have your display back, let's try a safer approach: #+begin_src sh # First, check what parameters actually exist ls /sys/module/i915/parameters/ # Try setting a different, safer parameter echo "options i915 enable_psr=0" | sudo tee /etc/modprobe.d/i915-test.conf sudo update-initramfs -u #+end_src The fact that the i915 module completely fails to load with that parameter is very revealing - it suggests the parameter might not be valid for your kernel version, or there's something else going on. Let's get your system working first, then investigate more carefully. ***** Trying Opus 4.1 Suggestions Again I already reverted the changes and got the original setup back. So no further rollback necessary. Let's jump in to the fix: ****** Let's Check Kernel and Driver Versions #+BEGIN_EXAMPLE user@cosmo ~ % uname -r 6.12.48+deb13-amd64 user@cosmo ~ % #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % uname -r 6.16.9+deb14-amd64 user@jackson ~ % #+END_EXAMPLE Wow, there's a different kernel! :-O Comparing the =modinfo=: #+BEGIN_EXAMPLE user@cosmo ~ % sudo modinfo i915 | grep -E "version|filename" filename: /lib/modules/6.12.48+deb13-amd64/kernel/drivers/gpu/drm/i915/i915.ko.xz vermagic: 6.12.48+deb13-amd64 SMP preempt mod_unload modversions parm: invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int) user@cosmo ~ % #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % sudo modinfo i915 | grep -E "version|filename" filename: /lib/modules/6.16.9+deb14-amd64/kernel/drivers/gpu/drm/i915/i915.ko.xz vermagic: 6.16.9+deb14-amd64 SMP preempt mod_unload modversions parm: invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int) user@jackson ~ % #+END_EXAMPLE Yes, there are difference. Comparing the parameters: #+BEGIN_EXAMPLE user@cosmo ~ % ls /sys/module/i915/parameters/ | grep dmc dmc_firmware_path enable_dmc_wl user@cosmo ~ % #+END_EXAMPLE #+BEGIN_EXAMPLE user@jackson ~ % ls /sys/module/i915/parameters/ | grep dmc dmc_firmware_path enable_psr2_sel_fetch memtest enable_dmc_wl force_probe modeset user@jackson ~ % #+END_EXAMPLE Also some differences. Weird, I set up both machines using the Debian 13 defaults without any manual package/kernel overrides. Must have been happened by mistake or via dependencies I'm not aware of. So how to fix that? I should have checked the kernel earlier. :-( ****** Getting the Newer Kernel on Cosmo :PROPERTIES: :END: #+BEGIN_EXAMPLE user@jackson ~ % apt policy linux-image-6.16.9+deb14-amd64 linux-image-6.16.9+deb14-amd64: Installed: 6.16.9-1 Candidate: 6.16.9-1 Version table: *** 6.16.9-1 500 500 http://deb.debian.org/debian unstable/main amd64 Packages 100 /var/lib/dpkg/status user@jackson ~ % #+END_EXAMPLE OK, jackson has its kernel from unstable. For whatever reason. Jackson has no =/etc/apt/apt.conf.d/99defaultrelease= file. → I needed some packages from sid/testing and this must have gone wrong somehow. I now set the default release to "trixie" on both machines: #+BEGIN_EXAMPLE echo 'APT::Default-Release "trixie";' | sudo tee /etc/apt/apt.conf.d/99defaultrelease #+END_EXAMPLE On Cosmo, I add unstable sources: #+BEGIN_EXAMPLE echo "deb http://deb.debian.org/debian testing main contrib non-free-firmware" | sudo tee /etc/apt/sources.list.d/testing.list #+END_EXAMPLE After =sudo apt update=: #+BEGIN_EXAMPLE [...] 41 packages can be upgraded. Run 'apt list --upgradable' to see them. user@cosmo ~ % sudo apt list --upgradable cups-bsd/testing 2.4.10-4 amd64 [upgradable from: 2.4.10-3+deb13u1] cups-client/testing 2.4.10-4 amd64 [upgradable from: 2.4.10-3+deb13u1] cups-common/testing 2.4.10-4 all [upgradable from: 2.4.10-3+deb13u1] cups-core-drivers/testing 2.4.10-4 amd64 [upgradable from: 2.4.10-3+deb13u1] cups-daemon/testing 2.4.10-4 amd64 [upgradable from: 2.4.10-3+deb13u1] cups-ipp-utils/testing 2.4.10-4 amd64 [upgradable from: 2.4.10-3+deb13u1] cups-ppdc/testing 2.4.10-4 amd64 [upgradable from: 2.4.10-3+deb13u1] cups-server-common/testing 2.4.10-4 all [upgradable from: 2.4.10-3+deb13u1] cups/testing 2.4.10-4 amd64 [upgradable from: 2.4.10-3+deb13u1] firefox-esr/testing 140.3.1esr-2 amd64 [upgradable from: 140.3.1esr-1~deb13u1] imagemagick-7-common/testing 8:7.1.2.3+dfsg1-1 all [upgradable from: 8:7.1.1.43+dfsg1-1+deb13u2] imagemagick-7.q16/testing 8:7.1.2.3+dfsg1-1 amd64 [upgradable from: 8:7.1.1.43+dfsg1-1+deb13u2] imagemagick/testing 8:7.1.2.3+dfsg1-1 amd64 [upgradable from: 8:7.1.1.43+dfsg1-1+deb13u2] libavcodec61/testing 7:7.1.2-1+b1 amd64 [upgradable from: 7:7.1.2-0+deb13u1] libavfilter10/testing 7:7.1.2-1+b1 amd64 [upgradable from: 7:7.1.2-0+deb13u1] libavformat61/testing 7:7.1.2-1+b1 amd64 [upgradable from: 7:7.1.2-0+deb13u1] libavutil59/testing 7:7.1.2-1+b1 amd64 [upgradable from: 7:7.1.2-0+deb13u1] libcups2t64/testing 2.4.10-4 amd64 [upgradable from: 2.4.10-3+deb13u1] libjson-xs-perl/testing 4.040-1 amd64 [upgradable from: 4.040-1~deb13u1] libmagickcore-7.q16-10-extra/testing 8:7.1.2.3+dfsg1-1 amd64 [upgradable from: 8:7.1.1.43+dfsg1-1+deb13u2] libmagickcore-7.q16-10/testing 8:7.1.2.3+dfsg1-1 amd64 [upgradable from: 8:7.1.1.43+dfsg1-1+deb13u2] libmagickwand-7.q16-10/testing 8:7.1.2.3+dfsg1-1 amd64 [upgradable from: 8:7.1.1.43+dfsg1-1+deb13u2] libnss-myhostname/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] libnss-systemd/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] libpam-systemd/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] libpostproc58/testing 7:7.1.2-1+b1 amd64 [upgradable from: 7:7.1.2-0+deb13u1] libssl3t64/testing 3.5.4-1 amd64 [upgradable from: 3.5.1-1+deb13u1] libswresample5/testing 7:7.1.2-1+b1 amd64 [upgradable from: 7:7.1.2-0+deb13u1] libswscale8/testing 7:7.1.2-1+b1 amd64 [upgradable from: 7:7.1.2-0+deb13u1] libsystemd-shared/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] libsystemd0/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] libudev1/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] libxslt1.1/testing 1.1.43-0.2 amd64 [upgradable from: 1.1.35-1.2+deb13u2] linux-image-amd64/testing 6.16.9-1 amd64 [upgradable from: 6.12.48-1] openssl-provider-legacy/testing 3.5.4-1 amd64 [upgradable from: 3.5.1-1+deb13u1] openssl/testing 3.5.4-1 amd64 [upgradable from: 3.5.1-1+deb13u1] systemd-cryptsetup/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] systemd-sysv/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] systemd-timesyncd/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] systemd/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] udev/testing 258-1 amd64 [upgradable from: 257.8-1~deb13u2] user@cosmo ~ % #+END_EXAMPLE This defaultrelease settings doesn't seem to have much influence. So how to keep trixie/stable as the default for all packages except those who are installed with "-t sid" or similar? Set APT Pinning for Extra Safety: To ensure packages don't accidentally get pulled from unstable, create =/etc/apt/preferences.d/priority= (file did not exist on both hosts): #+BEGIN_EXAMPLE cat << 'EOF' | sudo tee /etc/apt/preferences.d/priority Package: * Pin: release a=stable Pin-Priority: 900 Package: * Pin: release a=trixie Pin-Priority: 900 Package: * Pin: release a=unstable Pin-Priority: 100 Package: linux-image-* linux-headers-* Pin: release a=unstable Pin-Priority: 500 EOF #+END_EXAMPLE Still got packages from unstable or testing when I do =sudo apt upgrade --dry-run= → this is a separate issue.