Opened 8 months ago

Last modified 6 weeks ago

#15456 new bug

EFI booted Haiku sets wrong resolution (regression)

Reported by: KapiX Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: System/Boot Loader/EFI Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All


This has worked for me on hrev53511 and is broken on hrev53555. (64-bit)

CPU: i7-8700k GPU: GeForce GTX750Ti

Booting with EFI loader through GRUB2. Earlier resolution would be set to native 1920x1080. Now it boots by default with 1024x768, even though the boot menu says 1920x1080 by default.

If I enter that menu and select 1920x1080 (so not really changing anything) that resolution is set correctly.

Forcing GRUB to 1920x1080 doesn't fix this (it did use 1024x768 before, and hrev53511 booted with 1080p) so it's unlikely GRUB is the culprit here.

I tried to bisect but both hrev53524 and hrev53525 (EFI refactor) booted from USB stick boot in 1080p. The difference is Haiku from the USB is loaded by the mobo (no GRUB) while Haiku on the hard disk is loaded by GRUB.

I can't provide a syslog because of #15455 and with on-screen output pagination must be disabled because otherwise the kernel panics with "cannot acquire spinlock".

Change History (6)

comment:1 by KapiX, 8 months ago

Ticket for spinlock panic: #15457

comment:2 by tqh, 8 months ago

You havn't enabled BIOS compability mode (CSM) or similar in the settings? If you do that it will not use native video resolution on boot.

comment:3 by KapiX, 8 months ago

No, I did not touch EFI settings.

If I boot into an older state it works as it did before, so it definitely is a Haiku regression.

Interesting thing is the resolution mismatch in boot menu: it says 1920x1080 but if I just enter the boot menu and without changing anything Continue booting it will boot with 1024x768 (which appears to be default for my mobo because POST logo is using it). However, as said in the description, if I "change" the res to 1920x1080 then it boots with selected native res.

Perhaps some parameter is no longer passed to the kernel?

I did not rebuild haiku_loader.efi so maybe there is an incompatibility somewhere?

EDIT: I also want to point out that it's the loader that's setting it, because GRUB is forced to operate in 1080p now, and Haiku changes that back to 1024x768.

Last edited 8 months ago by KapiX (previous) (diff)

comment:4 by pulkomandy, 5 months ago

Component: System/Boot LoaderSystem/Boot Loader/EFI

comment:5 by waddlesplash, 6 weeks ago

Check your "VESA settings" file; I think the EFI loader uses this to set a resolution if one was not selected in the menu.

comment:6 by KapiX, 6 weeks ago

Ah, yes, indeed mode was set to 1152x864. No idea what could have changed it.

Screen should probably report that discrepancy? (Resolution was always set to 1920x1080 in the panel, with no way to change it.)

It works now. Thanks!

Last edited 6 weeks ago by KapiX (previous) (diff)
Note: See TracTickets for help on using tickets.