Opened 20 months ago

Last modified 3 months ago

#17934 new bug

external displays on Fujitsu U7311 laptop and docking station don't work

Reported by: pulkomandy Owned by: rudolfc
Priority: normal Milestone: Unscheduled
Component: Drivers/Graphics/intel_extreme/tigerlake Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

On my laptop (Fujitsu Lifebook U7311), the firmare switches to external display when closing the laptop lid. This works as long as Haiku is not booted.

When booting with the lid open, the driver works fine.

When booting with the lid closed, I get a timing out of range error (tried both DVI and VGA). In the syslog, the display is detected as connected, but the EDID can't be read so we must be missing something in that area.

Attaching different syslogs.

Attachments (6)

syslog.old (512.0 KB ) - added by pulkomandy 20 months ago.
booting with lid closed and external display connected
syslog.2.old (512.1 KB ) - added by pulkomandy 20 months ago.
booting with lid open, intel_extreme works on internal display
i915_vbt (8.5 KB ) - added by pulkomandy 20 months ago.
i915_vbt file from Linux
i915_vbt.txt (12.3 KB ) - added by korli 20 months ago.
syslog (419.1 KB ) - added by pulkomandy 20 months ago.
syslog with experimental patch
syslog.2 (47.5 KB ) - added by pulkomandy 3 months ago.
syslog with DisplayPort to DVI adapter, hrev57531

Download all attachments as: .zip

Change History (16)

by pulkomandy, 20 months ago

Attachment: syslog.old added

booting with lid closed and external display connected

by pulkomandy, 20 months ago

Attachment: syslog.2.old added

booting with lid open, intel_extreme works on internal display

comment:1 by diver, 20 months ago

Component: Drivers/Graphics/intel_extremeDrivers/Graphics/intel_extreme/tigerlake
Owner: changed from pulkomandy to rudolfc
Version: R1/beta3R1/Development

comment:2 by korli, 20 months ago

first syslog, DDI D is found connected, but no EDID could be found. second syslog, DDI A finds an EDID, but not connected (known issue on Gen12).

the VBT show one eDP, one HDMI, two DP, two DP-dual-mode. I'm not sure where DVI and VGA would be connected. Could you please attach the /sys/kernel/debug/dri/0/i915_vbt file from Linux?

comment:3 by pulkomandy, 20 months ago

Yes, it seems DDI D is the DVI port and DDI A is the laptop internal display.

This laptop has:

  • Internal display (I guess eDP)
  • HDMI
  • VGA
  • Docking station DVI
  • Docking station VGA
  • 2 DisplayPort ports on the docking station

There are USB-C/thunderbolt ports too, I don't know if these would appear here.

I will boot linux and get that file.

Last edited 20 months ago by pulkomandy (previous) (diff)

by pulkomandy, 20 months ago

Attachment: i915_vbt added

i915_vbt file from Linux

by korli, 20 months ago

Attachment: i915_vbt.txt added

comment:4 by korli, 20 months ago

The DVI port should be on DDI B, DDI F, or DDI G. For DDI B, no aux channel, so the DDC is probed directly, failure. for DDI F, dp aux probed, failure, no ddc register defined, failure. for DDI G, not probed at the moment.

https://cgit.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/Ports.cpp#n2130 should be extended for E and F (eventually G).

For Gen12 we should add DDI G, H, I (or alias TC4,TC5,TC6), multiple places to fix.

by pulkomandy, 20 months ago

Attachment: syslog added

syslog with experimental patch

comment:6 by pulkomandy, 20 months ago

I still get an "out of range" error on my display and the received DDC data does not seem valid.

comment:7 by korli, 20 months ago

Thanks for the test. Yeah it seems this needs more changes. Possibly a mmio dump of a current i915 driver would be needed, but even then, this only helps to get the EDID and the current connected port. BTW does it work correctly with the framebuffer driver?

comment:8 by pulkomandy, 20 months ago

Yes, with the framebuffer driver, if I start the laptop with the lid open I get the desktop on the internal display. With the lid closed I get the desktop on the external display.

In Linux I get clone mode after the driver initializes.

I don't know if the EDID would be enough to fix my problem. The external display is almost initialized as it shows a "wrong timing" error, and does not go to sleep. So the driver is at least trying to do something there?

comment:9 by pulkomandy, 3 months ago

Summary: external displays on Lenovo laptop and docking station don't workexternal displays on Fujitsu U7311 laptop and docking station don't work

comment:10 by pulkomandy, 3 months ago

Today I bought a DisplayPort to DVI adapter to try the DisplayPort ports on the docking station. This gets me a working display, so that's nice and will help with investigations (and I will be using it this way for now).

Attaching an updated syslog with this setup.

by pulkomandy, 3 months ago

Attachment: syslog.2 added

syslog with DisplayPort to DVI adapter, hrev57531

Note: See TracTickets for help on using tickets.