Opened 2 years ago
Last modified 11 months ago
#18004 new bug
intel_extreme not detecting valid resolution/refresh combinations (LG HD TV UH8500, 4k resolution)
Reported by: | jgrindle | Owned by: | rudolfc |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Drivers/Graphics/intel_extreme/kabylake | Version: | R1/beta3 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | x86-64 |
Description (last modified by )
Display: LG TV UH8500 native 3840x2160 connected via HDMI 1.4
Graphics: Intel HD Graphics 630 (on-board)
CPU: Intel Core i5-7600 @3.8GHz
RAM: 16GB
Haiku: hrev56536-x86_64 installed to SSD
The syslog shows a limited number of resolutions detected or possibly assumed (for the display, I think, not the on-board graphics), all at 60Hz. The display itself supports 60Hz at or below 1920x1080, but only supports 30Hz or lower for resolutions higher than 1920x1080.
Screenshot attached of display's highest supported resolutions, as listed from Windows.
In hrev56536 if VESA mode is not selected, the adaptor automatically falls back to 800x600@60Hz (earlier revisions apparently tried to set a higher than 1920x1080 resolution @60Hz by default resulting in a black screen; ctrl+alt+shift+esc successfully forced a lower resolution).
In Screen preferences, the highest resolutions listed are 1920x1080@60Hz and 3840x2160@60Hz, the latter of which is out of range for refresh. There is no way to change the refresh to 30Hz (minimum is 58 on the slider). Selecting 1920x1080@60Hz works.
Note: since this is my first Haiku bug report I may need a little extra help to provide any additional info.
Attachments (2)
Change History (20)
by , 2 years ago
Attachment: | IMG_3328.JPG added |
---|
by , 2 years ago
comment:1 by , 2 years ago
comment:2 by , 2 years ago
I did some checking on my setup and my motherboard's HDMI port is version 1.4, which has a max 30Hz refresh at 3840x2160.
The motherboard has a DisplayPort which supports 60Hz, so I'll purchase a DisplayPort to HDMI cable and give that a try.
comment:3 by , 2 years ago
Connecting the TV with a DisplayPort to HDMI cable works for 3840x2160@60Hz.
Also, I noticed that the Haiku Boot menu (UEFI) lists a resolution of 3840x2160 with this setup, while using the HDMI 1.4 port it lists a (max) resolution of 1920x1080.
I am willing to test future builds on getting HDMI 1.4 to not try 3840x2160@60Hz (use 30Hz instead) if you want to keep this ticket open, as it seems like other users may be limited to only HDMI 1.4.
comment:4 by , 2 years ago
Thanks for the update. I pushed a change at https://review.haiku-os.org/c/haiku/+/5752 I let you know when a build image is available for you to test.
comment:5 by , 2 years ago
comment:6 by , 2 years ago
Description: | modified (diff) |
---|
comment:7 by , 2 years ago
Results from testbuild:
HDMI 1.4 (no Displayport cable attached):
- VESA:(boot option 1920x1080x32) Screen preferences app results:
Resolution: Only 1920x1080 listed
Colors: Only 32 bits listed
Refresh: 30, 60, 70, 72, 75, 80, 85, 95, 100 listed
Initial selection is "nan Hz" but screen is likely 60Hz
Upon applying a new refresh rate, no actual refresh change occurs and Screen preferences app crashes - Intel Extreme (boot option 1920x1080x32) Screen preferences app results:
Resolution: multiple listed; highest are 3840x2160 and 1920x1080 (selected)
applying new resolution crashes Screen preferences app
selecting resolutions below 1920x1080 get applied (with crash)
Note: when new resolution is applied, crash dialog is centered based on original resolution, which may be off-screen; pressing "enter" closes it.
selecting 3940x2160 results in black screen (see refresh below)
Color: 16-bit was initially selected (I think), but 32-bit works (Screen app crashes)
Refresh: only lists "60Hz / Other"; selecting it from the dropdown crashes immediately without pressing "Apply"
Displayport: (no HDMI cable attached):
- VESA (boot option 3840x2160x32) Screen preferences app results:
Resolution: successfully boots with 3840x2160 (and is the only choice listed in Preferences)
Color: Only 32-bit listed
Refresh: 30, 60, 70, 72, 75, 80, 85, 95, 100 listed
Initial selection is "nan Hz", but appears to operate at 60
Applying new refresh rate has no effect (Preferences crashes)
30 Hz becomes grayed out in menu after first attempt to apply a change
- Intel Extreme (boot option 3840x2160x32) Screen preferences app results:
Resolution: successfully boots with 3840x2160 (multiple resolutions listed); all resolutions can be applied, but with a Screen preferences app crash
Note: in this case crash window is always centered after the resolution change is applied; race condition?
Color: each color depth can be selected and applied, but with Screen crash
Refresh: Only "60Hz / Other" is listed; selecting it immediately crashes Screen app
Note: in this case the Slider window outline gets drawn by the time the crash dialog appears; race condition?
comment:8 by , 2 years ago
I could reproduce the Screen crash on Kabylake. Should be fixed in the updated change. I added the default max pixel clock on HDMI for various generations, which should limit what is proposed.
comment:9 by , 2 years ago
comment:10 by , 2 years ago
Thanks for the quick response. I am downloading the new test build...the download of the .iso is very slow for some reason (50% after about 5 hours).
comment:11 by , 2 years ago
Tested; selecting refresh "other" no longer crashes immediately. Other results seem to be unchanged (30 Hz either not selectable or has no effect; display reports "no signal", so I think 3940x2160 on HDMI 1.4 is still trying 60Hz).
Side issue (not sure if already reported): Alt-+ on desktop now immediately makes desktop icons vanish (cleanup doesn't restore them); previously this would happen if you made them too large.
comment:13 by , 2 years ago
There are two problems to distinguish: 1/ the screen preflet should provide refresh rates options for the connected screen. 2/ the driver should be able to switch to the selected mode. is the first problem covered?
comment:14 by , 2 years ago
Unfortunately I didn't see any improvement or just a partial improvement. On first attempt I see 30Hz listed, but after I try to apply it nothing happens and then it is grayed out, even after trying to apply 60Hz again. The refresh rate choices only appear for VESA; otherwise it's just 60 and other (58 - 62). I will gladly keep testing. Thank you for working on this.
comment:15 by , 2 years ago
Replying to korli:
Please provide a syslog.
I'll try to post a syslog in the next day or so. I can add a crash report too.
comment:16 by , 2 years ago
Sorry for not following up on this for so long. Should I continue testing on the developer build, try beta4 test candidate, or wait?
comment:18 by , 2 years ago
Please try again first with a nightly build, for instance hrev56595, and provide a syslog. I've added some support for the CTA block, which could help. Not sure the driver gets all the blocks though.
The following EDID is found, with 3840x2160@60Hz. Isn't 3840x2160@60Hz possible on this hardware via HDMI? I see the range is Vertical frequency range = 58..62 Hz
It looks like the Screen preferences honor the range 58..62, which is obviously not helping.
I see that https://cgit.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/mode.cpp#n752 also insists on a minimum of 48Hz (introduced by Axel in 2006). Might be an idea to only use this for lower resolutions.
We could also check the HDMI max TMDS rate in the VBT (depending on the actual connected port).