Indeed. Unfortunately I don't manage the server, but I plan to move the contents to a different server.~ wrote:By the way, your website at http://hwdb.mipt.cc/Main_Page is down. I can't see it, it just doesn't load.
VESA Tutorial
- xenos
- Member
- Posts: 1118
- Joined: Thu Aug 11, 2005 11:00 pm
- Libera.chat IRC: xenos1984
- Location: Tartu, Estonia
- Contact:
Re: VESA Tutorial
Re: VESA Tutorial
You can host files on http://www.archive.orgXenOS wrote:Indeed. Unfortunately I don't manage the server, but I plan to move the contents to a different server.~ wrote:By the way, your website at http://hwdb.mipt.cc/Main_Page is down. I can't see it, it just doesn't load.
>> I opened my account a year ago and I've uploaded around 50 Gigabytes (I want to upload my whole 5-Terabyte drive). <<
It's public domain, free; it gets automatically distributed as a torrent.
It can also can be seen from the web as a regular Geocities website, but with unlimited space (it seems that it's better and easier to upload files smaller than 2GB).
It's like Archive.org and other helpers like ArchiveTeam did it to compensate what happened to Geocities.
YouTube:
http://youtube.com/@AltComp126
My x86 emulator/kernel project and software tools/documentation:
http://master.dl.sourceforge.net/projec ... 7z?viasf=1
http://youtube.com/@AltComp126
My x86 emulator/kernel project and software tools/documentation:
http://master.dl.sourceforge.net/projec ... 7z?viasf=1
- max
- Member
- Posts: 616
- Joined: Mon Mar 05, 2012 11:23 am
- Libera.chat IRC: maxdev
- Location: Germany
- Contact:
Re: VESA Tutorial
Nice work!
I can transfer this to the Wiki and help you if you want me to/did not do so yet. Just tell me.omarrx024 wrote:Thanks! Unfortunately, I don't know how to edit the Wiki (using tags, etc). It tooks me a while just to add my OS to the Projects list.
Is there a manual/guide?
- BrightLight
- Member
- Posts: 901
- Joined: Sat Dec 27, 2014 9:11 am
- Location: Maadi, Cairo, Egypt
- Contact:
Re: VESA Tutorial
Thanks!max wrote:Nice work!
No, thanks. I will probably add a link to this topic on the Wiki or learn how to write a Wiki page when I'm less lazy.max wrote:I can transfer this to the Wiki and help you if you want me to/did not do so yet. Just tell me.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
- jeaye
- Posts: 8
- Joined: Tue May 24, 2016 6:48 pm
- Libera.chat IRC: jeaye
- Location: San Francisco
- Contact:
Re: VESA Tutorial
It's been a few months since this was posted; max offered to copy it over to the wiki, but you said you'd get around to it. Is it safe to assume now that it's not going to happen, and we can take max up on his offer?
This is one of the more helpful VESA write ups and it'd be great to have it on the wiki.
This is one of the more helpful VESA write ups and it'd be great to have it on the wiki.
- BrightLight
- Member
- Posts: 901
- Joined: Sat Dec 27, 2014 9:11 am
- Location: Maadi, Cairo, Egypt
- Contact:
Re: VESA Tutorial
I've put it on the Wiki here.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
Re: VESA Tutorial
Less than 30 minutes.omarrx024 wrote:VESA Tutorial
Hello. Today, I'm posting specifically to teach people who want graphics all about VESA. That means that in less than 30 minutes, you'll be able to have a high-color graphics world in your OS!
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
-
- Member
- Posts: 58
- Joined: Sat Aug 01, 2015 9:05 pm
Re: VESA Tutorial
Thanks for the tutorial Omar!
Is there any tutorial on the UEFI GOP you talked about?
Is there any tutorial on the UEFI GOP you talked about?
"That I'm in forum signatures is just a sign the invasion of sortie is nearing completion. Soon you'll all have to become me to defeat me." ~ Sortie
- BrightLight
- Member
- Posts: 901
- Joined: Sat Dec 27, 2014 9:11 am
- Location: Maadi, Cairo, Egypt
- Contact:
Re: VESA Tutorial
I don't know much about UEFI in general, TBH. You can Google around for UEFI docs; they shouldn't be hard to find.cheapskate01 wrote:Thanks for the tutorial Omar!
Is there any tutorial on the UEFI GOP you talked about?
BTW, this tutorial is on the Wiki.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
- Coconut9
- Member
- Posts: 51
- Joined: Sat May 20, 2017 1:25 am
- Location: PCI bus: 3, slot: 9, function: 5
Re: VESA Tutorial
How can I get/use the real screen resolution?
Also does Windows use VBE for graphics? (If not, what?)
Also does Windows use VBE for graphics? (If not, what?)
How people react when a new update of your OS is coming:
Linux user: Cool, more free stuff!
Mac user: Ooh I have to pay!
Windows user: Ah not again!
Linux user: Cool, more free stuff!
Mac user: Ooh I have to pay!
Windows user: Ah not again!
Re: VESA Tutorial
Search for EDID. Monitor reports loads of things with it about itself. Its documentation is available on the VESA site. I wish I could elaborate, but tbh, I am a noobass here yet.) On my target, there is two LCD controllers driving HDMI port. GPU isn't involved here at all. You somehow get access to EDID through I2C, and then knowing what the monitor supports, set aforementioned LCD controllers appropriately. Not only resolution, - timings, framebuffer format, DMA/interrupts etc. It's a long way to learn for me yet.)ARISTOS wrote:How can I get/use the real screen resolution?
Also does Windows use VBE for graphics? (If not, what?)
- BrightLight
- Member
- Posts: 901
- Joined: Sat Dec 27, 2014 9:11 am
- Location: Maadi, Cairo, Egypt
- Contact:
Re: VESA Tutorial
If you mean the display's optimal screen resolution, you should use EDID. The EDID is a block of information that the monitor reports about itself, and it includes the optimal screen resolution.ARISTOS wrote:How can I get/use the real screen resolution?
Windows uses VBE when there is no graphics driver available, otherwise it uses the graphics driver which would also normally allow things like acceleration, hardware blitting and other features that wouldn't be possible using VBE.ARISTOS wrote:Also does Windows use VBE for graphics? (If not, what?)
Unless you're writing a graphics driver, you don't need to know that many details on how to communicate with the monitor itself; VESA offers function 0x4F15 which allows you to request the EDID block. The BIOS does all the dirty work for you in this function. Look at the VBE EDID specification. The defined structures tell you all you need to know.zaval wrote:You somehow get access to EDID through I2C, and then knowing what the monitor supports, set aforementioned LCD controllers appropriately. Not only resolution, - timings, framebuffer format, DMA/interrupts etc.
In case the EDID function fails or the information in it isn't valid, you can either use a default mode (like 640x480 or 800x600) or ask the user for their preferred mode from the list of supported modes.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
- Coconut9
- Member
- Posts: 51
- Joined: Sat May 20, 2017 1:25 am
- Location: PCI bus: 3, slot: 9, function: 5
Re: VESA Tutorial
EDID works I got the resolution of the screen, Do one of the non standard mode os VBE will contain it?omarrx024 wrote: Unless you're writing a graphics driver, you don't need to know that many details on how to communicate with the monitor itself; VESA offers function 0x4F15 which allows you to request the EDID block. The BIOS does all the dirty work for you in this function.
In case the EDID function fails or the information in it isn't valid, you can either use a default mode (like 640x480 or 800x600) or ask the user for their preferred mode from the list of supported modes.
Also I would like to use multiple screens with different resolutions and have different memory address to access them. Am I asking too much?
How people react when a new update of your OS is coming:
Linux user: Cool, more free stuff!
Mac user: Ooh I have to pay!
Windows user: Ah not again!
Linux user: Cool, more free stuff!
Mac user: Ooh I have to pay!
Windows user: Ah not again!
- BrightLight
- Member
- Posts: 901
- Joined: Sat Dec 27, 2014 9:11 am
- Location: Maadi, Cairo, Egypt
- Contact:
Re: VESA Tutorial
Yes. You should scan the supported modes to find the screen resolution you want. On top of that, you should never rely on "standard modes," because most BIOSes support them for backward compatibility only, and the specification says they really don't have to support them if they don't want to. So you should always scan modes and not hardcode numbers.ARISTOS wrote:EDID works I got the resolution of the screen, Do one of the non standard mode os VBE will contain it?
VBE does not offer multiple monitor support. You'll need a real graphics driver to achieve that, and each graphics device will implement it in a different way.ARISTOS wrote:Also I would like to use multiple screens with different resolutions and have different memory address to access them. Am I asking too much?
You know your OS is advanced when you stop using the Intel programming guide as a reference.
Re: VESA Tutorial
I really dislike posting to necro'd threads but I got a question here. Are the display controllers for those ARM SoCs you're working with (the ones driving the HDMI port, not the number crunching GPU chips) typically documented? If I know the timings, is the documentation sufficient to set them? Is there documentation on how to drive the I2C bus? The I2C (as well as DDC and EDID) protocol is fairly simple (a few lines of C code); the question is if access to the pins itself is documented.zaval wrote:Search for EDID. Monitor reports loads of things with it about itself. Its documentation is available on the VESA site. I wish I could elaborate, but tbh, I am a noobass here yet.) On my target, there is two LCD controllers driving HDMI port. GPU isn't involved here at all. You somehow get access to EDID through I2C, and then knowing what the monitor supports, set aforementioned LCD controllers appropriately. Not only resolution, - timings, framebuffer format, DMA/interrupts etc. It's a long way to learn for me yet.)ARISTOS wrote:How can I get/use the real screen resolution?
Also does Windows use VBE for graphics? (If not, what?)
managarm: Microkernel-based OS capable of running a Wayland desktop (Discord: https://discord.gg/7WB6Ur3). My OS-dev projects: [mlibc: Portable C library for managarm, qword, Linux, Sigma, ...] [LAI: AML interpreter] [xbstrap: Build system for OS distributions].