OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 6:14 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 31 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
 Post subject: Re: VESA Tutorial
PostPosted: Sat Mar 12, 2016 3:25 pm 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
~ 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.

Indeed. Unfortunately I don't manage the server, but I plan to move the contents to a different server.

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Sun Mar 13, 2016 9:28 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
XenOS wrote:
~ 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.

Indeed. Unfortunately I don't manage the server, but I plan to move the contents to a different server.
You can host files on http://www.archive.org

>> 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.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Sun Mar 13, 2016 4:16 pm 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
Nice work!
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?
I can transfer this to the Wiki and help you if you want me to/did not do so yet. Just tell me.

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Mon Mar 14, 2016 12:54 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
max wrote:
Nice work!

Thanks!
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.

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. :mrgreen:

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Mon Jun 13, 2016 7:31 pm 
Offline
User avatar

Joined: Tue May 24, 2016 6:48 pm
Posts: 8
Location: San Francisco
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.


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Wed Jul 13, 2016 5:17 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
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.


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Thu Aug 11, 2016 3:30 pm 
Offline
Member
Member
User avatar

Joined: Fri Aug 07, 2015 6:13 am
Posts: 1134
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!


Less than 30 minutes. :D

_________________
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Tue Jan 31, 2017 11:51 am 
Offline
Member
Member

Joined: Sat Aug 01, 2015 9:05 pm
Posts: 58
Thanks for the tutorial Omar!

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


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Tue Jan 31, 2017 12:39 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
cheapskate01 wrote:
Thanks for the tutorial Omar!

Is there any tutorial on the UEFI GOP you talked about?

I don't know much about UEFI in general, TBH. You can Google around for UEFI docs; they shouldn't be hard to find.
BTW, this tutorial is on the Wiki.

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Fri Oct 06, 2017 6:47 am 
Offline
Member
Member
User avatar

Joined: Sat May 20, 2017 1:25 am
Posts: 51
Location: PCI bus: 3, slot: 9, function: 5
How can I get/use the real screen resolution?
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!


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Fri Oct 06, 2017 7:11 am 
Offline
Member
Member
User avatar

Joined: Fri Feb 17, 2017 4:01 pm
Posts: 640
Location: Ukraine, Bachmut
ARISTOS wrote:
How can I get/use the real screen resolution?
Also does Windows use VBE for graphics? (If not, what?)

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.)

_________________
ANT - NT-like OS for x64 and arm64.
efify - UEFI for a couple of boards (mips and arm). suspended due to lost of all the target park boards (russians destroyed our town).


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Fri Oct 06, 2017 2:27 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
ARISTOS wrote:
How can I get/use the real screen resolution?

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:
Also does Windows use VBE for graphics? (If not, what?)

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.

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.

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.

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.


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Fri Oct 06, 2017 11:26 pm 
Offline
Member
Member
User avatar

Joined: Sat May 20, 2017 1:25 am
Posts: 51
Location: PCI bus: 3, slot: 9, function: 5
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.


EDID works I got the resolution of the screen, Do one of the non standard mode os VBE will contain it?
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!


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Sat Oct 07, 2017 4:08 am 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
ARISTOS wrote:
EDID works I got the resolution of the screen, Do one of the non standard mode os VBE will contain it?

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:
Also I would like to use multiple screens with different resolutions and have different memory address to access them. Am I asking too much?

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.

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
 Post subject: Re: VESA Tutorial
PostPosted: Sun Oct 08, 2017 5:08 am 
Offline
Member
Member

Joined: Thu May 17, 2007 1:27 pm
Posts: 999
zaval wrote:
ARISTOS wrote:
How can I get/use the real screen resolution?
Also does Windows use VBE for graphics? (If not, what?)

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.)

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.

_________________
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].


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 31 posts ]  Go to page Previous  1, 2, 3  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 28 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group