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.
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.
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 22.214.171.124 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 126.96.36.199 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.
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”.
After you are done making changes, don’t forget to save them! This is what it looked like for me.
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.
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…
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.
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.
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!