Workaround helps improve gaming performance on outdated Intel CPUs — Resizable Bar UEFI mod works with CPUs as old as Sandy Bridge

Lee Duna@lemmy.nz to Technology@lemmy.world – 216 points –
Workaround helps improve gaming performance on outdated Intel CPUs — Resizable Bar UEFI mod works with CPUs as old as Sandy Bridge
tomshardware.com
34

I'd like to see some benchmarks to know if it made any measurable difference.

My i7- 4790K from 2014 thanks you.

4790k brother!

I still have my 4790k too!

I swear basically everyone that bought one just never got rid of it.

Even now I’m thinking “I may need an upgrade… in a couple years”

I know it is due an upgrade... but I can't really convince myself to spend 1000€ on a new rig (mobo, cpu, cooling, DDR5, M.2) when I am still able to do everything I want with this decade old CPU.

I have a 4770k that's happily chugging along. It's the only windows machine left in the house. I'm not the one using it but it's a fine machine (it used to run linux before I sadly had to downgrade it to pass it along to my SO).

It doesn't get to run any games though. I'll have to see if it's worth it to mess with it.

The only game I'm having stutters in is Escape From Tarkov (CPU intensive, and optimized for single-core).

Other than that, It runs everything I throw at it without a flinch.

My current main machine is a Ryzen 3900 which I have yet to overload. The 2080 gpu may be a problem if I upgrade to a large ultrawide monitor though.

Now I'm a bit out of the loop with this.

Would there be any benefit for a 8700k paired with a 1080ti?

In order to use the resizable BAR/SAM feature, you need a compatible CPU and GPU. This would make it possible to use older CPUs but you'll still need a compatible GPU which I think it's series 2000 and newer for nVidia, so no.

edit: technically you also need a compatible motherboard, but seems like most of them are, never hurts to double check

Hmm, I've got a 3080 in my i7 5930K system. I wonder if it works on that?

Solid chance. Take a peek at the github repo, someone might have even done it already

Somehow I doubt that manufacturers of 13 years old motherboards are going to update their UEFIs... I would love to be proven wrong, but it was hard enough to find a UEFI able to POST with a 2080 super already.

Edit: I apologize for having missed the point entirely. I would like to thank SteveTech@Programming.dev for bringing this to my attention. This is actually a firmware hacking mod that works by flashing an already modified (using the tools documented in the linked page) firmware to the UEFI EEPROM of a motherboard.

However I will take the opportunity of hijacking my own comment to point out a couple (important) facts:

  1. Ron Minnich, one of the coreboot developers, once gave me the following, (hardware) life saving advice:

Do not flash firmware on a UEFI EEPROM without having a mean to rescue your board. Meaning buy another chip, get a programmer and keep the original firmware onto the original EEPROM.

  1. Some UEFI firmwares are signed. Obviously, modifying them will break the cryptographic signature. This might entirely prevent you from flashing them, but if it does not, it will in any way always prevent the motherboard from checking the integrity of the file. Therefore, only modify a verified firmware, in a way that you understand. And ideally, sign it afterwards with your own key (or at least keep a copy of its hash in a separate location). This will not help wrt the motherboard, but it will absolutely help you making sure the firmware has not been modified any further.

That's exactly why this project exists, to allow users to add ReBAR support to their old motherboards.

I'm running up against the wall of breaking the signature. I guess my motherboard protects itself from unsigned modifications and idiot tinkerers 😂

You might be able to drop the manufacturer's keys somehow[^1] but I would not recommend.

If you still really want to do this, I would advise you to:

  1. Unsolder the eeprom
  2. Solder a slot-in socket instead
  3. Get a new blank chip
  4. Get an eeprom programmer
  5. Dump the eeprom to a bin file
  6. Flash that bin file onto the new eeprom
  7. Test that the motherboard POSTs
  8. Search for cryptographic signatures (possibly compressed, possibly obfuscated - rolling XOR, reversed, etc) in the bin file
  9. Hack around that bin file trying to blank the keys, or better yet, replace them with yours.
  10. Go to step 7, repeat.

Of course, you could always flash the modified bin onto the new eeprom directly at step 6, but what's the fun in that? 😅

Also, if you really do this(!), please don't forget to document. 🙏

[^1]: I doubt they went as far as "fusing" them in the factory, it would be perceived as "overkill" for a general public product - which I assume it is - and would run the risk of bricking upgradibility of the board, should the manufacturer lose the keys. Plus, it doesn't help anything (quite the contrary) if the keys are somehow leaked by the manufacturer.

Welp. My skills end at #1. So I guess I'm SOL 😂 Thanks for this though! I like knowing that it's possible, even if it's outside of my current ability 🙂

Well, technically, if you can do #1, you can probably do #2... 😋

And then the rest doesn't require advanced skills, with the exceptions of point #8. Using a programmer is essentially the same as with any other tool. There is a method, you follow it, and you never, ever get close to the blade with your hands when the machine is running. Oh, no, wait, that is for a different tool. 🙃

For sure haha I meant I don't have soldering skills. I know there's a hardware BIOS programmer device I could get, but I feel like at that point, I may as well get a new motherboard 👀

If you're getting a new motherboard anyway you might as well give it a go. There are some micro soldering training kits you can pick up for ~£15 to practice.

Sandy Bridge was such a monster when it dropped. Weird to see it in this context. shakes cane

If only I had access to a windows machine to patch my old ass motherboard 🥹🫡

I haven't completed read through the tutorial, but UEFITool does exist for Linux. (I had unsuccessfully added NVMe support to an old motherboard previously)

Managed to get MMtools working with wine. But now I am running up against issues with my motherboard and failing the security verification of the modified bios 😅

Stay tuned… 🤓

I tried it out with my Linux box. There’s a step that requires MMtools that I can’t run with out windows unfortunately 🥲

use a winPE boot image?

Whoa. I didn’t know this was a thing! Windows live CD! That’s awesome. Thank you for this! I managed to get MMtools working with wine. But definitely gonna try a few things with this since I’m getting some security verification failures with the modified bios 👀

I don't understand why linux doesn't get all the love patches like Windows.

Honestly. I suspect in this scenario, the popular use case for enabling Resizable Bar is for gaming. I was hoping to improve my video transcoding experience. 🥸

Linux, thanks to steam, is better at gaming than windows, esecially for older games. Proton ftw

Love Steam for that. That reminds me… gotta get me a Steam Deck!

This is common on the cheap X79 and X99 motherboard combos being sold in aliexpress, they even add nvme support.