5 Star 0 Fork 16

OpenCloudOS Stream/grub2

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0053-efi-gop-avoid-low-resolution.patch 1.58 KB
一键复制 编辑 原始数据 按行查看 历史
nilusyi 提交于 2024-04-07 16:45 . update patches
From 8653a0c4fc7008baeeb8f4e0cfcab6c16df49db8 Mon Sep 17 00:00:00 2001
From: nilusyi <nilusyi@tencent.com>
Date: Mon, 1 Apr 2024 16:43:08 +0800
Subject: [PATCH 053/272] efi gop avoid low resolution
Signed-off-by: Michael Chang <mchang@suse.com>
---
grub-core/video/efi_gop.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
index 9452f5e58..4184bac2c 100644
--- a/grub-core/video/efi_gop.c
+++ b/grub-core/video/efi_gop.c
@@ -358,6 +358,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
grub_err_t err;
unsigned bpp;
int found = 0;
+ int avoid_low_resolution = 1;
unsigned long long best_volume = 0;
unsigned int preferred_width = 0, preferred_height = 0;
grub_uint8_t *buffer;
@@ -376,8 +377,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
}
}
+again:
/* Keep current mode if possible. */
- if (gop->mode->info)
+ if (gop->mode->info &&
+ (!avoid_low_resolution ||
+ (gop->mode->info->width >= 800 && gop->mode->info->height >= 600)))
{
bpp = grub_video_gop_get_bpp (gop->mode->info);
if (bpp && ((width == gop->mode->info->width
@@ -450,6 +454,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
if (!found)
{
+ if (avoid_low_resolution && gop->mode->info)
+ {
+ avoid_low_resolution = 0;
+ goto again;
+ }
grub_dprintf ("video", "GOP: no mode found\n");
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found");
}
--
2.41.0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/opencloudos-stream/grub2.git
git@gitee.com:opencloudos-stream/grub2.git
opencloudos-stream
grub2
grub2
master

搜索帮助