Opened 7 years ago

Closed 3 years ago

#13669 closed bug (fixed)

Intel HD Graphics 2500 black screen on VGA out

Reported by: vidrep Owned by: rudolfc
Priority: normal Milestone: R1/beta4
Component: Drivers/Graphics/intel_extreme/ivybridge Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

hrev51365 x86_gcc2 and x86_64 HP Elite 8300 SFF Desktop Name: Intel HD Graphics 2500 Model: Ivy Bridge GT1 Device ID: 8086:0152

Black screen on VGA and DisplayPort

Attachments (27)

listdev (46.3 KB ) - added by vidrep 7 years ago.
syslog (128.8 KB ) - added by vidrep 7 years ago.
dmidecode (22.8 KB ) - added by vidrep 7 years ago.
VESA.png (20.3 KB ) - added by vidrep 6 years ago.
serial.txt (129.8 KB ) - added by vidrep 6 years ago.
syslog_new.txt (165.4 KB ) - added by vidrep 6 years ago.
syslog_patch2.txt (141.3 KB ) - added by vidrep 6 years ago.
syslog_patch_3.txt (141.3 KB ) - added by vidrep 6 years ago.
Intel_8086:0152.txt (144.7 KB ) - added by vidrep 6 years ago.
intel_extreme_HDMI_hrev52726.txt (10.0 KB ) - added by kallisti5 6 years ago.
hrev52726 x86_64 syslog. HDMI display black screen.
syslog.2 (356.5 KB ) - added by vidrep 6 years ago.
intel_syslog.txt (14.7 KB ) - added by vidrep 5 years ago.
syslog.3 (127.8 KB ) - added by vidrep 5 years ago.
previous_syslog (114.3 KB ) - added by vidrep 3 years ago.
syslog.4 (260.8 KB ) - added by vidrep 3 years ago.
Intel_extreme_drv_v3_32bit.zip (64.5 KB ) - added by rudolfc 3 years ago.
third testversion intel_extreme driver (32bit)
syslog.5 (143.5 KB ) - added by vidrep 3 years ago.
IMG_0354.JPG (591.2 KB ) - added by vidrep 3 years ago.
syslog.6 (144.6 KB ) - added by vidrep 3 years ago.
1152x864.JPG (500.4 KB ) - added by vidrep 3 years ago.
800x600.JPG (528.9 KB ) - added by vidrep 3 years ago.
DP_HDMI.syslog (162.0 KB ) - added by vidrep 3 years ago.
640x480.JPG (387.2 KB ) - added by vidrep 3 years ago.
IMG_0384.JPG (575.2 KB ) - added by vidrep 3 years ago.
syslog.7 (433.2 KB ) - added by vidrep 3 years ago.
DP-HDMI.syslog (175.8 KB ) - added by vidrep 3 years ago.
syslog.8 (273.9 KB ) - added by vidrep 3 years ago.

Change History (92)

by vidrep, 7 years ago

Attachment: listdev added

comment:1 by vidrep, 7 years ago

patch: 01

by vidrep, 7 years ago

Attachment: syslog added

by vidrep, 7 years ago

Attachment: dmidecode added

comment:2 by pulkomandy, 7 years ago

patch: 10

comment:3 by vidrep, 6 years ago

Component: Drivers/GraphicsDrivers/Graphics/intel_extreme
Owner: changed from nobody to kallisti5

comment:4 by vidrep, 6 years ago

In this particular case, the native resolution of the monitor (1680x1050) is supported by the VESA driver.

by vidrep, 6 years ago

Attachment: VESA.png added

comment:5 by pulkomandy, 6 years ago

1822	KERN: intel_extreme: compute_dpll_g4x: required MHz: 146.25
1823	KERN: intel_extreme: PLL limits, min: p 5 (p1 2, p2 14), n 1, m 79 (m1 12, m2 5)
1824	KERN: intel_extreme: PLL limits, max: p 80 (p1 8, p2 14), n 3, m 118 (m1 22, m2 9)
1825	KERN: loaded driver /boot/system/add-ons/kernel/drivers/dev/net/ipro1000
1826	KERN: intel_extreme: compute_dpll_g4x: best MHz: 124.571 (error: 21.6786)
1827	KERN: intel_extreme: compute_pll_divisors: found: p = 28 (p1 = 2, p2 = 14), n = 3, m = 109 (m1 = 18, m2 = 7)

Not a very good match…

comment:7 by vidrep, 6 years ago

Attached is a serial log that i grabbed using a serial null cable. I hope it's of some use.

by vidrep, 6 years ago

Attachment: serial.txt added

comment:8 by vidrep, 6 years ago

I built the intel_extreme driver and accelerant using the patch on Gerrit. These were placed in non-packaged, and the system drivers blacklisted. Unfortunately, still a black screen. I have attached the syslog_new.txt for the modified files.

by vidrep, 6 years ago

Attachment: syslog_new.txt added

comment:9 by pulkomandy, 6 years ago

2140	KERN: intel_extreme: PLL limits, min: p 5 (p1 2, p2 14), n 3, m 79 (m1 12, m2 5)
2141	KERN:   Shared Option[0]: full-duplex
2142	KERN: intel_extreme: PLL limits, max: p 80 (p1 8, p2 14), n 8, m 118 (m1 22, m2 9)
2143	KERN: ifmedia_add: Adding Entry...
2144	KERN: intel_extreme: compute_dpll_g4x: best MHz: 124.286 (error: 21.9643)
2145	KERN:   Type: Ethernet
2146	KERN: intel_extreme: compute_pll_divisors: found: p = 28 (p1 = 2, p2 = 14), n = 3, m = 87 (m1 = 14, m2 = 5)

This is only marginally better (we are still only managing to get a 124.286MHz pixel clock when we need 146.25MHz), so we are way off and all timings will be 15-20% lower than expected. I suspect now there is a problem with another constraint (one not mentionned in the logs), because with m=103 we would get much closer:

clock = ref * m / (n * p)

120 * 102 / (3 * 28) = 145.71MHz, about 0.5MHz off-target, is 40 times better.

I will check the VCO limits, and make sure the minimal value for P is indeed 28 (14*2) and not 14 (14*1), which would allow to divide the VCO output (ref * m) by two and probably stay under limits.

comment:10 by vidrep, 6 years ago

Still a black screen with last patch. Attched syslog_patch2.txt.

by vidrep, 6 years ago

Attachment: syslog_patch2.txt added

comment:11 by vidrep, 6 years ago

patch: 01

comment:12 by pulkomandy, 6 years ago

2009	KERN: intel_extreme: PLL limits, min: p 5 (p1 1, p2 14), n 3, m 79 (m1 12, m2 5)
2011	KERN: intel_extreme: PLL limits, max: p 80 (p1 8, p2 14), n 8, m 118 (m1 22, m2 9)
2013	KERN: intel_extreme: compute_dpll_g4x: best MHz: 124.286 (error: 21.9643)
2015	KERN: intel_extreme: compute_pll_divisors: found: p = 28 (p1 = 2, p2 = 14), n = 3, m = 87 (m1 = 14, m2 = 5)

Still not right. I will try to write an unit test for this and debug on my side.

comment:13 by vidrep, 6 years ago

Tried patch 3. Frequency is right, but still a black screen. syslog_patch_3.txt attached.

by vidrep, 6 years ago

Attachment: syslog_patch_3.txt added

comment:14 by pulkomandy, 6 years ago

patch: 10

comment:15 by vidrep, 6 years ago

Serial debugging log attached using hrev52280, which includes modified Intel_extreme driver.

by vidrep, 6 years ago

Attachment: Intel_8086:0152.txt added

comment:16 by pulkomandy, 6 years ago

Milestone: UnscheduledR1/beta2

comment:17 by kallisti5, 6 years ago

Hey, Just noticed I have the same chipset (and same issue) on my Haiku box.

 Intel® HD Graphics 2500

device Display controller (VGA compatible controller, VGA controller) [3|0|0]
  vendor 8086: Intel Corporation
  device 0152: Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller

by kallisti5, 6 years ago

hrev52726 x86_64 syslog. HDMI display black screen.

comment:18 by kallisti5, 6 years ago

Keywords: IvyBridge added

comment:19 by waddlesplash, 6 years ago

Please retest after hrev53040.

comment:20 by vidrep, 6 years ago

Updated to hrev53042, and it still boots to a black screen.

by vidrep, 6 years ago

Attachment: syslog.2 added

comment:21 by vidrep, 6 years ago

New syslog attached

comment:22 by vidrep, 5 years ago

I have attached a summary of the syslog using the pre-built binary provided by PulkoMandy here: https://dev.haiku-os.org/ticket/14301#comment:10

by vidrep, 5 years ago

Attachment: intel_syslog.txt added

comment:23 by pulkomandy, 5 years ago

Component: Drivers/Graphics/intel_extremeDrivers/Graphics/intel_extreme/ivybridge
Keywords: IvyBridge removed
Owner: changed from kallisti5 to pulkomandy

comment:24 by vidrep, 5 years ago

hrev53555 x86_64

Still black screen. I have attached a syslog.

by vidrep, 5 years ago

Attachment: syslog.3 added

comment:25 by pulkomandy, 5 years ago

Summary: Intel HD Graphics 2500 black screenIntel HD Graphics 2500 black screen on VGA out

comment:26 by pulkomandy, 5 years ago

Milestone: R1/beta2R1/beta3

Move tickets that will not be solved in beta2 to beta3.

comment:27 by pulkomandy, 4 years ago

Milestone: R1/beta3R1

No one is working on the intel driver at the moment so it seems no progress will be made on these issues for beta3. Remove them from the milestone so we can better see our status.

comment:28 by vidrep, 3 years ago

Owner: changed from pulkomandy to rudolfc
Status: newassigned

comment:29 by rudolfc, 3 years ago

Status: assignedin-progress

comment:30 by rudolfc, 3 years ago

So: is the screen with the WIP driver fully OK on this system? Please confirm. If not, please upload a photo. Thanks!

comment:31 by vidrep, 3 years ago

On this system 1920x1080 at 60Hz, which is the native resolution of the monitor I’m using, the screen looks completely normal without any anomalies. Changing to lower resolutions causes various kinds of distortion. I’ll try to upload a photo tomorrow as an example.

comment:32 by vidrep, 3 years ago

I updated to hrev55117 x86_64. On my HP monitor only the 1920x1080@60Hz resolution works without any apparent issues. Navigating the menu on this monitor to see what refresh rate the monitor is actually receiving is somewhat cumbersome. I’ll try with the Dell monitor later to see if I can get you some data you can use. Do you want syslogs from these testing sessions?

comment:33 by rudolfc, 3 years ago

Ah ok. Git is not upto date yet, I'm still fiddling a bit with the rest of the code. I was asking about the status of de test 1/2 WIP driver in 32bit.. Thanks for the 64bit report anyway. I'll let you know when git is upto date.

comment:34 by rudolfc, 3 years ago

BTW syslogs for both the 2000 and 2500 are certainly welcome for the current driver version (32bit)..

comment:35 by vidrep, 3 years ago

Tested hrev55120 x86_gcc2h with v2 driver on HP monitor 1920x1080@60Hz native resolution. First boot after installing v2 driver resulted in black screen. Ctl+Alt+Del to reboot resulted in monochrome desktop at 1920x1080@60Hz resolution, with double image on right side of screen as before. I have attached syslog and previous syslog from this test.

Version 0, edited 3 years ago by vidrep (next)

by vidrep, 3 years ago

Attachment: previous_syslog added

by vidrep, 3 years ago

Attachment: syslog.4 added

comment:36 by rudolfc, 3 years ago

OK :-) BTW there's a third version driver in 32bit you could test. IF all is right on the 2500 now also digital connected screens should work: but still just one screen connected at a time. Could you let me know if the behaviour is still OK on analog and/or if you see changed behaviour?

by rudolfc, 3 years ago

third testversion intel_extreme driver (32bit)

comment:37 by vidrep, 3 years ago

I tested with v3 driver, and had to change refresh rate to 54 Hz to get a proper desktop. Switching to 60Hz causes the screen to distort. Syslog attached.

Last edited 3 years ago by vidrep (previous) (diff)

by vidrep, 3 years ago

Attachment: syslog.5 added

by vidrep, 3 years ago

Attachment: IMG_0354.JPG added

comment:38 by rudolfc, 3 years ago

Ah yes, that's correct. I saw something myself as well: I re-enabled the default modeline setup from this driver, where for 1920x1080 I had a 'tighter' modeline (from my own screen) in the driver.

Both should work of course -but- the default line @60Hz requires 3 lanes, where 'my' line just 2. Since the BIOS sets it up for the native modeline from your screen, and that's apparantly also tighter than Haiku's default modeline: therefore the BIOS sets 2 lanes.

The fact that the driver would need 3 lanes @60Hz makes the distortion happen. at the lower refresh the mode 'fits' in 2 lanes and therefore it works OK.

See this line in your syslog:

KERN: intel_extreme: Train: FDI Link Lanes: 3

When you try to set 60Hz.

Are you able to do a test for that screen using a digital connection instead of the analog one? If so, I'd like to know how that works out. Be warned though: the same limitations (more or less) apply there. So set a lower mode than 1920x1080, or see if you can set 55Hz or so..

Update: I'll see if I can replace the default modeline for the 'native' resolution with the full native modeline from the connected screen instead in the future at some point: that would be optimal I think. :-)

Last edited 3 years ago by rudolfc (previous) (diff)

comment:39 by vidrep, 3 years ago

I did a quick test if the v4 driver using a HP (1920x1080@60Hz) monitor. Only 60Hz and lower refresh rates are available. 1920x1080@60Hz shows a normal desktop. The only other setting that works correctly is 1280x1024@60Hz. All other resolutions show a noticeable overscan of the desktop. However, there is no longer any distortion. I’ll follow up by testing this again tomorrow with DisplayPort and providing some photos and syslogs.

comment:40 by vidrep, 3 years ago

Tested hrev55141 x86_gcc2h with v4 driver, using Dell (1680x1050@60Hz) monitor on DisplayPort. The native resolution of 1680x1050@60Hz is the only one showing a normal desktop. As resolution is decreased, the screen produces double and eventually triple desktops with a vertical underscan. I have attached a syslog of this test session as well as a photo showing the desktop at lower resolutions.

by vidrep, 3 years ago

Attachment: syslog.6 added

by vidrep, 3 years ago

Attachment: 1152x864.JPG added

by vidrep, 3 years ago

Attachment: 800x600.JPG added

comment:41 by rudolfc, 3 years ago

Thank you. It turns out your 1680 display is not recognized by the driver: it does not get the DDC/EDID info from it. The result is that a large part of the gfx card is not programmed, resulting in the effects you see. It's no fault of the monitor, as the BIOS -does- see it at system start.

The 1920 screen -is- detected by the driver, so apparantly the analog port DDC channel is functional, but the digital(s) is(are) not.

  • Can you post a few photo's from the 1920 screen with the artifacts you see there so I can maybe get a bit better view on that as well?
  • For the digital connection I will have to find a seperate solution. I cannot help this at this moment as I first need to complete modeprogramming as good as I can.

comment:42 by rudolfc, 3 years ago

BTW maybe you can as extra test try the 1920 screen via a digital connection on the HD2500 as well and upload a syslog from that to rule out with absolute certainty that the 1680 monitor is not picky about how often it needs to send DDC info.

comment:43 by vidrep, 3 years ago

Unfortunately my 1920x1080 monitor only has VGA and HDMI inputs, whereas the PC with HD 2500 only has VGA and DisplayPort outputs. I could purchase a DisplayPort to HDMI adapter cable if need be.

comment:44 by rudolfc, 3 years ago

Hi! So: the digital connected screen (1680), is that a real displayport device? Not using an adaptive cable there between HDMI and displayport?? If so, I'd suggest you indeed try to find such an adapter and retest the digital port via the adapter. It would be very super if we could establish that a real displayport connected device has still trouble, while a HDMI device on the same port has not.

If that's the case: you're in for a displayport extra link programming cycle test ;-)

(I only just now thought of this because of the discussion in the forum..)

comment:45 by vidrep, 3 years ago

Both of my desktop PC's (Intel HD 2500 and HD 2000) have only VGA and DisplayPort outputs.

Dell 2210 monitor (1680x1050@60Hz) - VGA, DVI and DisplayPort inputs

HP 24fw monitor (1920x1080@60Hz) - VGA and HDMI inputs

comment:46 by vidrep, 3 years ago

hrev55143 x86_64 v4 Intel extreme driver

Intel HD 2500 connected from DiplayPort output to HDMI input of HP 24fw monitor with adapter cable. Cycled through all preset display resolutions and refresh rates. Native display resolution of 1920x1080@60Hz appears normal. As resolution is lowered, desktop doubles and triples, and there is a vertical underscan.

syslog and photo (640x480@60Hz) attached

by vidrep, 3 years ago

Attachment: DP_HDMI.syslog added

by vidrep, 3 years ago

Attachment: 640x480.JPG added

comment:47 by rudolfc, 3 years ago

Thanks. Your 1920 is not recognized by the driver (no EDID/DDC) hence no programming (almost) either. Can you tell me if that adapter you are using is a passive, or an active one?

And please test the same adapter with the same screen on the HD2000 (see it's ticket).

Thanks a lot! (I'm trying to get as much info as is possible about why the DDC/EDID does not work for you, and I need all this info to rule out causes)

comment:48 by vidrep, 3 years ago

The adapter is just a passive DP to HDMI cable.

comment:49 by rudolfc, 3 years ago

OK, we have a pattern here: both of your digital connected monitors are not seen on both the HD2000 and HD2500 (missing EDID/DDC). This needs to be solved (as first item) now. I'll see what I can dig up. Thanks for your help!

comment:50 by vidrep, 3 years ago

Updated to hrev55161 and all preset display resolutions are working without any noticeable distortion on VGA output. Thank you for your time and efforts in getting this graphics driver in a working state!

comment:51 by rudolfc, 3 years ago

Hello, could you please test hrev55168 or later to see if you get a picture on the digitally connected screens? Both HDMI and DP should give a picture, though DP won't fully set modes yet.

Please try with one screen connected. If things work as I expect both will display together with an analog screen, but only in the boot resolution (the other screen will switch as usual). The digitally connected screen will only display simultaneously because setmode does not work yet (I need to solve another problem in the driver before setmode-capable-connections will display together, next up).

Please upload a syslog or two and let me know what happens :-) Thanks!

comment:52 by rudolfc, 3 years ago

Hello, Could you please test hrev55189 or later for me? I would expect you to always have a desktop, on both screens connected (if so).. I'd like to get a general status update from you so to speak :-) Thank you!

comment:53 by vidrep, 3 years ago

I have monitor 1 (1920x1080) connected to VGA, and monitor 2 (1680x1050) connected to DP. As long as both are set to a commonly supported resolution (1280x1024), there is a normal appearing desktop on both.

When the screen resolution is not common to both monitors, all I get is a colour bar on the monitor screen, both during boot and afterwards. (see attached photo)

by vidrep, 3 years ago

Attachment: IMG_0384.JPG added

comment:54 by rudolfc, 3 years ago

Hello, Ah OK (nice color bar though :-) So this is a limitation in the BIOS then I 'take it' for now.

Thanks!

comment:55 by vidrep, 3 years ago

Tested today with hrev55203 x86_64, connected from DP output to DP input on the monitor (no adapter cable). All preset display modes now scale properly to the screen. syslog attached (DP to DP on 1680x1050 monitor)

I'll test again using a 1920x1080 monitor and a DP to HDMI adapter cable. (syslog to follow shortly)

by vidrep, 3 years ago

Attachment: syslog.7 added

comment:56 by vidrep, 3 years ago

Syslog for test with DP to HDMI adapter cable attached. This is also working well - no problems.

Last edited 3 years ago by vidrep (previous) (diff)

by vidrep, 3 years ago

Attachment: DP-HDMI.syslog added

comment:57 by rudolfc, 3 years ago

As seen before, the HDMI adapter on this monitor does not change the used comms protocol between card and monitor. It's still DP, just as with the normal DP cable. Nice to see it's OK! Could you try now with an analog screen connected 'alongside' the digital DP screen? I expect only the boot resolution to work correctly on DP then (probably what you had before as well, I see re-reading your comment from then).

I would love to see a syslog from the try with those two monitors, as this will inform me about BIOS decisions done, which I will use in the next update (to make this work OK as well :-)

Thank you!

comment:58 by vidrep, 3 years ago

Do you still need me to perform this test and upload a syslog?

comment:59 by rudolfc, 3 years ago

It has been a while since we last talked. reading back would suggest that I would indeed like that if possible. I can imagine that currently modeswitching would even work OK on both screens. (It does here).

On the 2000 however I think I broke dualhead output, so I need to dive back into that as well.

My plan is to add trying to really program DP resolution on the link level also, which already works on generation 4 over here. DP on 2000 and 2500 currently works by scaling output to the native link and resolution.

comment:60 by vidrep, 3 years ago

Hi Rudolf, I finally got around to testing this again. hrev55399 x86_64. VGA to 1920x1080 monitor, DP to 1680x1050 monitor. Boot screen and Haiku boot menu only appearing on VGA. Once booted, colour bars (same as IMG_0384.JPG) only on VGA. DP monitor is black screen. syslog attached.

Last edited 3 years ago by vidrep (previous) (diff)

by vidrep, 3 years ago

Attachment: syslog.8 added

comment:61 by vidrep, 3 years ago

Is there more testing to be done for this ticket?

comment:62 by rudolfc, 3 years ago

I think not. The only things that I am currently aware of that should still be added is actively programming the FDI link, but I have no direct plans to do that, and the other part is the DP port DDC programming. (I see I wrote it down the other way around: the adapter makes your monitor work on the DP port while using the HDMI protocol, which is OK DDC wise.)

So, as with the 2000 ticket I suggest we close it for now? Let me know what you think.. Thanks!

comment:63 by vidrep, 3 years ago

Resolution: fixed
Status: in-progressclosed

rudolfc and i agree to close this ticket as the reported problem was resolved.

comment:64 by humdinger, 3 years ago

Resolution: fixed
Status: closedreopened

As it's been recently fixed, the ticket should be in the beta4 milestone, I suppose.

comment:65 by humdinger, 3 years ago

Milestone: R1R1/beta4
Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.