[help needed] asrock x99 taichi modding : rebar + cpu microcodes + default bios values

Hi,

May I ask for some guru assistance please ?

I’m trying to mod my bios on an asrock X99 taichi. I have several reasons to achieve :

  1. CPU microcodes are not up to date, and maybe that’s the reason why I can’t backup my system in clonezilla (screen is all messed up with error messages and cpu microcode refs) (I can backup in rescuezilla though)

  2. I want to add and enable Resizable Bar for my new nvidia GPU to perform “better” (as it does underperform according to benchmarks)

So I read a lot of things, and here are the steps I followed and that I would be glad if some experts would validate. Questions are in BOLD BLUE

Preliminary actions - I gathered :

  • the manufacturer original bios(es) : 1.80 (my actual bios) and 1.82beta (a beta bios from 2019, with “updated” microcodes but they are still not up to date according to UBU) from https://www.asrock.com/mb/intel/X99%20Taichi/index.fr.asp#BIOS

  • uefitool 0.28 from h_ttps://github.com/LongSoft/UEFITool/releases/tag/0.28.0

  • ReBarDxe.ffs from h_ttps://github.com/xCuri0/ReBarUEFI

  • UBU (uefi bios updater) from h_ttps://winraid.level1techs.com/t/tool-guide-news-uefi-bios-updater-ubu/30357

  • uefitool NE from h_ttps://github.com/LongSoft/UEFITool/releases

  • IFRextractor from h_ttps://github.com/LongSoft/IFRExtractor-RS/suites/9555751857/artifacts/454700873

  • HxD hex editor

  • read the guide UEFItool guide at [Guide] How to extract/insert/replace EFI BIOS modules by using the UEFITool

Then I followed those steps :

  • modding (adding dxe driver) at the end of the big dxe section with uefitool(non ne), like explained here h_ttp://www.youtube.com/watch?v=vcJDWMpxpjEE

  • updated CPU microcodes as explained in the UBU thread

  • saved the bios with the option to remove flash protection (the bios has the exact same size after that)

And there starts the questionning :

on the ReBarUEFI github from xCuri0, there is something that is quite disturbing : “Some firmware don’t clear NVRAM variables (ReBarState) when the CMOS is cleared. This can be a problem as CMOS clear will reset BIOS settings (4G/CSM) while keeping ReBarState enabled requiring you to boot with iGPU/non-rebar GPU to disable ReBarState. To mitigate this issue you can use AMIBCP to enable 4G decode and disable CSM by default.”

I understood that :

  • amibcp is not really available (is it ?)
  • amibcp SHOULD NOT be used on “aptio V” bioses (99% of messing things), and it IS the plaform of my bios
  • there are some “MMtool” available somewhere, I downloaded them, I can open my bios, but there is no place where I could change default settings values

so how do I perform that task of changing default values in bios ? because I have clearly struggled to simply enable “above 4G decoding” in my actual bios, I did it maybe 10 times because either a) my windows did boot but I had no more bios post and display so no more bios settings or b) I had bios screen but windows would not boot and stay with a single “-” in top left corner …

so well, now that I have :

  • moved from mbr to gpt => ok
  • disabled CSM in bios and enabled “above 4G decoding” and “above 4G decoding patch” => ok
  • and that I have windows booting AND bios POST

how do I do that “simple task” of changing default values ?

I found this thread about UEFI editor (h_ttps://winraid.level1techs.com/t/tool-uefi-editor/91500/4)

But I’m quite struggling at :

  • finding the “setup” section in the bios : the search for “high precision” pattern finds nothing and “HPET” finds only a section named “Platform” and not “setup” (but there are some “setup” matches sections elsewhere in the bios) => should I take and use this “Platform” PE32 ? => tried that one => the tool opens up settings but there is no “above 4g decoding”

==> tried the other section :

Unicode text “setup” in LzmaCustomDecompressGuid/PE32 image section at header-offset 42CCh

==> the tool opens up, and there ARE “above 4G decoding” and CSM sections

  • then … what should I set in the fields of the settings I want to mod ? “01” instead of “00” (to enable) ? or “0A” or what ?

  • and finally, how to reintegrate the eventual modded file(s) ? I used uefitool(non NE) and searched for AMITSE guid (B1DA0ADF-4F77-4070-A88E-BFFE1C60529A), then “replace body” of the setupdata section (identified as freeform subtype guid), saved file, reopened it OK. => is that the way to go ?

Am I safe here flashing the moded file in my bios ? I’m not really confident, if I did something wrong that I don’t even notice (?) (yeah, I have the chance to have a 2nd bios chip, and a safe backup between both chips, I used it already when I had no POST display, but I’d rather avoid this process as much as I can)

  1. CPU Microcodes… are usually not required to be updated manually if you use the latest windows version, it would use the latest mcode from windows update. usually replacing mcode is useful if you want to use a specific mcode.

  2. Here is the bios with rebar (you could try flash it using instant flash): X99TC_1.rar (7.3 MB)

And follow this guide to enable it: Enabling hidden 4G decoding · xCuri0/ReBarUEFI Wiki · GitHub

Your Above 4G Variable is at 0x87, and Above 4G Patch is at 0x141

thanks,

that’s a good way to find for good the right “setup” section, and that’s another interesting thing to know.

However, I already have above 4G settings available in my bios and that does not solve my issue : if I ever clear cmos, I will most certainly have a blank screen and booting to run RebarState is undoable since screen is blank (and I have tested : default bios settings DISABLEs above 4G decoding AND ENABLEs CSM, so the combo that will blank screen if clear cmos does not clear rebarstate).

So, if amicp is not to be used to change default settings values, is my approach of using uefi editor correct ?

I opened in HxD the bios you kindly offer, and I tried to diff it with bioses 1.80 and 1.82 that I modded to add rebar dxe … and they differ . I opened it with UBU, and I notice that the bios release has changed (5.12 12/22/2022) => how did you do that change please ? (with what tool ?! )

I would like to learn, so idealy, modding with uefitool (adding rebar) and eventually patching with UBU to remove flash protection, my file should be identical to yours, since I placed the rebar dxe in the right place => how come do I have so much differences please ? did you find a 1.83 bios base ?

edit : I also see that network drivers are not the same as 1.82 :

1.83 bios is just the same as 1.82, but i renamed it to 1.83 cause i need to make comparission between both bios without separating it to other folder

as for bios naming i use amibcp latest modded ones, 5.02.31 ig.

Also yeah the one i only gave an updated Network Section, everything inserted with MMTOOL 5.02 something, but the rebardxe, is inserted after the latest DXE Driver using UEFITool. IDK if my bios does works correctly, but you could try to flash it.

Maybe i have a bad literature, but from my understanding, you cant do Above 4G Decoding + Disable CSM even with the normal bios or with the one with rebardxe?

i created guide for someone in beginner to medium for modding bios
https://winraid.level1techs.com/t/guide-usage-of-ami-s-aptiov-uefi-editor-flash-method/91842

for rebar here
https://winraid.level1techs.com/t/success-above-4g-decoding-and-resizable-bar-bios-mod-for-asus-p8z77-v-pro/90465

Note: Rebar is work in NVIDIA 3000 series

Blockquote
so how do I perform that task of changing default values in bios ? because I have clearly struggled to simply enable “above 4G decoding” in my actual bios, I did it maybe 10 times because either a) my windows did boot but I had no more bios post and display so no more bios settings or b) I had bios screen but windows would not boot and stay with a single “-” in top left corne

Please update your nvidia UEFI Gop bios for work where CSM is disabled, dump your gpu bios with gpu-z, and update with gopupdater, it detec latest version available
https://winraid.level1techs.com/t/amd-and-nvidia-gop-update-no-requests-diy/30917

For microcode
what your cpuid version, use coreTemp app to see
example= 0x09672 for alder lake -s used by i5 12400

ever since kepler nvidia could do uefi so there is no need to update gop, besides the bios above already provide the rebardxe, and the gop updater for 3000 series is from @wudimobile , you need external programmer afaik to flash directly to 3000 series cause there is for now no way to software flash it. 3000 series that requires to be vbios updated were the first release ones that mostly are non LHR cards, that still doesnt have the rebar capability.

ok so I went ahead, modified the bios with UEFI editor for the default settings, all seems OK.
Then I checked in amibcp and that seems to have been taken into account (I did not change anything in amibcp) :


… so I flashed the image. YET after trying multiple times the “load default values” (I have no “load optimized values”) … above4G decoding is always disabled and CSM is always enabled. that’s strange … so I Still don’t know how to effectively change default values.

But. I booted, and tested rebar :

  • rebar 4Gb => boot, but no bios display until windows
  • rebar 2Gb => NO boot at all, bios is bootlooping. Arghh! => so I cmos reseted … and I was not stuck there, I got the screen back on. Youpi !
  • rebar Unlimited => boot, but no bios display until windows
  • last try : “above 4G decoding patch OFF” and rebar unlimited => boot, and I have bios display working !

So I’m unsure if I keep the bios with “modified default settings, but not taken into account” because maybe I modified something else …

Still I tested Blender benchmark, and I get a 2.65% performance increase :slight_smile:

edit : wrong numbers in the performance increase, I took a pre-gpu-overclock as a starting point (my card is an O.C. version)

3 Likes

so you did use the bios that i gave? AMIBCP is not relevant for Aptio 5, @rofikkernel have a guide to edit default above.

So, the cause was Above 4G Decode Patch being turned on, and it made Above 4G + Rebar DXE not working from bios? Did you turn off Above 4G Decode Patch via grub, the same way youu enable Above 4G Decode? so Above 4G Decode enable would make the 4G Decode Patch automatically enabled OR you did enable it?

Also could you kindly post gpuz+cpuz SS here :>?

1 Like

@Koekieezz

no, used the bios I modded with UBU and uefitool, since it was not clear to me what you had modded - besides adding rebar - (and I did not want to mess with working ethernet card). I updated network drivers (for comparison purpose), checked that you had not updated microcodes, but couldn’t get a 100% matching file when doing the same mod (rebar + network) => so something else was different. Maybe you started from 1.80 and me from 1.82.

yes, “above 4G decoding patch / enabled” in the bios was causing … the bios to not show up WITH REBAR ENABLED. no issue without rebar. I did clear cmos and I recovered bios access (without VGA/bios access, i could not have tried the grub way, because, well, no screen output is kinda hard to work with) (I tried to find out how to do an automatic live USB boot thumb with an automatic rebar-disabling-script-at-boot but couldn’t do it in that short time before christmas)

No, the “above 4G decoding patch” has to be enabled manually in the bios, fortunately. Crazy that bios settings can break bios vga out.


image
image

merry christmass all !

@rofikkernel the guide is not really applicable for my bios apparently :

I search " High Precision" and nothing show up with my bios. But I found the “setup”, it can be found with “4G Decod” string :

I followed all the steps you mention, and when saving only “uefi setupdata” was modified and saved, so that’s the only file I replaced in the bios …

here is the bios I flashed, but nevertheless my bios still continues to set “above 4G decoding” to disabled and “CSM” to enabled when I load bios defaults.
defaultsmod_apr_mod_X99TC_rebar_1.zip (7.6 MB)

mines? just basic adding rebar and update the network drivers thats all, if you want to try, and i downloaded base bios 1.82 from asrock own web so yeah

anyways, congrats on the solution, i couldn’t find a clue whats above 4g decode patch for, prolly for the mmio?

Im kinda confused when you said “last try : “above 4G decoding patch OFF” and rebar unlimited => boot, and I have bios display working !”, does it mean in order to make Rebar Functioning but also you could access bios, Above 4G Enabled + Rebarstate Unlimited, or you must do Above 4G and Above 4G Patch Enabled then rebarstate at unlimited, so it would boot normally?

Also 32GB card? How much ram did you have on your system? there is someone who could do this on a Z97 but i forgor which board, rebar at 16GB (his card is 16GB) is possible BUT Ram must be at 16GB, so 32GB Ram + 16GB vram is not possible, despite its having 39 Bit address space (which is alot)… Patched the DSDT so that all 39Bit could be used… but still this is an interesting discovery from you :smiley:

Merry Christmas too!!

I try take look to your bios, your bios have multiple configuration location of 4g decode and csm, in pci location and Favorite location it have different setting applied, in favorite default “above 4G decoding” to disabled and “CSM” enabled , and in pci setting it csm disable and enable 4g, so i try change that multiple location at same value, and i add unlock for hidden 4g decode menu so you can control that menu now directly from bios, here you can load my data.json to uefi editor WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free

@Koekieezz

That’s a 24GB RTX 3090. And I have 96Gb of RAM on my system (yeah, that’s not that useful but that was free)

To boot normally (incl bios access) : above 4G Enabled + “above 4G patch” disabled + CSM disabled + rebar disabled or unlimited

okay so Above 4G Enable, 4G Patch Disable, CSM disbable (a must) and rebar on unlimited works normally right? nice then.

could you please reupload it please ? I could not download it before it expired (I found all the locations you are refering, but I’m unsure what to do to unlock a menu (since I already have access to CSM and above4G settings in bios)

I ALREADy lost that file so created again,
here WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free (i force enable at default here)

since I already have access to CSM and above4G settings in bios

good if that menu already show in bios, i try unlock some menu like above4g Patch like it hidden in default

1 Like

I just ended here randomly looking for bios mods for the x99

did you manage to update finally the network drivers, and enable rezbar?

would it work with an amd 12gb card? If would do, could you please upload the bios you modified and make it work?

thanks!