Display Port -> HDMI and Haiku

So I purchased a new 27" QHD monitor (2560x1440) from Dell, and later on discovered that it has USB-C connector, and 2 HDMI inputs (sadly, no Display Port). The Radeon 5600XT has Display port and HDMI. The only cables I have are DP->DP, USB-C → USB-C, and DP->HDMI (1.4). The only combination that works is DP->HDMI. So lets test it:

So under Haiku and VESA drivers, the monitor comes up nicely as 2560x1440. Yay Haiku, works like a charm. I can even set refresh rates to 75Hz. All is good with VESA driver in Haiku.

Under both Windows 11 and Linux Mint, the monitor is restricted to 2048x1080. Obviously the AMD driver doesn’t like something with the HDMI cable (rated 1.4). So it drops the resolution to this weird resolution.

So I’m fuming right now that the big boys cannot get the driver right for this combination, yet with VESA it obviously works. And I need to order another cable combination (probably DisplayPort out to USB-C in). Rage mode ON.

6 Likes

Did you try to select manually the resolution:

HDMI 1.4 is the problem. Buying a HDMI 2.0 cable resolved the issue. With AMD adrenaline drivers, you can set custom resolutions and frequencies, but that didn’t work (Dell has actual EDID parameters in user manual, and even monitor drivers).

Anyhow, Haiku VESA driver worked perfectly with the DP->HDMI 1.4 cable. The Win/Linux AMD driver is the culprit here.

1 Like

The link explains that it’s possible to reduce the required pixel clock for such a resolution, see the mode 2560x1440R with HDMI 1.4 too.

Thanks Korli, I got a $10 HDMI 2.0 cable and it just works (both Linux and Win). I just wanted to post the positive experience I had with Haiku, since in this scenario the most simple driver (VESA) worked while the more complex drivers (AMDGPU and Radeon Adrenaline) failed to drive the monitor correctly. As you pointed out, the fact that it worked with Haiku indicates that it should have also worked with the mainstream OS’s, but the driver developers chose to exclude the higher resolutions, for reasons only known to them. All is good now.

2 Likes

hello, I got a new hdmi 1920x1080 (Dell 24’') screen, and I have some problems with haiku, it seems to displays at 1920x1080 but the display is compact and not pixel perfect, there are some black borders around the display (3 cm on the left and the right, and 2 cm on the top and bottom). It’s using VESA driver.

I’ve tried to change the screen refresh (60 or 75 hz), but when I change it it won’t refresh anything. Then I’ve tried to play with the resolutions and force a refresh, but with all available resolutions there is still those block borders.

I can’t change the display size / clock in the screen options, so I don’t know what to do. On Linux the display is as expected.

Check the resolution / clock / color depth settings in the boot menu and play with the options.

In the boot menu (accessed with ctrl + space on bootup) there is only the resolution and color depth. I can’t set anything else (like clock). And in hdmi mode my screen can’t use “autoset”. It seems also we can’t adjust clock in hdmi or dvi, it’s only for vga: Clock and phase - Lagom LCD test

it is possible to use a different video driver? Where could I find it? (it’s a nvidia geforce GTX 660)

Are we talking about the same boot menu? extrowerk was talking about Haiku bootloader menu accessed by shift or space…
Unfortunately, if your card isn’t supported by the nvidia driver, your choice is limited between vesa and failsafe drivers. If your booting via EFI, framebuffer driver is used instead of vesa and it comes with some limitations. I’m not sure that framebuffer driver allows you to change resolution after boot; dedicated drivers do.

there is no efi on this computer. I think it’s the same boot menu there are the same options, I’ve always started it with ctrl+space, maybe only space would be sufficient.

I’ll try to redirect the video on the second screen instead, it’s smaller but should have a better rendering…