1 Star 0 Fork 98

周正亮/grub2

forked from src-openEuler/grub2 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
grub2-efi_gop-avoid-low-resolution.patch 1.16 KB
一键复制 编辑 原始数据 按行查看 历史
zhangqiumiao 提交于 2024-03-04 03:17 . update to 2.12
---
grub-core/video/efi_gop.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
--- 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
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
}
}
+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
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");
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhou-zhengliang/grub2.git
git@gitee.com:zhou-zhengliang/grub2.git
zhou-zhengliang
grub2
grub2
master

搜索帮助