RFC: Native Intel graphics
Posted: Mon Feb 13, 2017 12:44 pm
Hi,
when people on this forum ask how to get beautiful graphics for their OS the answer is often: "Use VBE (or the boot loader) to mode set and never change the mode after that. Writing a driver for modern graphics cards is too hard!" I would argue that this is no longer true for Intel and AMD graphics cards with publicly available documentation.
In the last few days I have written a mode setting driver for Intel's G45 graphics chip. I documented this process in a wiki page.
This is an RFC about said wiki page:
) . I only have the G45 available in hardware but would love to have a driver for the later generations of Intel chips. I do not think that writing a mode setting driver for those cards is much more complicated than writing a mode setting driver for the G45. And it is really not that complicated: My G45 driver is just 600 SLoC. That's shorter than my UHCI driver and UHCI is the least complicated of the USB HCDs.
Thanks,
Alexander
when people on this forum ask how to get beautiful graphics for their OS the answer is often: "Use VBE (or the boot loader) to mode set and never change the mode after that. Writing a driver for modern graphics cards is too hard!" I would argue that this is no longer true for Intel and AMD graphics cards with publicly available documentation.
In the last few days I have written a mode setting driver for Intel's G45 graphics chip. I documented this process in a wiki page.
This is an RFC about said wiki page:
- Is the page comprehensible? Does it define all terms that it uses? Is there anything that is ambiguous or not clearly stated?
- What topics should I elaborate on?
- Is it detailed enough so that you can write your own G45 driver by reading the wiki page + the documentation of specific registers from Intel? If not: What is missing?
- Should we add it to the front page when it is tidied up? The page is arguably in a better shape than many other pages that are linked on the front page.
- The EDID page that I linked to is horrible. This really needs to be cleaned up and supplemented with useful information.
- We need a short page about I²C and DDC. I can write them but my knowledge of DDC mostly comes from reading the Linux kernel source. Does someone have a copy of the E-DDC standard available?

Thanks,
Alexander