Opened 7 months ago

Last modified 6 months ago

#18631 new enhancement

cannot use external monitor for my laptop

Reported by: vicky Owned by: rudolfc
Priority: critical Milestone: Unscheduled
Component: Drivers/Graphics/intel_extreme/ironlake Version: R1/beta4
Keywords: monitor, screen, external monitor Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by vicky)

My normal usage of the laptop (so far with Windows) is to keep the lid closed and use an external monitor and keyboard+mouse. Monitor connected via VGA.

This fails with Haiku.

Say, plug in the external monitor, nothing shows up on it. If I restart, close the lid, then initially stuff shows on external, but after choosing Haiku to boot (I use dual boot), and past the row of icons, the screen turns black. The laptop's screen doesn't turn on either. I have to turn off from power button and start again, now with the external monitor disconnected, in order to get laptop's screen on till Haiku is on.

At some points, I managed to show stuff on external, by plugging/unplugging during booting at various points around the boot menu, or after first getting into the boot loader options, but I can't replicate it.

I tried all suggestions here https://discuss.haiku-os.org/t/solved-can-i-use-an-external-monitor-with-my-laptop/7977 , nothing works. By the way, that should not be marked as solved.

In particular, I tried making it use the VESA fall-back driver, and while it shows on external monitor, the resolution is not the right one.

This problem is probably the main reason I can't continue to use Haiku...

Thanks, Vic


Some specs: laptop: Acer Aspire 5733Z (2012)

OS: Haiku 64 bit, Version: R1/beta4, downloaded yesterday;

dualboot Windows, via Installer's boot manager.

Let me know what else to present...

Attachments (2)

syslog (468.6 KB ) - added by vicky 7 months ago.
syslog , attached 5:23pm, oct 18
syslog1 (298.4 KB ) - added by vicky 6 months ago.

Download all attachments as: .zip

Change History (12)

comment:1 by waddlesplash, 7 months ago

Please attach a syslog.

comment:2 by vicky, 7 months ago

Description: modified (diff)

comment:3 by vicky, 7 months ago

Description: modified (diff)

in reply to:  1 comment:4 by vicky, 7 months ago

Replying to waddlesplash:

Please attach a syslog.

OK, I attached the syslog found in /boot/system/var/log/syslog, according to https://dev.haiku-os.org/wiki/ReportingBugs

But from that page, I get that the syslog is per session no? Because what I did before getting the syslog was:

restart with lid closed and external screen plugged. Didn't work, as I explained in ticket. Then I pressed power button to shutdown then again to start it, but this time with external screen unplugged, to get into Haiku session and copy the syslog.

by vicky, 7 months ago

Attachment: syslog added

syslog , attached 5:23pm, oct 18

comment:5 by vicky, 7 months ago

On line 10, there is the recommended resolution of my laptop's screen.

On line 48, there's recommended resolution of my external monitor.

comment:6 by korli, 7 months ago

Component: DriversDrivers/Graphics/intel_extreme/ironlake
Owner: changed from nobody to rudolfc

comment:7 by korli, 7 months ago

Looks like the driver found the two connected ports LVDS and Analog with two different EDID. Now when setting the 1920*1080 mode the LVDS port fails and stays with the old res ("intel_extreme: SetDisplayMode: Hardware mode will actually be 1366x768 at 59Hz"). Setting the same mode on the analog port seems to succeed.

2107	KERN: intel_extreme: IsConnected: Analog A PortRegister: 0x5001100
2108	KERN: intel_extreme: CALLED virtual status_t AnalogPort::SetDisplayMode(display_mode*, uint32)
2109	KERN: intel_extreme: SetDisplayMode: Analog A 1920x1080
2110	KERN: intel_extreme: Enable: PCH_PANEL_FITTER_CONTROL, 0x80800000
2111	KERN: intel_extreme: Enable: PCH_PANEL_FITTER_WINDOW_POS, 0x0
2112	KERN: intel_extreme: CALLED status_t FDILink::PreTrain(display_timing*, uint32*, uint32*, uint32*)
2113	KERN: intel_extreme: PreTrain: FDI Link A:
2114	KERN: intel_extreme: PreTrain: FDI Link Colordepth: 18
2115	KERN: intel_extreme: PreTrain: FDI Link Lanes: 4
2116	KERN: intel_extreme: PreTrain: FDI TX ctrl before: 0xb01c4000
2117	KERN: intel_extreme: PreTrain: FDI RX ctrl before: 0xb01a2050
2118	KERN: intel_extreme: SetFDILink: fPipeOffset: 0x0
2119	KERN: intel_extreme: SetFDILink: FDI/PIPE link reference clock is 270Mhz
2120	KERN: intel_extreme: SetFDILink: FDI/PIPE M1 data before: 0x7e12aaaa
2121	KERN: intel_extreme: SetFDILink: FDI/PIPE N1 data before: 0x800000
2122	KERN: intel_extreme: SetFDILink: FDI/PIPE M1 link before: 0x212f6
2123	KERN: intel_extreme: SetFDILink: FDI/PIPE N1 link before: 0x80000
2124	KERN: intel_extreme: SetFDILink: FDI/PIPE link colordepth: 18
2125	KERN: intel_extreme: SetFDILink: FDI/PIPE link with 4 lane(s) in use
2126	KERN: intel_extreme: SetFDILink: FDI/PIPE M1 data after: 0x7e279999
2127	KERN: intel_extreme: SetFDILink: FDI/PIPE N1 data after: 0x800000
2128	KERN: intel_extreme: SetFDILink: FDI/PIPE M1 link after: 0x46666
2129	KERN: intel_extreme: SetFDILink: FDI/PIPE N1 link after: 0x80000
2130	KERN: intel_extreme: CALLED status_t FDILink::Train(display_timing*, uint32)
2131	KERN: intel_extreme: Train: FDI TX ctrl after: 0xb01c4000
2132	KERN: intel_extreme: Train: FDI RX ctrl after: 0xb01a2050
2133	KERN: intel_extreme: compute_dpll_g4x: required MHz: 148.5, reference clock: 120
2134	KERN: intel_extreme: PLL limits, min: p 5 (p1 1, p2 5), n 3, m 79 (m1 14, m2 7)
2135	KERN: intel_extreme: PLL limits, max: p 80 (p1 8, p2 10), n 7, m 127 (m1 24, m2 11)
2136	KERN: intel_extreme: compute_dpll_g4x: best MHz: 148.5 (error: 0)
2137	KERN: intel_extreme: compute_pll_divisors: found: p = 20 (p1 = 2, p2 = 10), n = 4, m = 99 (m1 = 18, m2 = 9)
2138	KERN: intel_extreme: CALLED void Pipe::ConfigureClocks(const pll_divisors&, uint32, uint32)
2139	KERN: intel_extreme: CALLED void Pipe::ConfigureTimings(display_mode*, bool, port_index)
2140	KERN: intel_extreme: ConfigureTimings(1): fPipeOffset: 0x0
2141	KERN: intel_extreme: CALLED void Pipe::ConfigureScalePos(display_mode*)
2142	KERN: intel_extreme: ConfigureScalePos: fPipeOffset: 0x0
2143	KERN: intel_extreme: CALLED void Pipe::_ConfigureTranscoder(display_mode*)
2144	KERN: intel_extreme: _ConfigureTranscoder: fPipeOffset: 0x0
2145	KERN: intel_extreme: intel_set_display_mode: Port configuration completed successfully!

What the driver does, trying to set up both outputs on the same pipe, isn't what the BIOS did it seems.

Did you try the fall-back VESA in the boot menu, and settings the correct resolution? "Use fail-safe graphics driver" and "Select screen resolution".

comment:8 by pulkomandy, 7 months ago

when setting the 1920*1080 mode the LVDS port fails and stays with the old res

This is not really a fail, this is how it is supposed to work for LVDS (laptop internal display): the port is configured with the display resolution, the pipe with the user requested resolution, and the panel fitter is in between thetwo and should do the rescaling/conversion

This was different in older generations of hardware (the panel fitter was after the port and pipe), and maybe it changed again on newer systems

in reply to:  7 comment:9 by vicky, 7 months ago

Replying to korli:

Did you try the fall-back VESA in the boot menu, and settings the correct resolution? "Use fail-safe graphics driver" and "Select screen resolution".

Yes I tried, but there, there is no 1920*1080 resolution.

by vicky, 6 months ago

Attachment: syslog1 added

comment:10 by vicky, 6 months ago

I produced another syslog, see "syslog1", shorter, this time writing down exactly the steps I took, in case it may help.

  1. Laptop lid open, with unplugged external monitor (EM) , I deleted the old syslogs
  2. Change resolution from 1366x768 (laptop's native) to 1920x1080 (EM's native)
  3. Plug in EM. Nothing shows on it.
  4. Restart and close lid
  1. Boot into Haiku and wait. It keeps showing stuff on EM till and including Haiku's row of icons, then turns black and shows nothing. Waited ~1 min.
  2. Open laptop lid. Waited, nothing shows up on laptop's display.
  3. Press power button to power off, then again to power-on, and uplug EM
  4. Boot into Haiku, on laptop's display.
  5. Change resolution back to 1366x768.
  6. Plug in my USB drive (SanDisk) and copy the new syslog to it.

In the attached syslog1, I insterted approximately where the above steps take place (to the best of my guess). Only for step 5 I could not find the place.

Note: See TracTickets for help on using tickets.