Thursday, September 08, 2022

Re: Dual external monitors not working since drm 5.10.47 upgrade

On 9/8/22 03:07, Jonathan Gray wrote:
> Index: sys/dev/pci/drm/i915/i915_drv.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
> retrieving revision 1.143
> diff -u -p -r1.143 i915_drv.c
> --- sys/dev/pci/drm/i915/i915_drv.c 30 Jul 2022 14:15:20 -0000 1.143
> +++ sys/dev/pci/drm/i915/i915_drv.c 8 Sep 2022 00:33:22 -0000
> @@ -2410,6 +2410,11 @@ inteldrm_attach(struct device *parent, s
> dev_priv->id = id;
> info = (struct intel_device_info *)id->driver_data;
>
> + /* Device parameters start as a copy of module parameters. */
> + i915_params_copy(&dev_priv->params, &i915_modparams);
> + dev_priv->params.enable_guc = 0;
> + dev_priv->params.request_timeout_ms = 0;
> +
> /* Setup the write-once "constant" device info */
> device_info = mkwrite_device_info(dev_priv);
> memcpy(device_info, info, sizeof(*device_info));

This is cleaner and simpler than what I'd suggested. MST continues to
work OK, and I haven't seen anything break as a result of the change. I
did however notice that on a couple of shutdowns I got some additional
console messages, although this _might_ be related to me having disabled
MST in my primary display between boot and shutdown.

> drm:pid8902:drm_dp_check_act_status *ERROR* [drm] *ERROR* Failed to get ACT after 3000ms, last status: 04
> drm:pid8902:drm_dp_check_act_status *ERROR* [drm] *ERROR* Failed to get ACT after 3000ms, last status: 04
> drm:pid8902:drm_dp_check_act_status *ERROR* [drm] *ERROR* Failed to get ACT after 3000ms, last status: 04

I also tested the use of concurrent DP and HDMI outputs on my T470 dock.
Initially I thought that this wasn't working, but I am using a dock with
2xDP + 1xHDMI, and it seems like not all outputs are able to be used
concurrently. So..dual displays with DP & HDMI works OK if I use a
specific DP port on the back of the dock. There does also appear to be
some fudging going on with output names in xrandr when running via the
dock: the HDMI port is presented as DP output. I suspect that this might
be due to the internals of the dock, though.

I've also checked that things work with the laptop undocked...but
realised that it only has a single HDMI output. That works fine, and
xrandr reports the output as HDMI-2. This does however seem to stop
working if the laptop is subsequently docked, with xrandr then reporting
that HDMI-2 is disconnected. This may also just be normal behaviour for
a docked laptop.

Unfortunately there's now so much console output during startup that
dmesg appears to be truncated - so I don't have a full dmesg to share
after applying the new patch. I searched quickly for instructions on
increasing the buffer size but only found a post from jj@ from 2006 (!).
Given that things seem to work OK now I suppose that there's little
interest in seeing a dmesg anyway, but I'm happy to provide one if it's
useful.

Thanks again for the support to investigate this.


Paul

No comments:

Post a Comment