How To Enable Resizeable BAR in NVIDIA RTX 3000 Series GPUs

Introduction

Resizeable BAR or Smart Access Memory (SAM) as AMD calls it, is a performance feature that controls how much of the graphics memory, or VRAM, on your video card is made available to be mapped for access by the CPU. By default, this is limited to just 256MB of the card’s onboard VRAM at once. If this feature is enabled, your CPU can access all of the graphics memory on your GPU. This posts covers how to enable resizeable BAR in NVIDIA RTX 3000 Series GPUs.

You might be wondering why this capability makes any difference? The answer is that it can increase your frames per second (FPS) performance by roughly 5-10% on some games. If you have the right set of new enough hardware (CPU, GPU, and motherboard), it is fairly easy to complete the necessary steps to enable this feature.

Background

Back in late 2020, AMD started talking about Smart Access Memory (SAM) as a proprietary performance feature that was only available with AMD Ryzen 5000 CPUs and AMD Radeon RX 6000 Series graphics cards. Since then, AMD has added support for this feature from some older AMD Ryzen 3000 CPUs.

How To Enable Resizeable BAR in NVIDIA RTX 3000 Series GPUs
AMD Smart Access Memory

As it turns out, Resizable BAR (Base Address Register) was actually part of the PCIe 3.0 specification from 2010. As long as each relevant component in a system supports it, it can be implemented by anyone. This means AMD, NVIDIA, and Intel can chose to support this feature. It is not a proprietary feature controlled by AMD or any other vendor.

What Do I Need to Support Resizeable BAR?

In order to get Resizeable BAR support, you will need a supported CPU, GPU, and motherboard. You will also need a new enough motherboard BIOS version and new enough GPU VBIOS version. The Resizeable BAR feature will have to be enabled in your motherbaord BIOS. Finally, you will have to have a new enough GPU driver installed. If you have all of this, you will have Resizeable BAR support enabled on your system.

Officially, for a pure AMD system you will need hardware from this list:

  • An AMD 500 Series Motherboard
  • Any AMD Ryzen 5000 Series Processor
  • Most AMD Ryzen 3000 Series Processors
    • Any SKU but the Ryzen 5 3400G and Ryzen 3 3200G APUs
  • Any AMD Radeon RX 6000 Series GPU

You will also need a new enough motherboard BIOS (based on AMD AGESA 1.1.0.0 or newer) and the AMD Radeon Software Driver 20.11.2 or newer. Some motherboard vendors have started adding Resizeable BAR support to some older 400 Series motherboards.

What If I Have an NVIDIA RTX 3000 Series GPU?

You are in luck! NVIDIA RTX 3000 Series GPUs now have all of the necessary pieces available so that you can get Resizeable BAR support. You will still need a supported CPU and motherboard, along with an updated motherboard BIOS. The Resizeable BAR feature will also have to be enabled in the motherboard BIOS.

NVIDIA RTX 3060 GPUs will already have a new enough VBIOS, but other models will need a VBIOS update. Finally, you will need the NVIDIA GeForce Driver version 465.89 or later. If you have all of this, you will have Resizeable BAR support enabled on your system.

How To Enable Resizeable BAR in NVIDIA RTX 3000 Series GPUs

Assuming you have supported hardware, (CPU, GPU, and motherboard), here are the steps on an AMD system. In my case, I have a Gigabyte B550 AORUS PRO AC motherboard and a Gigabtye RTX 3070 VISION OC 8G GPU.

  • Update your motherboard BIOS to AMD AGESA 1.1.0.0 or newer
  • Enable “Above 4G Decoding” and “Re-Size BAR Support” in the motherboard BIOS
  • Disable “CSM Support” in the motherboard BIOS
  • Update your video card VBIOS to a new enough version to support Resizeable BAR
  • Download and install the NVIDIA GeForce Game Ready Driver 465.89 or later

Updating the Motherboard BIOS

For the motherboard, I needed BIOS version F12 or later to get Resizeable BAR support. I already had version F13g, but I decided to update to version F13h anyway. I used the Q-Flash Utility for this.

How To Enable Resizeable BAR in NVIDIA RTX 3000 Series GPUs
Updating the Motherboard BIOS

Enabling the Correct Settings in the BIOS

After you flash the BIOS, all of the settings go back to their defaults. So I had to re-enable XMP, then enable “Above 4G Decoding” and “Re-Size BAR Support”. Just to be clear XMP has nothing to do with this, but it is a setting that I think you should enable.

In Advanced mode, go to the Settings menu. Then you need to enable “Above 4G Decoding” and “Re-Size BAR Support”.

How To Enable Resizeable BAR in NVIDIA RTX 3000 Series GPUs
Enabling “Above 4G Decoding” and “Re-Size BAR Support”

After you are done making changes, don’t forget to save them! This is what it looked like for me.

How To Enable Resizeable BAR in NVIDIA RTX 3000 Series GPUs
Saving Your Changes

Updating the VBIOS on Your Video Card

I went to the support page for the Gigabyte RTX 3070 VISION OC 8G and then went to the BIOS section. I saw three different BIOS versions that that all had the same release date and descriptions. There was a footnote that tried to explain which version to use.

Gigabyte RTX 3070 VISION OC 8G BIOS Versions

Unfortunately, there was no guidance on how to tell what VBIOS version you already had. This is what the note says:

  • F1, it can only be updated with VBIOS versions F2-F9
  • F10, it can only be updated with VBIOS versions F11-F19
  • F20, it can only be updated with VBIOS versions F21-F29

GPU-Z showed my VBIOS version as 94.04.25.80.47. That did not seem to match up with F1, F10, or F20…

VBIOS Version Before The Update

So I tried VBIOS version F21 first, and the VBIOS Update program told me that my version was not compatible. Next, I tried VBIOS version F10 and that worked. Updating the VBIOS was the most stressful part of this, since I had visions of bricking my rare and precious RTX 3070 video card!

Updating Your Video Driver

Finally, I downloaded and installed the NVIDIA GeForce Game Ready Driver 465.89, which was just released today. Once I had completed all of these steps, I had Resizeable BAR enabled.

How Do You Confirm Resizeable BAR is Enabled?

There are two easy methods. First, the NVIDIA System Information applet will have an entry on the Display tab for Resizeable BAR, which should be Yes.

NVIDIA System Information

The second method is GPU-Z. Starting with GPU-Z 2.38, the PCI-Express Resizable BAR status is now displayed in the main window on the Graphics Card tab. You want to see Resizeable BAR Enabled.

GPU-Z Graphics Card Tab

Final Words

Since I only play World of Tanks on this system, doing all of this work was probably a waste of time to be honest. NVIDIA controls which games get Resizeable BAR support with their video driver. Only a few modern, AAA games are currently on that list. On the other hand, I enjoyed figuring this out and getting it working anyway.

Update: Gigabyte now has a web page that does a pretty good job of explaining this.

What do you think? I would love to hear your thoughts in the comments and on Twitter. I am pretty active on Twitter as GlennAlanBerry. Thanks for reading!

Categories AMD, PC HardwareTags ,

3 thoughts on “How To Enable Resizeable BAR in NVIDIA RTX 3000 Series GPUs

  1. just a heads up (as i had a problem with this too), there is a way to find the version for your bios with GPU-Z, although it is definitely not obvious how to do so…

    go to the ‘advanced’ tab, then change the dropdown from ‘general’ to ‘nvidia bios’…

    in there, youll find a string named ‘message’ (for me its the third one down) that looks like:

    Message GV-N3080GAMING OC-10GD_L/F22/0B09

    the bios version is the second item in the slash-delimited string, in this case F22…

    1. That is a good find. Thanks!

Leave a Reply to Tim BolinCancel reply

Discover more from Glenn's SQL Server Performance

Subscribe now to keep reading and get access to the full archive.

Continue reading