bzt wrote:
Danyy wrote:
Is there any way I could make real hardware detect the video modes I want
Well, yes and no. There is a way to detect video modes without writing a driver, however it will report what the card
actually supports, and not necessarily
what you want. The best you can do is get the list of supported video modes, then look for the resolution which is the closest to the one you want (but there's no guarantee there will be an exact match).
Danyy wrote:
Also, note that my computer doesn't have legacy BIOS, it has UEFI and I am running the OS with CSM.
In that case you definitely will have GOP (in UEFI mode) and both
GOP and
VBE will report exactly the same video resolutions (because in legacy CSM the VBE function is just a wrapper around GOP).
As for VBE, I don't have a tutorial, but
here's a link a working Assembly code in my boot loader. It queries the list of supported modes from VESA VBE, and then sets the mode which is closest to the resolution given in
reqwidth and
reqheight variables.
For GOP,
here's a tutorial. It reports the following modes in my qemu:
On a real machine it will report 20 - 30 modes at least.
Cheers,
bzt
zaval wrote:
GOP reports in every case what modes it does support. Being in the loader, you can query that and set to what you like most. You can also query EDID information, using UEFI, but that makes little sense, because again - what GOP supports, it reports itself. If you find through EDID some higher resolutions, that GOP doesn't claim to support - you wouldn't be able to set them without directly manipulating the display controller, what is only possible if you know what to manipulate. Warning: GOP, as any UEFI protocol, works only before ExitBootServices(), so setting the mode through it is only possible in the loader.
I think I couldn’t clarify. Using VBE I am getting the list of supported video modes and checking the mode that supports 1920x1080x32 and set it, meaning I am not hardcoding any mode. My graphics card being 2080ti and monitor being a 2k monitor, they should support video modes such as 1920x1080x32 but VBE doesn’t report them.
I am asking how I should reach the video modes I want that are already supported my graphics card and that should be reported by VBE but aren't, without writing a driver for my video hard (hopefully)?