Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed EFI loader for UGA protocol #1584

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

frarohi
Copy link
Contributor

@frarohi frarohi commented Jan 27, 2025

Since FreeBSD Rel. 13.0, EFI boot on an Apple MacBookPro3,1 17", NVidia GeForce 8600M GT with UGA graphics ends with a black screen, after display of the 'Start @' message. Most probably this is the case for any machine with EFI/UGA.

Looking into the code, framebuffer.c/efi_find_framebuffer returned with error when no GOP graphics was found, instead of continuing with probing UGA graphics.

Furthermore, switching to the now detected UGA graphics blanked the screen until the kernel took over. UGA graphics code in the loader seems to be buggy and may need to be investigated.
Until then, a patch is introduced in efi_console.c/cons_update_mode to use text mode in this case.

CHANGES:

stand/efi/loader/framebuffer.c:

  • Fixed getting EFI framebuffer settings for UGA protocol.
  • Added Apple MacBookPro3,1 framebuffer parameters for 17" model with 1680x1050 screen.
    stand/efi/libefi/efi_console.c:
  • Disabled switching to UGA graphics since UGA graphics protocol is broken.
    stand/efi/loader/bootinfo.c:
  • Added 'No framebuffer found' message

stand/efi/loader/framebuffer.c
- Fixed getting EFI framebuffer settings for UGA protocol.
- Added Apple MacBookPro3,1 framebuffer parameters for 17" model with 1680x1050 screen.
stand/efi/libefi/efi_console.c
- Disabled switching to UGA graphics since UGA graphics protocol is broken.
stand/efi/loader/bootinfo.c
- Added 'no framebuffer found' message
@frarohi frarohi requested a review from bsdimp as a code owner January 27, 2025 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant