Jump to content

Windows 8 and BGRT


Tripredacus

Recommended Posts

I found something yesterday while updating some BIOSes.

Windows 8 appears to support something that Linux has had for a bit, the Boot(time) Graphics Resource Table (BGRT) included in the ACPI 5 spec. I've been researching ACPI5 and UEFI 2.3.1 a bit since it started showing up.

ACPI Spec (PDF page 180) :

http://www.acpi.info/DOWNLOADS/ACPIspec50.pdf

The Boot Graphics Resource Table (BGRT) is an optional table that provides a mechanism to indicate that an image was drawn on the screen during boot, and some information about the image.

The table is written when the image is drawn on the screen. This should be done after it is expected that any firmware components that may write to the screen are done doing so and it is known that the image is the only thing on the screen. If the boot path is interrupted (e.g. by a key press), the valid bit within the status field should be changed to 0 to indicate to the OS that the current image is invalidated.

This table is only supported on UEFI systems.

There is a tool where you can see if your hardware has this specific ACPI table. It is called Hardware Editor or Hardware Read & Write Utility.

http://www.heexe.phpnet.us/

While a system may have the BGRT on the system, so far in my testing, this tool can only see it on a Windows 8 install. A Windows 7 install will still read whatever ACPI tables are there, but some do not show up, including the BGRT. But I am sure you are asking what this is about? Well you know when you boot up Windows 8, you see either the blue Window logo or the Beta fish? Well if the BGRT exists and there is something in it, then that image is shown instead!

So far I have found only 1 board that actually has this table, and it is added with a BIOS update. The Intel DH77EB reveals this capability in the release notes for the 0089 version BIOS:

http://downloadmirror.intel.com/21749/eng/EB_0089_ReleaseNotes.pdf

Added support for BGRT

Here is a link to get this BIOS version.

After updating the board with this BIOS, when Windows booted instead of the normal boot logo, the Intel BIOS splash screen appeared instead! It looked pretty funny. Fortunately, Intel provides a tool called the Intel Integrator Toolkit that lets you modify your BIOS:

Intel Integrator Toolkit 5.0.0.544

If you use this tool and open the BIO file, you can choose to replace the boot graphics. On a whim, I just put a picture of a cat playing a trumpet in there (centered on black background, BMP file 1024x768) and saved the BIOS. I then updated the BIOS using the F7 method. Afterwards, Windows 8 booted and showed a cat playing a trumpet instead of the smushed Intel splash screen. :lol:

So what other ones does this work on? Well Google only had this one result. :(

Try this in Google yourself, maybe something new will show up:

site:intel.com type:pdf bgrt

Edited by Tripredacus
updated ITK link
Link to comment
Share on other sites


Well so far, the only board I've seen this on has UEFI 2.3.1 firmware. I still can find no "general use" BIOS modification tool that lets me put a picture in there. And by "general use" I mean either some generic tool, or even a BIOS specific (AMI, Award, Phoenix, Insyde, etc) manipulation tool. Also I forgot to mention that the Intel ITK5 used to modify the DH77EB BIOS is unable to open BIOS files without the extra ACPI tables. I tested this by attempting to open an Intel BIOS from May of this year.

For this Intel one, I am thinking that either the BIOS splash screen is now kept in the BGRT, or it puts it in the old and the new place. I didn't get a chance to compare it with a previous version yet to see if that is true. BUT I will say that old BIOS types that do not have the BGRT and do have the ability to add a custom splash screen will NOT be picked up by Windows 8. Otherwise, no one would have seen the blue Window or the Beta fish when booting Windows 8.

And this BIO file for this Intel board can be updated using either the built-in F7 method, or by using their DOS (or Windows) tool. There was a new version of IFLASH/2 that came out with the 77 board series. If you try to use the older DOS IFLASH/2 it gives you some error about it not being an Intel board. :rolleyes:

Link to comment
Share on other sites

  • 2 weeks later...

Intel Desktop boards DH77KC and DH77DF have new BIOS version 0100 that adds BGRT support. Note from the PDF they speak of an error you get using the ITK 5:

When using KC0100.BIO with the Intel® Integrator Toolkit (ITK) version 5.0.0, these errors may occur:

• Error: Unsupported Logo.

• The opened BIOS does not have this support.

If you need to use ITK version 5.0.0 to customize the BIOS for Intel® Desktop Board DH77KC or DH77DF, do not update to BIOS version 0100. This problem will be fixed in ITK version 5.0.1 and later.

<snip>

Uninstall ACPI BGRT table if legacy boot

http://downloadmirror.intel.com/21846/eng/KC_0100_ReleaseNotes3.pdf

Link to comment
Share on other sites

  • 5 weeks later...

Doing some testing with a new notebook, and I discovered that like Windows 8, WinPE 4.0 has the capability of reading from the BGRT as well. This was evidenced by the fact that instead of the normal Beta Fish boot picture, I saw the BIOS splash screen while booting WinPE. :lol:

Link to comment
Share on other sites

  • 3 weeks later...
:thumbup WOW,this helps as i'm installing on 2 old P4 HT Dells and Win8 says no go;but i have already installed on 3HPs and an Acer with Bios installer helpers :angel from their websites .I believe if Win7SP1 can run on a MoBo,so can Win8Pro!!!!!:rolleyes: thanks keep testing and i'll let ya know what works as i have 6 MoBos to rebuid with all my Win8 Licenses...thanks again :hello:
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...