A roadmap for next-generation mobo firmware

Later this week, I embark on a super-secret mission to Silicon Valley to get a sneak peek at Asus’ upcoming X79 motherboards. At a similar preview event for Sandy Bridge motherboards last year, I got my first hands-on time with the UEFI—that is, the better, more flexible BIOS replacement—that went on to outclass everything in the industry. Asus will probably have a few new UEFI tricks to show off this time around, and I’m curious to see what’s in store. I also have some rather specific thoughts on what should be incorporated in new firmware implementations. When you’ve been reviewing motherboards for more than a decade, you spend an inordinate amount of time thinking about such things—and have a somewhat inflated sense of the value of your opinions.

The BIOS was never that exciting, but its UEFI replacement has the potential to make motherboards much sexier than they’ve ever been before. Mobos have never been that sexy, but bear with me, because contemporary motherboards seem destined to continue offering largely equivalent hardware configurations, performance characteristics, and overclocking potential, making the quality of their firmware one of few things that set them apart from one another.

The most obvious new element the Unified Extensible Firmware Interface brings to the table is support for graphical user interfaces, complete with mouse input. You’d think mouse support would be easy to get right, but I’ve suffered through some truly horrendous implementations plagued by painfully imprecise tracking, seizure-inducing cursor flickering, and frustratingly inconsistent button behavior. Before letting artists loose on a GUI, motherboard makers need to do a better job of nailing the basic input mechanisms.

Asus’ UEFI has had excellent mouse support from the beginning, and that’s one of the reasons we’ve liked it so much. Another is the fact that the interface is snappy and responsive. If old-school BIOSes can effortlessly flip between menus and options instantaneously, then so should their UEFI successors.

I’m a little conflicted when it comes to how the user interface is presented visually. Part of me likes the fact that Asus’ UEFI has an "advanced" mode that follows the same menu structure and layout familiar from years of the company’s BIOSes. This UI still has a stylish skin, and it’s easy to navigate quickly with either the keyboard or the mouse. I love the fact that variables like clock speeds, voltages, and memory timings can be keyed in directly.

While years of poking around in BIOSes makes me particularly comfortable in Asus’ advanced mode, the one-page "EZ" mode provides a taste of what’s possible if old conventions are left behind completely. I’m not sure I’d want to get rid of a simple menu system entirely—that’s probably not realistic given the sheer number of configuration options included in an enthusiast-focused UEFI. However, it would be nice to see commonly used functions accessible through a more user-friendly interface.

Some parts of the UEFI’s job description are ripe for a graphical upgrade. Take fan speed controls, for example. (You didn’t think I’d get through a motherboard-related post without mentioning that, did you?) The best way to define how a fan will respond to changes in temperature is to plot a profile with speed on one axis and temperature on the other. Rather than asking users to key in or select specific values for the start and end points on this curve, a graphical interface could allow those points to be adjusted with the mouse. Asus’ Fan Xpert software for Windows is a pretty good blueprint.

Ideally, users should be able to manipulate several points along the fan curve to define its shape precisely. Each onboard fan header should get its own profile, and the temperature-based speed control needs to work with both DC (three-pin) and PWM (four-pin) fans.

There’s still loads of room to improve even the basic functionality of motherboard fan controls, but the selection of available overclocking and memory tweaking options is pretty solid among the top-tier players. Firmware engineers have spent years piling on clock, multiplier, voltage, and timing controls, and a subset of these could benefit from being consolidated on a single screen with a jazzed-up interface, mouse-friendly sliders, and real-time monitoring to confirm changes.

When overclocking a system, it’s nice to be able to test for stability without risking the integrity of your Windows install. This isn’t a new idea; DFI integrated Memtest86+ into the BIOS of select LANParty boards as early as 2005. Launching Memtest required a reboot, but I suspect UEFIs can do better. The new firmware standard is supposed to have robust application support, and I’d like to see CPU and memory stress tests combined with some basic system monitoring. Users should be able to switch easily between the overclocking controls and an integrated burn-in test without ever leaving the firmware menu.

Adding stress tests to the UEFI wouldn’t just serve the manual overclocking crowd. UEFI-based auto-tuning schemes could benefit from being able to test for stability after each incremental step up in clock speed. You’ll still want to confirm the stability of your final configuration in Windows, but the UEFI could take you right to that point without wasting time loading the OS after every reboot.

Even folks running at stock speeds could benefit from additional UEFI applications. Take integrated flashing utilities, for example. Dating back to the BIOS era, they’ve required that new firmware be loaded off a storage device provided by the user. UEFI-based versions should be able to reach out over the Internet and grab the latest firmware themselves.

Want to go further outside the box? Try an integrated web browser. I don’t see much value in casual surfing through the UEFI, but a browser could allow folks setting up new systems to download the latest drivers to a thumb drive. Throw in some basic diagnostic tools, too, and a robust file manager capable of rescuing important files if the Windows install gets hosed. A lot of PC enthusiasts perform these tasks with secondary PCs or bootable flash drives, but the UEFI should be able to handle them without outside assistance.

I’m getting a sense of deja vu, probably because I called for a similar suite of applications to appear on motherboards via lightweight Linux distributions installed on integrated flash drives. Using the UEFI strikes me as a more elegant solution, especially since it doesn’t require additional onboard storage.

I’m optimistic some of the items on my UEFI wish list will appear on X79 boards. Asus continues to refine its already excellent firmware, MSI has promised big changes in its next-gen firmware, and Gigabyte is readying its first effort after seeing (and hearing me go on about) the successes and failures of early designs. I can only hope all the motherboard makers are listening—not only to me, but also to you. So, how would you like to see UEFIs improved?

Comments closed
    • Flatland_Spider
    • 8 years ago

    I’d like to see a built in KVM over IP solution. It could be a RDP server for GUI operating systems or an SSH server for CLI based OS.

    I’d also like a CLI to UEFI. OpenBoot on SPARC hardware was pretty neat, and text works better over remote links.

    I’d like to see all UEFI code under a open source license. The OEMs only care about testing for Windows compatibility, so they should let the community fix their bugs.

    Extendability should be built in. I’d like to be able to install additional modules, provided the security is there.

    • LoneWolf15
    • 8 years ago

    “Mobos have never been that sexy”

    You take that back!!!

    • jcw122
    • 8 years ago

    I noticed that there is a roadmap missing from this roadmap article…

    • BlackStar
    • 8 years ago

    UEFI? Anyone left caring about that? Coreboot is the future.

      • UberGerbil
      • 8 years ago

      When even one significant motherboard maker or OEM ships with Coreboot, I’ll start paying attention to your “future.”

        • helix
        • 8 years ago

        They should. It would enable faster booting.

        They don’t, because the boot process would consist of several parts (coreboot + grub2 and/or seabios and/or UEFI), and they would be responsible for making those parts fit together.

        A motherboard maker cannot promise a “fast boot” because that includes how the OS performs and hd/ssd etc. What they should do is *their part* of a “fast boot”.

        In the case of laptop OEMs: “systems-with-coreboot” is not a maket segment. And they only do market segments.

      • Flatland_Spider
      • 8 years ago

      Coreboot should be the future. The BIOS/UEFI is a good target for a GPLed FOSS codebase. It would allow the OEMs to pool resources, and the community could contribute features/bug patches. (Mainly bug patches since the OEMs seem to only be concerned about Windows compatibility. >:| )

    • luisnhamue
    • 8 years ago

    When I was going to buy Motherboards, I had 2 options in my mind (due to the budget)

    msi p67a-gd55 or asus p8p67

    I chose MSI, because of Multi-GPU (dual x8 PCI-E when running SLI or crossfire, while ASUS is limited to x4 for the second PCI-E slot)

    But then when I look at ASUS mobo’s UEFI, I feel so envy, because their UEFI actually works, it works perfectly indeed. When u use it, it feels smooth. And it seems that MSI is not planning to update p67 mobo’s to the second generation of their UEFI. too bad!

    • sluggo
    • 8 years ago

    My laptop (HP ProBook 4530s) has two power buttons. One boots windows, the other boots a Linux distribution that allows me to do many of the things requested of an expanded UEFI. It supports all of the hardware on the machine (including the fingerprint scanner) and basically does all the things mentioned above, such web browsing, file transfer, plus email and what-not. Having a browser and filer tranfer built into the BIOS would be handy, but this alternate-boot works very well also. Boots in eight seconds, shuts down in five. I’m using it right now.

    This is a solution that might work only for pre-installed machines, though.

    • Bensam123
    • 8 years ago

    “Ideally, users should be able to manipulate several points along the fan curve to define its shape precisely.”

    What if there were no points and they could simply drag the curve? :O

      • UberGerbil
      • 8 years ago

      The actual fan controls are going to use a look-up table, not some high order polynomial function. So if you drag a curve, you end up guessing which discrete points on that continuous line are the ones it will actually use, whereas working with the actual points you’d know for sure.

    • Krogoth
    • 8 years ago

    I think Geoff is being too ambitious and is forgetting what UEFI is all about.

    UEFI is a BIOS replacement. It is not meant to replace the OS.

    Downloading drivers from UEFI makes very little sense, because you still need access to the OS in order to load up the drivers.

    Firmware updates via internet is about the only thing you could do, but it has the risk of leaving the hole for nasty malware to get through.

    Putting in a web browser is just an invitation for low-level pwnage. You thought that OS reinstallations were bad? A low-level piece of malware can easily destroy your hardware. No thanks, I rather deal with OS reinstallation/restoring images in the worst case.

      • ludi
      • 8 years ago

      [quote<]Downloading drivers from UEFI makes very little sense, because you still need access to the OS in order to load up the drivers.[/quote<] Except that in some cases, you might need to load up those drivers before being able to get online. Catch-22 if you don't have a spare system handy. A UEFI-level we browser wouldn't have to be a full-featured, do-anything implementation, it would need to just be capable of loading and displaying static text and images, open PDF files, and perform basic file transfer operations.

        • Bauxite
        • 8 years ago

        [quote<]open PDF files[/quote<] GOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL not in a good way

      • Bensam123
      • 8 years ago

      Third party storage drivers you need to load when you’re installing a OS…

      Ever try installing Windows XP on a system using AHCI? Access the internet without a network driver? You get the idea.

        • no51
        • 8 years ago

        [quote<]Ever try installing [b<][u<]Windows XP[/b<][/u<] on a system using AHCI? Access the internet without a network driver? You get the idea.[/quote<] There's your problem. And if it were for work, you would've made a slipstreamed image anyways.

    • helix
    • 8 years ago

    Would you like an app store with that, sir?

    • Game_boy
    • 8 years ago

    With all of those features, the UEFI interface would probably need a bootloader. It’s be called UEFIFI, or “Fifi” for short.

    • dashbarron
    • 8 years ago

    [quote<]Take fan speed controls, for example. (You didn't think I'd get through a motherboard-related post without mentioning that, did you?) [/quote<] *grin* I was waiting for it. You seem like a kid in a candy store Geoff!

    • Krogoth
    • 8 years ago

    UEFI is only good for three things.

    A.) Boot loader, (a requirement for bootable GPT partitions)

    B.) Low-level tools (SMART, HDD diagnostics, memtest, CPU-stress etc)

    C.) Setting up profiles (Fan control, clock speed settings, memory timings etc)

    I would like the motherboard guys to keep the UI simple and clean. There’s no need to go nuts on the eye candy.

    • Bauxite
    • 8 years ago

    Network access from the bios level is so incredibly short-sighted…ok, WTF, a browser, are you serious? Somewhere, a room of russian ex-engineers just got really excited about building a new botnet. Why stop there, lets put in a PDF reader for the manual, and a flash player to animate your fan speed settings while were at it!

    A rootkit you can [i<]never[/i<] get rid of, enjoy! Maybe then we will start seeing external eeprom access ports as a "feature", because you'll need it. (perhaps a return of the parallel port...in reverse)

    • shank15217
    • 8 years ago

    Soon we’ll see eufi bloatware… lets add a utrrent client.. angry birds and a mp3/vcd player.. watch this get out of as taiwanese mainboard makers try to differentiate all their Intel mainboards…

      • UberGerbil
      • 8 years ago

      Well, it’s not like it makes any difference once the OS is loaded.

        • bitcat70
        • 8 years ago

        Yeah! But with all those apps you won’t need the OS!

          • UberGerbil
          • 8 years ago

          You kid, but we’ve seen “pre-boot” media players on laptops for playing optical discs without the OS; and people talked about doing the same thing with UEFI. That’s died down AFAIKT now that there’s been so much emphasis on fast boot/resume (and now that SSDs make that more possible), not to mention most people’s media has migrated off their PC anyway (optical discs? What are those?)

            • bitcat70
            • 8 years ago

            Yup, yup. Nobody knows which way computing will go. There are too many things to discover that would affect it. This is just one of many steps along the way.

    • Deanjo
    • 8 years ago

    Oh come on! All those fancy features and not one mention of an embedded Angry Birds game.

    • JohnC
    • 8 years ago

    Don’t really see the point of adding in internet access to such thing – all of my PC’s and other internet-enabled devices at home are not wired to the router, my main PC has a 3rd-party WiFi adapter which always worked perfectly for my needs. Perhaps it is possible to add in drivers for every stand-alone WiFi chipset out there (and keep them constantly updated) for this UEFI thing, but that will require even more time and $$$ spent by motherboard manufacturers, as well as perhaps some extra hardware components (more built-in memory to store all those drivers), and I don’t really want to pay extra $$$ for this overcomplication. People who are extremely lazy and want such feature (downloading and flashing of the BIOS done in couple of mouse clicks with no external storage involved) can already download and install appropriate utility for specific OS from motherboard manufacturer’s site.

      • UberGerbil
      • 8 years ago

      Hypothetically / presumably, it would only work with the ethernet built into the chipset (and/or any additional NICs on the motherboard). If you’re using a 3rd party NIC, you’d be out of luck (ditto for any other add-in cards: this isn’t supposed to replace the OS, just give you low-level access to the hardware that ships on the mobo, although standardized 3rd party stuff that doesn’t require drivers, like HD SMART data and some USB devices, is fair game)

    • squeeb
    • 8 years ago

    Good to hear Gigabyte is working on this…I’ve been buying their boards exclusively for 2-3 years now.

    • chuckula
    • 8 years ago

    [quote<]UEFI-based auto-tuning schemes could benefit from being able to test for stability after each incremental step up in clock speed. [/quote<] You know what UEFI-based auto-tuning schemes could *really* benefit from? T-PAIN [url<]http://www.youtube.com/watch?v=R7yfISlGLNU[/url<]

    • UberGerbil
    • 8 years ago

    Some excellent suggestions, and certainly in line with the various “promise of (U)EFI” slides we’ve been seeing Intel and others roll out for years.

    A few comments/quibbles:[list<][*<] While I agree a (literally) graphical fan control is a nice idea, I'd want all of those points to be directly editable numerically. When I stick a point somewhere on a relatively low-res chart, I want to make sure the resulting numbers are what I think they are (the ASUS controls you illustrate appear to provide that, but as the number of settable points increases there may be a temptation to do away with that) [/*<][*<] Diagnostic tools are the best / most important use for UEFI applications. Memtest is obvious, but you want to be able to test and investigate all the hardware: SMART data from your hard drives, the connections for the chipset audio, the "toolbox" for your SSD, etc. While we're at it, I'd like to see all the good free AV vendors offer UEFI versions, particularly for rootkit testing, though that's probably just an invitation for Norton to pay the mobo folks to hook its malware in at an even deeper level. [/*<][*<][quote<]UEFI-based versions should be able to reach out over the Internet and grab the latest firmware themselves.[/quote<]In theory, I agree; in practice, this would require the motherboard makers to actually exhibit some coherence and control over their support sites. Security issues aside -- a hacked BIOS is a worrisome thing, even if the download isn't automatic -- the firmware files have to be in a known place with a consistent name, or at least be findable -- something that, in the case of some mobo makers, appears to be a tall order. [/*<][*<] I'm not sure I want a full-blown web browser in the UEFI, however. The utility of being able to download the latest drivers, while real, is limited (Linux users have their own mechanism), and it requires a piece of software that gets updated frequently. I don't like the idea of wandering out on the internet -- even just to get drivers -- on a browser without the latest patches, so that probably means I have to download an updated UEFI web browser before I can safely do anything else. At that point I think it's easier to just use a second machine in the traditional way. I'm not saying a UEFI browser wouldn't be useful, just that I'm not sure the amount of (ongoing) developer resources it would require can be justified -- even if it's piggybacked on (say) Opera's mobile browser.[/*<][/list<] But along those lines, if we're fantasizing, I'd like to see a VPN endpoint that would allow a remote user to access the entire UEFI functionality. Scenario: your grandma's machine fails to boot -- crashed hard drive, bad memory, virus, borked Windows, who knows. Over the phone, you tell her to restart it and hold down a magic key -- like F1 to get into the BIOS, but instead it initiates the endpoint and displays a session passcode on the screen. She reads that to you, you enter it into the associated Windows (or iOS, or Android) utility, and now you have complete access to the UEFI on her machine. This kind of functionality has been available in corporate fleets with proprietary utilities, but I'd like to see it widely available at the consumer level. Admittedly it'll mostly go unused (especially if OEMs don't pick it up for their popular laptops) but it could be a lifesaver in some cases.

    • CasbahBoy
    • 8 years ago

    Totally wishful thinking, but MSI won’t be porting their new hotness UEFI to already-released boards, will they?

    • cygnus1
    • 8 years ago

    Geoff, I want all your suggestions implemented ASAP

      • Dygear
      • 8 years ago

      Browser in the BIOS is number one on my list, being able to download drivers from the BIOS for your system is a great idea. Over the wire firmware updates are also great, and I feel that one would follow the other if they implement the browser part of it. Google could do this better then anyone else. They are the only company with the resources to make a BIOS browser possible with all platforms. Apple on the other hand could do it with their systems but that only helps them.

        • Decelerate
        • 8 years ago

        I want what’s in the Lenovo Thinkpads.

        1 or 2 clicks and the mobo knows what it has and will get the corresponding drivers and install them itself (think windows update for firmware).

        I have RoG Gene (III and Z), as well as the Z68 Pro, and what I hate the most is getting those (seemingly) bajillion zip files and install 1 by 1, with ideally a reboot between each, while remembering where I am on this crazy long list.

        In this day and age I think it’s ridiculous that a motherboard doesn’t know what model of chipset/audio/lan it has.

Pin It on Pinterest

Share This