Discussion:
Intel driver problems with xrandr on disconnected output
Krzysztof Halasa
2015-02-17 07:36:00 UTC
Permalink
Hello,

Just experienced a problem:
X.Org X Server 1.16.0
xf86-video-intel-2.99.917
Linux 3.19.0+ x86-32

I'm trying to do a potentially unsupported operation:
$ xrandr
Screen 0: minimum 8 x 8, current 1366 x 768, maximum 32767 x 32767
eDP1 connected 1366x768+0+0 (normal left inverted right x axis y axis)
256mm x 144mm
1366x768 60.00*+
1024x768 60.00
800x600 60.32 56.25
640x480 59.94
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

$ xrandr --addmode HDMI1 1366x768

$ xrandr
Screen 0: minimum 8 x 8, current 1366 x 768, maximum 32767 x 32767
eDP1 connected 1366x768+0+0 (normal left inverted right x axis y axis)
256mm x 144mm
1366x768 60.00*+
1024x768 60.00
800x600 60.32 56.25
640x480 59.94
HDMI1 disconnected (normal left inverted right x axis y axis)
1366x768 60.00
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

And then:
$ xrandr --output HDMI1 --mode 1366x768
xrandr hangs, Xserver crashes, dmesg shows:

WARNING: PID: 168 at drivers/gpu/drm/i915/intel_ddi.c:2127
intel_ddi_compute_config+0x6c/0x80 [i915]()
compute_config() on unknown output!
Call Trace:
[<c1409605>] dump_stack+0x41/0x52
[<c1036e3d>] warn_slowpath_common+0x7d/0xb0
[<f8897adc>] ? intel_ddi_compute_config+0x6c/0x80 [i915]
[<f8897adc>] ? intel_ddi_compute_config+0x6c/0x80 [i915]
[<c1036e9e>] warn_slowpath_fmt+0x2e/0x30
[<f8897adc>] intel_ddi_compute_config+0x6c/0x80 [i915]
[<f88804db>] intel_modeset_compute_config+0x4bb/0xe70 [i915]
[<f8885af5>] intel_crtc_set_config+0x6b5/0xd80 [i915]
[<f8559536>] drm_mode_set_config_internal+0x46/0xc0 [drm]
[<f855d3c6>] drm_mode_setcrtc+0xb6/0x550 [drm]
[<f855d310>] ? drm_mode_setplane+0x220/0x220 [drm]
[<f85517ff>] drm_ioctl+0x1af/0x520 [drm]
...

BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<f889e867>] intel_dp_max_link_bw+0x17/0xa0 [i915]
*pdpt = 000000000d79e001 *pde = 0000000000000000
CPU: 1 PID: 168 Comm: X Tainted: G W 3.19.0+ #8
EIP is at intel_dp_max_link_bw+0x17/0xa0 [i915]
Call Trace:
[<f889e950>] intel_dp_compute_config+0x60/0x660 [i915]
[<c1036e4f>] ? warn_slowpath_common+0x8f/0xb0
[<f8897adc>] ? intel_ddi_compute_config+0x6c/0x80 [i915]
[<f8897aa6>] intel_ddi_compute_config+0x36/0x80 [i915]
[<f88804db>] intel_modeset_compute_config+0x4bb/0xe70 [i915]
[<f8885af5>] intel_crtc_set_config+0x6b5/0xd80 [i915]
[<f8559536>] drm_mode_set_config_internal+0x46/0xc0 [drm]
[<f855d3c6>] drm_mode_setcrtc+0xb6/0x550 [drm]
[<f855d310>] ? drm_mode_setplane+0x220/0x220 [drm]
[<f85517ff>] drm_ioctl+0x1af/0x520 [drm]


int
intel_dp_max_link_bw(struct intel_dp *intel_dp)
{
int max_link_bw = intel_dp->dpcd[DP_MAX_LINK_RATE];
struct drm_device *dev = intel_dp->attached_connector->base.dev;

It seems intel_dp->attached_connector is NULL when called with
unconnected port and the above dereference segfaults.
If I return e.g. DP_LINK_BW_1_62 in such case, there is no segfault, but
xrandr still fails to set the mode.

However, if I issue the above xrandr commands when HDMI1 is connected,
I can disconnect and then connect the monitor and it's working without
a need for further configuration.

What I want to achieve is having HDMI1 ready to display a copy of eDP1
output, with the same resolution, and ignoring HDMI1 EDID (which
potentially lacks 1366x768 video mode).

Ideas?
TIA.
--
Krzysztof Halasa
_______________________________________________
***@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription ad
Banu Anandan
2018-10-23 23:32:27 UTC
Permalink
Hi,

I am experiencing the same problem.

I'm running a 14.04.01 server with kernel 3.13 and I'm trying to force
connect to a display that doesn't provide EDID.

Were you able to resolve this?

Thanks in advance!

Banu


_______________________________________________
***@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/x

Loading...