Getting GOP Info | UEFI Dev (in C)
Getting GOP (graphics output protocol) mode information, and faffing about a bit.
The next video will have setting the mode, but that's just calling SetMode() from the gop with a mode number.
Notes:
- Day 3.14159/infinity of changing audio settings: Added a noise gate filter for this video, but removed it afterwards, since it didn't really help that much and made things choppier.
- I did try and fix cerr for Reset(cerr, FALSE) to reset stderr, and it still doesn't work. It could be similar to simple pointer protocol where OVMF doesn't have a driver included by default, or stderr isn't connected by default, or something else is wrong.
Links:
https://uefi.org/specifications (uefi & other specifications)
UEFI Programming playlist:
https://www.youtube.com/playlist?list=PLT7NbkyNWaqZYHNLtOZ1MNxOt8myP5K0p
Git Repo:
https://github.com/queso-fuego/uefi-dev
Repo state at the start of this video:
git clone --recurse-submodules https://github.com/queso-fuego/uefi-dev
cd uefi-dev
git checkout 6602f47ad24c649b6400015925c4b38601c6a314
Repo state at the end of this video:
git checkout 1fb351194c9f28e93a5ebd072fe9a23c51833544
Next video:
- Making the GOP mode choices into a "scrolling" menu, and setting different GOP modes.
Join the Community Discord: https://discord.gg/yKm4T89QFn
Contact:
https://queso_fuego.srht.site/contact.html
- Let me know if there's anything specific you'd like to see!
Questions about setup/software/etc.?
Check the FAQ: https://queso_fuego.srht.site/about.html
Outline:
0:00:00 Combine printf number functions into 1 function; fail at using stderr
0:23:18 Set up initial empty menu option
0:31:33 Get GOP definitions from UEFI spec
0:58:31 Use LocateProtocol() & QueryMode() to (almost) get GOP info
1:24:40 Fix getting GOP by using pointer, not struct
1:31:32 Up Next & Outro
Music credits:
Winter Night by Sakura Girl | https://soundcloud.com/sakuragirl_official
Music promoted by https://www.chosic.com/free-music/all/
Creative Commons CC BY 3.0
https://creativecommons.org/licenses/by/3.0/
#uefidev #cprogramming #gop