Mini DisplayPort port not recognized on i915 driver for Linux 5.3 (Ubuntu 19.10)

Bug #1861218 reported by Jonas Møller
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Description: Ubuntu 19.10
Release: 19.10

What I expected to happen: The Mini DisplayPort connection should appear.
What happened: There appears to be no Mini DisplayPort connection.

On Ubuntu 19.04 (Linux 5.0.0-x) Mini DisplayPort worked, when upgrading to Ubuntu 19.10 (Linux 5.3.0-x) it stopped working after a reboot.

The computer is a Lenovo T530 with Intel(R) Core(TM) i5-3210M integrated graphics.

No DP connection shows up in /sys/class/drm
$ ls /sys/class/drm/
card0 card0-LVDS-1 card0-VGA-1 renderD128 version

Unsurprisingly no DP connection shows up when running xrandr either.
$ xrandr
Screen 0: minimum 8 x 8, current 1600 x 900, maximum 32767 x 32767
LVDS1 connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 340mm x 190mm
...
VGA1 disconnected (normal left inverted right x axis y axis)

Module parameters:
$ modinfo -p i915
modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)
enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6) (int)
enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
panel_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
reset:Attempt GPU resets (0=disabled, 1=full gpu reset, 2=engine reset [default]) (int)
vbt_firmware:Load VBT from specified file under /lib/firmware (charp)
error_capture:Record the GPU state following a hang. This information in /sys/class/drm/card<N>/error is vital for triaging and debugging hangs. (bool)
enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool)
enable_psr:Enable PSR (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int)
force_probe:Force probe the driver for specified devices. See CONFIG_DRM_I915_FORCE_PROBE for details. (charp)
alpha_support:Deprecated. See i915.force_probe. (bool)
disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)
enable_ips:Enable IPS (default: true) (int)
fastboot:Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int)
prefault_disable:Disable page prefaulting for pread/pwrite/reloc (default:false). For developers only. (bool)
load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool)
force_reset_modeset_test:Force a modeset during gpu reset for testing (default:false). For developers only. (bool)
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 <email address hidden>, if your machine needs it. It will then be included in an upcoming module version. (int)
disable_display:Disable display (default: false) (bool)
mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int)
verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool)
nuclear_pageflip:Force enable atomic functionality on platforms that don't have full support yet. (bool)
edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int)
enable_guc:Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto, 0=disable [default], 1=GuC submission, 2=HuC load) (int)
guc_log_level:GuC firmware logging level. Requires GuC to be loaded. (-1=auto [default], 0=disable, 1..4=enable with verbosity min..max) (int)
guc_firmware_path:GuC firmware path to use instead of the default one (charp)
huc_firmware_path:HuC firmware path to use instead of the default one (charp)
dmc_firmware_path:DMC firmware path to use instead of the default one (charp)
enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)
enable_dpcd_backlight:Enable support for DPCD backlight control (default:false) (bool)
enable_gvt:Enable support for Intel GVT-g graphics virtualization host support(default:false) (bool)

The problem is present on both Wayland and X11.

The problem is present on both Linux 5.3.0-18 and Linux 5.3.0-29.

Tags: eoan
Jonas Møller (jonasml)
description: updated
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1861218

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: eoan
Revision history for this message
Jonas Møller (jonasml) wrote :

The DisplayPort stuff appears to have moved
https://elixir.bootlin.com/linux/v5.2.21/source/drivers/gpu/drm/i915/intel_dp.c
https://elixir.bootlin.com/linux/v5.3.18/source/drivers/gpu/drm/i915/intel_dp.c

It not being contained to a single file might make it more difficult to get a proper diff (I have no idea how the i915 driver works,) but I'm cloning the Linux repo to see if I can find any interesting changes.

Revision history for this message
Jonas Møller (jonasml) wrote :

Scratch that, they moved it from drivers/gpu/drm/i915/intel_dp.c to drivers/gpu/drm/i915/display/intel_dp.c

Revision history for this message
Jonas Møller (jonasml) wrote :

The diff is large, about 2000 lines.

Going to try out a few different versions of the driver all the way up to 5.3.0 to narrow it down.

Revision history for this message
Jonas Møller (jonasml) wrote :

Ran the apport-collect 1861218 command, doesn't appear to have changed the status of the issue.

Changing the issue status back to new.

Changed in linux (Ubuntu):
status: Incomplete → New
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1861218

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Jonas Møller (jonasml)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Please test latest mainline kernel:
https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.5/

Revision history for this message
Jonas Møller (jonasml) wrote :

The regression appears to have been resolved as of:

$ uname -sr
Linux 5.4.18-1-MANJARO

As seen in the `uname` output this isn't on Ubuntu, but it's solved on my end by installing a more recent Linux kernel.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.