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)
Change History (92)
by , 7 years ago
comment:1 by , 7 years ago
patch: | 0 → 1 |
---|
by , 7 years ago
by , 7 years ago
comment:2 by , 7 years ago
patch: | 1 → 0 |
---|
comment:3 by , 6 years ago
Component: | Drivers/Graphics → Drivers/Graphics/intel_extreme |
---|---|
Owner: | changed from | to
comment:4 by , 6 years ago
by , 6 years ago
comment:5 by , 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 , 6 years ago
Attached is a serial log that i grabbed using a serial null cable. I hope it's of some use.
by , 6 years ago
Attachment: | serial.txt added |
---|
comment:8 by , 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 , 6 years ago
Attachment: | syslog_new.txt added |
---|
comment:9 by , 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.
by , 6 years ago
Attachment: | syslog_patch2.txt added |
---|
comment:11 by , 6 years ago
patch: | 0 → 1 |
---|
comment:12 by , 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 , 6 years ago
Tried patch 3. Frequency is right, but still a black screen. syslog_patch_3.txt attached.
by , 6 years ago
Attachment: | syslog_patch_3.txt added |
---|
comment:14 by , 6 years ago
patch: | 1 → 0 |
---|
comment:15 by , 6 years ago
Serial debugging log attached using hrev52280, which includes modified Intel_extreme driver.
by , 6 years ago
Attachment: | Intel_8086:0152.txt added |
---|
comment:16 by , 6 years ago
Milestone: | Unscheduled → R1/beta2 |
---|
comment:17 by , 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 , 6 years ago
Attachment: | intel_extreme_HDMI_hrev52726.txt added |
---|
hrev52726 x86_64 syslog. HDMI display black screen.
comment:18 by , 6 years ago
Keywords: | IvyBridge added |
---|
by , 6 years ago
comment:22 by , 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 , 5 years ago
Attachment: | intel_syslog.txt added |
---|
comment:23 by , 5 years ago
Component: | Drivers/Graphics/intel_extreme → Drivers/Graphics/intel_extreme/ivybridge |
---|---|
Keywords: | IvyBridge removed |
Owner: | changed from | to
by , 5 years ago
comment:25 by , 5 years ago
Summary: | Intel HD Graphics 2500 black screen → Intel HD Graphics 2500 black screen on VGA out |
---|
comment:26 by , 5 years ago
Milestone: | R1/beta2 → R1/beta3 |
---|
Move tickets that will not be solved in beta2 to beta3.
comment:27 by , 4 years ago
Milestone: | R1/beta3 → R1 |
---|
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 , 3 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:29 by , 3 years ago
Status: | assigned → in-progress |
---|
comment:30 by , 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 , 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 , 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 , 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 , 3 years ago
BTW syslogs for both the 2000 and 2500 are certainly welcome for the current driver version (32bit)..
comment:35 by , 3 years ago
Discard the comments and attachements. I attached to the wrong ticket. Sorry.
by , 3 years ago
Attachment: | previous_syslog added |
---|
by , 3 years ago
comment:36 by , 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 , 3 years ago
Attachment: | Intel_extreme_drv_v3_32bit.zip added |
---|
third testversion intel_extreme driver (32bit)
comment:37 by , 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.
by , 3 years ago
by , 3 years ago
Attachment: | IMG_0354.JPG added |
---|
comment:38 by , 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. :-)
comment:39 by , 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 , 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 , 3 years ago
by , 3 years ago
Attachment: | 1152x864.JPG added |
---|
by , 3 years ago
Attachment: | 800x600.JPG added |
---|
comment:41 by , 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 , 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 , 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 , 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 , 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 , 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 , 3 years ago
Attachment: | DP_HDMI.syslog added |
---|
by , 3 years ago
Attachment: | 640x480.JPG added |
---|
comment:47 by , 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:49 by , 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 , 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 , 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 , 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 , 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 , 3 years ago
Attachment: | IMG_0384.JPG added |
---|
comment:54 by , 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 , 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 , 3 years ago
comment:56 by , 3 years ago
Syslog for test with DP to HDMI adapter cable attached
by , 3 years ago
Attachment: | DP-HDMI.syslog added |
---|
comment:57 by , 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:59 by , 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 , 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.
by , 3 years ago
comment:62 by , 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 , 3 years ago
Resolution: | → fixed |
---|---|
Status: | in-progress → closed |
rudolfc and i agree to close this ticket as the reported problem was resolved.
comment:64 by , 3 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
As it's been recently fixed, the ticket should be in the beta4 milestone, I suppose.
comment:65 by , 3 years ago
Milestone: | R1 → R1/beta4 |
---|---|
Resolution: | → fixed |
Status: | reopened → closed |
In this particular case, the native resolution of the monitor (1680x1050) is supported by the VESA driver.