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 jgrindle)

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)

IMG_3328.JPG (2.5 MB ) - added by jgrindle 2 years ago.
syslog (499.5 KB ) - added by jgrindle 2 years ago.

Change History (20)

by jgrindle, 2 years ago

Attachment: IMG_3328.JPG added

by jgrindle, 2 years ago

Attachment: syslog added

comment:1 by korli, 2 years ago

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).

KERN: EDID info:
KERN:   Vendor: GSM
KERN:   Product ID: 1
KERN:   Serial #: 16843009
KERN:   Produced in week/year: 1/2016
KERN:   EDID version: 1.3
KERN:   Type: Digital
KERN:   Digital Bit Depth: 0
KERN:   Size: 160 cm x 90 cm
KERN:   Gamma=2.200
KERN:   White (X,Y)=(0.312,0.329)
KERN: Supported Future Video Modes:
KERN: 640x480@60Hz (id=16433)
KERN: 800x600@60Hz (id=16453)
KERN: 1024x768@60Hz (id=16481)
KERN: 1152x864@60Hz (id=16497)
KERN: 1280x1024@60Hz (id=32897)
KERN: Supported VESA Video Modes:
KERN: 720x400@70Hz
KERN: 640x480@60Hz
KERN: 800x600@60Hz
KERN: 1024x768@60Hz
KERN: Additional Video Mode (3840x2160@60Hz):
KERN: clock=594.000000 MHz
KERN: h: (3840, 4016, 4104, 4400)
KERN: v: (2160, 2168, 2178, 2250)
KERN: size: 160.0 cm x 90.0 cm
KERN: border: 0.0 cm x 0.0 cm
KERN: Additional Video Mode (1920x1080@60Hz):
KERN: clock=148.500000 MHz
KERN: h: (1920, 2008, 2052, 2200)
KERN: v: (1080, 1084, 1089, 1125)
KERN: size: 160.0 cm x 90.0 cm
KERN: border: 0.0 cm x 0.0 cm
KERN: Horizontal frequency range = 30..136 kHz
KERN: Vertical frequency range = 58..62 Hz
KERN: Maximum pixel clock = 600 MHz
KERN: Monitor Name: LG TV RVU

comment:2 by jgrindle, 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.

Last edited 2 years ago by jgrindle (previous) (diff)

comment:3 by jgrindle, 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 korli, 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:6 by jgrindle, 2 years ago

Description: modified (diff)

comment:7 by jgrindle, 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 korli, 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:10 by jgrindle, 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 jgrindle, 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:12 by korli, 2 years ago

Please provide a syslog.

comment:13 by korli, 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 jgrindle, 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.

in reply to:  12 comment:15 by jgrindle, 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 jgrindle, 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:17 by diver, 2 years ago

Please try beta4 test candidate and provide a syslog.

Last edited 2 years ago by diver (previous) (diff)

comment:18 by korli, 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.

Note: See TracTickets for help on using tickets.