Any way to enable ReBAR for RTX 2080 Ti?

@Kuri0 Hey man, I’m bringing this thread up once again since I’m currently tinkering with my 2080 Ti myself and am trying to find a way to hack the feature into the card.

I’m on a Asus Z390 E which on the latest BIOS releases is even officially REBAR supported although the BIOS doesn’t let you manually override the BAR size but just lets you set disabled or enabled on auto

That being said though, older BIOSes for that board have no REBAR implemented so the DXE patch method could still be viable.

I’ve tried running the card on the REBAR enabled bios but the card still runs on 256MB BAR size

What concerns me the most is the card’s VBIOS which doesn’t seem very cooperative on enabling REBAR

Anyways, do you have any idea on what i can try? maybe there’s a way to override the BAR size on the official REBAR BIOS

Thanks :slight_smile:

@Cancretto Nvidia does not support rebar for Turing (2000 series) so there is nothing you can do to enable it.

Nvidia (and its partners) would have to release a new VBIOS with rebar enabled for every model of card and at this point it’s safe to say it will never happen.

@Cancretto I think someone tried the override on a laptop and it didn’t do anything.

See Laptop Support · Issue #16 · xCuri0/ReBarUEFI · GitHub someone tried the override method

Another method tried on Pascal, BAR gets resized by driver doesn’t work well with it. nvsmi result showing 256MB · xCuri0/ReBarUEFI · Discussion #89 · GitHub

1 Like

@Kuri0 Hey, thanks a lot for the sources, I’ll also be following Xelafic’s thread about his tests.

I got curious again about enabling REBAR on older gens since in august on Techpowerup we got 2 releases of modded nvflash one of which apparently manages to pull a rather suspicious command which is

–gpumode physical_display_enabled_8GB_bar1

which unfortunately so far just results in an unsupported error for older cards

I think what we need to enable REBAR on Turing and below is mainly a way to edit this part of the VBIOS in the first place and then possibly face NV drivers to make the edit work

PS @chinobino sorry forgot to reply to you :sweat_smile: anyways, yes I agree that’s extremely unlikely NV ever makes VBIOS updates to older gens, that’s why i’m hoping some point, us the community might be able at to crack trough all these annoying NV soft locks

2 Likes

@Cancretto I had a read through of the Techpowerup thread for ‘(omg)vflash’ before the OP left but it seems that nothing new was discovered as crossflashing was already possible with the modified nvflash.

I have a 2070 with rebar support in my Z370 BIOS but have given up on Nvidia ever adding Turing support.

I too wish the modding community could do something but it seems to be quite locked down.

@chinobino Yeah the tool was interesting but expectations were probably a bit too high for it, we still have Kefi’s nvflasK and his whole NV modding project which hopefully turns out to be really good.

I have a 2070 with rebar support in my Z370 BIOS but have given up on Nvidia ever adding Turing support.

What do you mean by that? Have you managed to mod the 2070 VBIOS or override in some way the 256MB BAR on the card itself?

@Cancretto Sorry I should have worded that better - I just mean that I am stuck with a motherboard that supports rebar but a graphics card that does not.

1 Like

It could be possible that the method tried by Xelafic on GitHub works on Turing with Windows driver. But it’s hard to setup and test.

But it’s quite complicated to do unlike Resizable BAR (which is just one write to PCIe config space), it requires that the GPU BAR and PCI Bridge both be assigned before PCI allocation to set the BAR size to 16GB or whatever before setting them both back to previous values.

Xelafic’s code is in assembly which I hardly understand.

I think we may atleast see it working on Linux soon because the driver can be modified there (open source).

2 Likes

Remember the NVIDIA driver can enable ReBAR per-game or globally using the NVIDIA Profile Inspector. Of course the feature is meant for RTX 3000 cards, since RTX 2000 has not been unlocked (to use ReBAR). But somehow I expect there’s a chance the Profile Inspector would enable ReBAR in the driver anyway, even for RTX 2000, if ever unlocked…

Maybe the method by Xelafic works with the drivers on Turing even though it doesn’t on Pascal.

But as I’ve mentioned it’s complicated to setup and try.

Here is my translation of the assembly from @Xelafic to plain C:

Warning: this is hardware-specific and I did not test this, looks like I found a bug in there when configuring GTX 1080…

There is one instruction I have skipped, since it changes a local variable on the stack, that is then never used: mov [rsp+0x30],rax

I don’t quite understand much what the resulting code does anyway: looks like the straps bits, documented in envytools and linked by Xelafic, would be able to configure ReBAR.

But before accessing the straps bits some setup is necessary for both the (south / north ?) bridge on the PCI and the PCI GPU, just to expose those bits at their known address.

This setup must immediately be restored after the straps bits (with the ReBAR size) where set.

Let me know if you understand the hard-coded numbers for the bridge … or if you know some MMIO documentation involving the low-level port I/O

So @Kuri0 do you have any idea how to temporarily enable BAR0 (to access the straps bits inside) before BAR1 size is negotiated ? Enough to write code for that ?

Sorry I still do not understand how PCI bring-up works … but somehow I still want ReBAR for my RTX 2000 … (don’t laugh… :slight_smile: )

For anyone coming here from Google it’s working now see https://github.com/xCuri0/ReBarUEFI/discussions/89#discussioncomment-7677439

1 Like

So we still managed to enable ReBAR on the rtx 2000 series!!!

Bumping up this post in case anyone wants to try as well,

Yes it is indeed working

Saw this article today and was wondering if you had seen this information already?

How can I open the resizable bar when encountering the same problem? My English is very poor. I’m sorry

You have to follow the instructions of this project to enable resizable bar on Turing GPUs GitHub - terminatorul/NvStrapsReBar: Resizable BAR for Turring GTX 1600 / RTX 2000 GPUs

The mod requires a motherboard UEFI flash in order to work

1 Like

I followed suit, but the BIOS update verification prompted an error and did not proceed to the next step

Hello, yes it is expected that normal board flashing utilities reject the modified image for most cases.

There are several ways to get around this lock depending on your specific motherboard.

I suggest you take a look at this post first to get an idea on what you might need to do.

If you’re on an Intel board without USB flashback support my best advice would be flashing the BIOS via Intel FPT by following this guide

It all boils down to what’s your specific hardware but there’s always a way to bypass flashing checks