Winddy,
Thanks for reporting this issue back.
I agree with your analysis. Could you please submit a patch to correct this?
Regards,
Ray
-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of winddy
Sent: Tuesday, November 17, 2015 2:19 PM
To: edk2-devel
Subject: [edk2] It seems something wrong in
GraphicsConsoleControllerDriverStart() when user defined resolution is not
supported
Dear Experts,
Now I meet a problem: my GOP driver has something wrong that it only
supports 800x600 and 640x480, but I defined screen resolution as 1024x768
before (PcdVideoHorizontalResolution, PcdVideoVerticalResolution). When it
boots to shell, screen scroll function seems wrong.
I think the reason is that: variable HorizontalResolution and
VerticalResolution are not set correctly.
In line 473, Console driver will try to set OEM resolution, if failed, then
try 800x600, if still failed, uses current resolution. in my case, 1024x768
failed, 800x600 success, but HorizontalResolution and VerticalResolution are
still 1024, 768. so InitializeGraphicsConsoleTextMode() may set wrong text mode.
So I think solution is that: remove the result check of set mode 800x600
(see below, line 490). Whatever 800x600 is set successfully or not, we should
update HorizontalResolution, VerticalResolution, and CurrentMode(ModeNumber) to
match the real setting.
After removed it, screen scroll function is OK under shell. (my
GraphicsConsole driver is older, but I think the problem is similar.)
Thanks.
//
// if not supporting current mode, try 800x600 which is required by
UEFI/EFI spec
//
Status = CheckModeSupported (
Private->GraphicsOutput,
800,
600,
);
Mode = Private->GraphicsOutput->Mode;
//-if (EFI_ERROR (Status) && Mode->MaxMode != 0) { //
<--- remove this line.
//
// Set default mode failed or device don't support default mode, then
get the current mode information
//
HorizontalResolution = Mode->Info->HorizontalResolution;
VerticalResolution = Mode->Info->VerticalResolution;
ModeNumber = Mode->Mode;
//-}
// <--- remove this line.
--
BR
winddy_zhang
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel