воскресенье

[Bug 2069511] Re: drm error on dual 4K@60Hz - one screen off and CRTC refresh not correct

Awesome, the kernel team fixed this in 24.10; Or the upstream patches
have landed from another report.

I was really hoping this bug was fixed, breathing new extended life into
a pretty good 16GB workstation, where my Lenovo X1 Yoga G6 can run again
with dual 4K@60Hz 32". And it IS!

Thank you for fixing, what I assume, most have been some kind of
improper coordination between the window manager and the display
hardware through the DRM subsystem.

To recap, the working scenario this bug is based on, is where my
*slightly* slower XPS 9380 can use a single TB3 port to a Dell WD19TB
dock, where I can attach one DP1.2 4K@60Hz, and then a 2nd one via a
USB-C dock (CM 201355-BLK) plugged into the TB3 port on the WD19TB.
Both displays show kernel startup in sync, and switch to correct 4K@60Hz
modes.

On the X1 Yoga G6, as it is TB4, I already knew I couldn't use the
single TB3 port to the WD19TB to drive both 4K@60Hz at the lower HBR2
rates required by Display1.2 using the same configuration. Using a 2nd
TB4 port for the USB-C dock (CM 201355-BLK) should work. This is where
I hit this bug, where some kind of wiring up of

I expect if I plug both my 4K DP1.2 monitors into either dock (CM
201355-BLK or Dell WD19TB) everything probably looks fine, but one of
the displays will be @30Hz.

--
You received this bug notification because you are subscribed to linux
in Ubuntu.
Matching subscriptions: Bgg, Bmail, Nb
https://bugs.launchpad.net/bugs/2069511

Title:
drm error on dual 4K@60Hz - one screen off and CRTC refresh not
correct

Status in linux package in Ubuntu:
New

Bug description:
Updated (6/17/24). The scenario is two identical 4K-HDR@60Hz DP1.2
monitors, one plugged into a TB3 dock, plugged into one TB4 port, and
the second plugged into a DP-Alt-Mode dock on a 2nd TB4 port on my
laptop, with a closed laptop lid (eDP off)

The expected behavior is for both my monitors to enumerate on boot,
with mirrored kernel consoles to appear on boot, or after drm
correctly initializes during boot, and then for gdm to present a login
screen on one of the two monitors as part of an extended desktop
across both screens side-by-side.

Since the end monitors are DP1.2, they are limited to HBR2,
simplifying the expected protocol configuration on either TB3 or TB4
ports, as each 4K@60Hz HDR monitor will use 4x5.4Gbps lanes (21.6Gbps)
to deliver the required 16Gbps using TB3 or TB4.

It works perfectly, in the same configuration on my Dell XPS 9380
(WhiskeyLake-U GT2 [UHD Graphics 620]) using two Alpine Ridge
TB3/JHL6540 ports.

On my Lenovo X1 Yoga G6 (TigerLake GT2 [Iris Xe Graphics]) using Tiger
Lake LP TB4 ports, one monitor remains off during the boot process,
and then they switch, and the opposite monitor remains off during the
gdm3/mutter/wayland startup. (Used to file this bug report)

The workaround is to toggle the display refresh (switching from 60Hz,
to 30Hz (monitor wakes up), then back to 60Hz). (I log in blindly as
the gdm3 prompt is on the screen that is off, and then right click to
"Display Settings" once logged in)

This results in my functioning extended desktop across both screens
@HDR-4K-60Hz.

Even in the final working state, there are obvious issues I can see.
The first is the drm_info reports that one of the monitors is still
running at 30Hz, which is not the case.

imac@imac-X1-Yoga:~$ cat drm.txt | grep -A8 "CRTC 1"
485:│ ├───CRTC 1
486-│ │ ├───Object ID: 167
487-│ │ ├───Legacy info
488-│ │ │ ├───Mode: 3840x2160@30.00 driver phsync nvsync
489-│ │ │ └───Gamma size: 256
490-│ │ └───Properties
491-│ │ ├───"ACTIVE" (atomic): range [0, 1] = 1
492-│ │ ├───"MODE_ID" (atomic): blob = 389
493-│ │ │ └───3840x2160@30.00 driver phsync nvsync

The second is gnome shell messages, I assume are from mutter, which
repeat periodically, but are shown here from the journal log captured
between starting up with one screen off, and fixing it by toggling the
refresh as described above.

Jun 17 09:34:04 imac-X1-Yoga gnome-shell[3795]: Page flip failed:
Failed to set mode 3840x2160 on CRTC 167: Invalid argument

Jun 17 09:34:04 imac-X1-Yoga gnome-shell[3795]: Failed to post KMS
update: Failed to set mode 3840x2160 on CRTC 167: Invalid argument

Inspecting xrandr, wayland_info and drm_info shows that drm_info does
not align with the other two outputs. I have attached the full outputs
as xrandr.txt, wayland.txt and drm.txt respectively.

I am trying to figure out how to get more debug from these errors, as
it looks like drm is making an error as to how the port and monitors
line up, if I was to just guess.

3689:Jun 15 13:21:22 imac-X1-Yoga gnome-shell[3006]: Page flip failed: Failed to set mode 3840x2160 on CRTC 167: Invalid argument
3690:Jun 15 13:21:22 imac-X1-Yoga gnome-shell[3006]: Failed to post KMS update: Failed to set mode 3840x2160 on CRTC 167: Invalid argument
3695:Jun 15 13:21:22 imac-X1-Yoga gnome-shell[3006]: Page flip failed: Page flip of 167 failed, and no mode set available

There are a lot of unused ports to possibly confuse DRM.

imac@imac-X1-Yoga:~/ownCloud/tmp/Monitors/Yoga$ for p in /sys/class/drm/*/status; do con=${p%/status}; echo -n "${con#*/card?-}: "; cat $p; done
DP-10: disconnected
DP-1: disconnected
DP-2: disconnected
DP-3: disconnected
DP-4: disconnected
DP-5: connected
DP-6: disconnected
DP-7: disconnected
DP-8: disconnected
DP-9: connected
eDP-1: connected
HDMI-A-1: disconnected
HDMI-A-2: disconnected
HDMI-A-3: disconnected

I am looking hard at i915/xe/drm as the culprit, especially given the
conflicting output from drm_info after I toggle the monitors into the
correct working configuration manually.

Any help appreciated

ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: linux-image-6.8.0-35-generic 6.8.0-35.35+1
ProcVersionSignature: Ubuntu 6.8.0-35.35-generic 6.8.4
Uname: Linux 6.8.0-35-generic x86_64
ApportVersion: 2.28.1-0ubuntu3
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Sat Jun 15 14:07:15 2024
EcryptfsInUse: Yes
HibernationDevice: #RESUME=UUID=57cb4898-6884-49ba-a5ba-74ac837dd3e7
InstallationDate: Installed on 2017-12-08 (2382 days ago)
InstallationMedia: Ubuntu 17.10 "Artful Aardvark" - Release amd64 (20171018)
MachineType: LENOVO 20XY0027US
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-6.8.0-35-generic root=UUID=55cd97c8-08cc-4c11-8fb2-a7e0e7b10386 ro intel_iommu=igfx_off acpi_enforce_resources=lax mitigations=off
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-6.8.0-35-generic N/A
 linux-backports-modules-6.8.0-35-generic N/A
 linux-firmware 20240318.git3b128b60-0ubuntu2.1
SourcePackage: linux
UpgradeStatus: Upgraded to noble on 2024-05-06 (40 days ago)
dmi.bios.date: 02/02/2024
dmi.bios.release: 1.67
dmi.bios.vendor: LENOVO
dmi.bios.version: N32ET91W (1.67 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20XY0027US
dmi.board.vendor: LENOVO
dmi.board.version: SDK0K17763 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 31
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.ec.firmware.release: 1.36
dmi.modalias: dmi:bvnLENOVO:bvrN32ET91W(1.67):bd02/02/2024:br1.67:efr1.36:svnLENOVO:pn20XY0027US:pvrThinkPadX1YogaGen6:rvnLENOVO:rn20XY0027US:rvrSDK0K17763WIN:cvnLENOVO:ct31:cvrNone:skuLENOVO_MT_20XY_BU_Think_FM_ThinkPadX1YogaGen6:
dmi.product.family: ThinkPad X1 Yoga Gen 6
dmi.product.name: 20XY0027US
dmi.product.sku: LENOVO_MT_20XY_BU_Think_FM_ThinkPad X1 Yoga Gen 6
dmi.product.version: ThinkPad X1 Yoga Gen 6
dmi.sys.vendor: LENOVO

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2069511/+subscriptions

Комментариев нет:

Отправить комментарий