From 40e5574b2b22de0a00de4be533ee3b4dc635ec3b Mon Sep 17 00:00:00 2001 From: paravoid Date: Sun, 3 Jul 2022 13:57:05 +0300 Subject: [PATCH] fix: select second gop instance --- efigop/fix/efiboot.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/efigop/fix/efiboot.c b/efigop/fix/efiboot.c index a8d8c76..a865be2 100644 --- a/efigop/fix/efiboot.c +++ b/efigop/fix/efiboot.c @@ -835,6 +835,8 @@ efi_makebootargs(void) bios_efiinfo_t *ei = &bios_efiinfo; int curmode; UINTN sz, gopsiz, bestsiz = 0; + UINTN nhandles; + EFI_HANDLE *handles; /* * ACPI, BIOS configuration table @@ -853,7 +855,9 @@ efi_makebootargs(void) /* * Frame buffer */ - status = BS->LocateProtocol(&gop_guid, NULL, (void **)&gop); + BS->LocateHandleBuffer(ByProtocol, &gop_guid, NULL, &nhandles, &handles); + status = BS->HandleProtocol(handles[1], &gop_guid, (void **)&gop); + BS->FreePool(handles); if (!EFI_ERROR(status)) { if (gopmode < 0) { for (i = 0; i < gop->Mode->MaxMode; i++) { -- 2.38.5