Cómo agregar soporte para Resizable BAR al BIOS de (casi) cualquier tarjeta madre

Resizable BAR se presentó como un argumento comercial para las plataformas de 2020 en adelante, pero la característica subyacente de PCI Express en realidad ha existido en la especificación desde hace años. Gracias a un grupo de modders entusiastas, puedes forzarla en placas que nunca la tuvieron oficialmente habilitada: placas chinas LGA2011-3/X99, chipsets Intel/AMD más antiguos y muchas placas base “económicas” que simplemente nunca recibieron la actualización de BIOS. Esta guía explica qué hace realmente ReBar, qué necesitas antes de empezar y los pasos exactos para inyectar el soporte en tu BIOS por tu cuenta.

⚠️ Lee esto primero. Flashear una BIOS modificada siempre conlleva riesgos. Si algo sale mal durante el proceso o la imagen modificada está corrupta, puedes terminar con una placa que no arranca (“brickeada”), recuperable solo con un programador SPI. Todo lo que sigue se realiza bajo tu propia responsabilidad: procede con precaución, conserva un respaldo confiable de tu volcado original y no te saltes los pasos de verificación.

¿Qué es Resizable BAR?

Diagrama de Resizable BAR: la CPU accediendo al framebuffer completo de la GPU en lugar de ventanas pequeñas de tamaño fijo

Resizable BAR (ReBar) es una característica de PCI Express que permite a la CPU acceder a toda la memoria de video (framebuffer) de la GPU en una sola ventana, en lugar de estar limitada a fragmentos pequeños de tamaño fijo (por lo general 256MB) como ocurre con el BAR clásico. Como resultado, la CPU y la GPU pueden intercambiar datos de forma mucho más eficiente, lo que —dependiendo del juego y del motor gráfico— se traduce en una mejora real y medible de FPS.

AMD llama a su versión “Smart Access Memory”, pero a nivel interno se trata del mismo mecanismo de PCIe.

¿Cuánto rendimiento aporta realmente?

Depende en gran medida de tu sistema, tu GPU y el juego en cuestión. NVIDIA ha reportado mejoras de hasta un 12% aproximadamente en sus propios benchmarks, mientras que AMD ha anunciado mejoras de hasta un 16% en algunos títulos. En muchos juegos la diferencia es pequeña o casi imperceptible; considéralo como un posible extra, no como un aumento garantizado de FPS en todos los casos.

Antes de empezar: requisitos

Modificar tu BIOS solo te dará la mitad de lo que necesitas: ReBar requiere la colaboración entre la placa base, la GPU y el sistema operativo, y las tres partes deben cooperar entre sí.

Hardware:

  • Una placa base con soporte para PCI Express 3.0 (esta es la base del método; algunos usuarios han reportado éxito incluso en sistemas PCIe 2.0 más antiguos).
  • Una GPU que realmente soporte UEFI GOP y Resizable BAR.
    • Compatibilidad oficial: NVIDIA RTX serie 30 en adelante (algunas tarjetas también pueden necesitar una actualización de vBIOS); AMD RX serie 6000 en adelante.
    • También probada por la comunidad en algunas tarjetas más antiguas (por ejemplo, se reporta que las RX 570/580 funcionan con trucos a nivel de controlador), aunque esto no está garantizado.
    • La generación Turing de NVIDIA, más antigua (series GTX 16 y RTX 20), también se puede habilitar, pero mediante una herramienta distinta (ver más abajo).

Resizable BAR no es solo un beneficio secundario para las GPU Intel Arc: sin él, el rendimiento puede caer notablemente en muchos juegos, así que si vas a combinar una tarjeta Arc con una placa antigua, este mod es prácticamente obligatorio.

Software / firmware:

  • La opción “Above 4G Decoding” debe existir (y estar habilitada) en tu BIOS.
  • Un sistema operativo de 64 bits instalado en modo UEFI (no Legacy/MBR).
  • CSM (Compatibility Support Module) deshabilitado.

Antes de tocar nada, confirma que tu GPU esté lista para UEFI y ReBar con GPU-Z.

Ventana de GPU-Z mostrando la casilla UEFI marcada y Resizable BAR listado como Disabled antes de la modificación

Verifica que “UEFI” esté marcado; que “Resizable BAR” muestre “Disabled” en esta etapa es completamente normal, ya que todavía no has agregado el soporte.

En las placas chinas LGA2011-3/X99, “Above 4G Decoding” suele ubicarse en Advanced → PCI Subsystem Settings. Si no aparece en absoluto, es posible que solo esté oculta; puedes revelarla con AMIBCP cambiando el atributo “Access/Use” de la opción de “Default” a “USER”.

Las herramientas que necesitarás

Todo lo siguiente es gratuito y de código abierto:

Herramienta Propósito
ReBarUEFI (ReBarDxe.ffs + ReBarState.exe) El controlador DXE que realmente parchea el soporte de ReBar en tu firmware, más la utilidad de Windows para establecer el tamaño del BAR
NvStrapsReBar Reemplazo directo de la herramienta anterior, pero para GPU NVIDIA Turing (series GTX 16 / RTX 20)
UEFITool 0.28.0 Te permite abrir un volcado de BIOS, explorar sus módulos internos e insertar el nuevo controlador
UEFIPatch (incluido con UEFITool 0.28.0) Una herramienta complementaria que corrige errores comunes en el manejo de BAR de 64 bits en firmwares AMI Aptio más antiguos
Una utilidad de flasheo para tu plataforma Intel FPT, AFUWIN/AFUDOS, o una interfaz gráfica más intuitiva, según tu placa

Paso a paso: inyectando el soporte de ReBar

Este es el método universal, documentado originalmente para placas chinas LGA2011-3/X99, pero aplica a la mayoría de los firmwares UEFI basados en AMI Aptio, sin importar el socket.

1. Vuelca tu BIOS actual

Usa la herramienta de flasheo de tu plataforma (Intel FPT, AFUWIN/AFUDOS, o una interfaz gráfica más intuitiva) para leer una copia completa de tu firmware actual. También puedes extraer un volcado con un programador SPI o, si logras encontrar uno para tu placa y revisión exactas, partir de un volcado que alguien más ya haya publicado. Sea cual sea el método que uses, conserva este archivo original a salvo como respaldo.

Herramienta esencial
CH341A
El CH341A es una herramienta USB compacta que salva placas base. Ideal para flashear chips SPI cuando el sistema no arranca.
Como afiliado de Amazon, percibo dinero con las compras elegibles.

2. Inserta el controlador de ReBar en el volcado

  1. Abre UEFITool y carga tu volcado de BIOS.
  2. Expande Intel Image → BIOS Region.
UEFITool: expandiendo el árbol de Intel Image y BIOS Region
  1. Encuentra la rama que contiene los controladores DXE; en la mayoría de las placas AMI Aptio es el penúltimo elemento de nivel superior dentro de BIOS Region.
UEFITool: localizando la rama que contiene los controladores DXE
  1. Desplázate hasta el final de esa lista y selecciona el último controlador DXE.
  2. Haz clic derecho sobre él y elige Insert After.
UEFITool: haciendo clic derecho sobre el último controlador DXE y seleccionando Insert After
  1. En el selector de archivos, elige el archivo ReBarDxe.ffs que descargaste de los releases de ReBarUEFI.
UEFITool: seleccionando el archivo ReBarDxe.ffs para insertarlo
  1. Guarda la imagen modificada mediante File → Save image file. Cuando te pregunte “Open reconstructed file?” puedes responder que no sin problema y cerrar UEFITool.

¿Usas una GPU NVIDIA Turing (serie GTX 16 / RTX 20)? Sustituye ReBarDxe.ffs y ReBarState.exe por NvStrapsReBar.ffs y NvStrapsReBar.exe del proyecto NvStrapsReBar; los pasos de inserción son idénticos, aunque la utilidad de configuración funciona de manera un poco distinta. Revisa la documentación propia de ese proyecto para más detalles.

3. Flashea la imagen modificada

Vuelve a flashear el volcado parcheado usando la misma herramienta con la que lo leíste originalmente.

4. Primer arranque a la BIOS

Pantalla de BIOS mostrando la opción Above 4G Decoding
  • Restablece la BIOS a los valores predeterminados/optimizados.
  • Habilita Above 4G Decoding.
  • Confirma que CSM esté deshabilitado y que tu unidad del sistema operativo arranque en modo UEFI puro.
  • (Opcional) Vuelve a aplicar los timings de memoria y cualquier otro ajuste que tuvieras antes.
  • Guarda los cambios y reinicia en Windows.

5. Configura el tamaño del BAR en Windows

ReBarState.exe ejecutándose en una ventana de comandos, ingresando el valor 32 para solicitar un tamaño de BAR ilimitado
  1. Ejecuta ReBarState.exe como Administrador.
  2. Escribe 32 y presiona Enter; esto solicita un tamaño de BAR “ilimitado”, que es el valor que la mayoría de los sistemas deberían poder usar. Si no te funciona, quizás necesites probar con un tamaño menor.
  3. Espera el mensaje de confirmación: Successfully wrote ReBarState UEFI variable.
  4. Cierra la ventana y reinicia.

6. Verifica que realmente esté funcionando

Ventana de GPU-Z mostrando Resizable BAR como Enabled con todos los requisitos marcados como Yes

Abre GPU-Z nuevamente. “Resizable BAR” ahora debería mostrar Enabled. Haz clic sobre él: cada elemento de la lista de requisitos que aparece debería mostrar Yes.

Si GPU-Z sigue sin reportar ReBar como activo incluso después de todo esto, prueba con NVIDIA Profile Inspector: en la sección 5 (“Common”), puedes forzar manualmente la bandera “reBAR – Feature” para el controlador.

Una vez que todo esté correcto, vale la pena probar un par de juegos para confirmar que realmente notes una mejora de rendimiento.

Corrigiendo errores de BAR de 64 bits con UEFIPatch (y cómo saber si lo necesitas)

Inyectar únicamente el controlador, como se describió arriba, es suficiente para muchas placas. Pero muchas placas base de consumo más antiguas —principalmente construidas sobre chipsets Intel desde la era Sandy Bridge hasta Coffee Lake, además de las placas HEDT X79— tienen firmwares que manejan mal los BAR de 64 bits. Incluso después de agregar el controlador ReBarDxe, podrías toparte con alguno de estos síntomas: el tamaño de BAR que solicitas se limita sin previo aviso, un BAR de 64 bits se reduce automáticamente a 32 bits sin mostrar errores, o la plataforma se queda sin espacio de direcciones MMIO (E/S mapeada en memoria) y simplemente no arranca una vez que se habilita un BAR grande.

El proyecto ReBarUEFI incluye una biblioteca de parches binarios diseñados exactamente para estos errores de firmware, aplicados mediante UEFIPatch (incluido con UEFITool). Cuáles te aplican depende por completo de la generación de tu chipset:

Plataforma / Chipset Qué falla sin el parche Qué corrige el parche
Skylake / Kaby Lake / Coffee Lake
(chipsets serie 100/200/300)
El espacio MMIO se mantiene limitado a 16–32GB sin importar el tamaño de BAR que solicites Libera el rango completo de direcciones de 512GB (39 bits) de la plataforma
Haswell / Broadwell
(chipsets serie 8/9: H81/B85/Q85/Q87/H87/Z87/H97/Z97, etc.)
4G Decoding y Resizable BAR no funcionan correctamente en absoluto; en estas placas esto no es un ajuste opcional, sino requerido Corrige la asignación de MMIO (antes limitada a 8–16GB) hasta alcanzar el rango completo de 512GB
Sandy / Ivy Bridge
(chipsets serie 6/7, por ejemplo B75/Z75/H77/Z77)
Espacio MMIO limitado a 16GB Amplía el MMIO hasta el rango completo de 64GB (36 bits) de la plataforma; algunas placas también requieren una edición adicional del DSDT
X79 (HEDT) La opción “Above 4G Decoding” no aparece en absoluto en la BIOS Agrega la opción, pero omite este parche si tu placa (algunas placas X79 de AliExpress, por ejemplo) ya cuenta con 4G Decoding funcional, ya que combinar ambos puede causar problemas en sistemas de doble CPU
Ivy Bridge / Haswell / Broadwell
(chipsets serie 7/8/9)
Los puertos USB 3.0 desaparecen de la BIOS una vez que se activa 4G Decoding Restaura la funcionalidad de USB 3.0 con 4G Decoding habilitado
Cualquier placa ReBarState.exe falla con GetLastError: 5 Elimina una lista blanca de variables NVRAM que estaba bloqueando la escritura

Además de estas correcciones específicas por plataforma, UEFIPatch también elimina los límites fijos de tamaño de BAR de <4GB / <16GB / <64GB que aparecen en la mayoría de las placas mencionadas arriba, y evita que los BAR de 64 bits se reduzcan a 32 bits sin mostrar errores; ambas son correcciones base que por lo general se aplican junto con el parche de MMIO que corresponda a tu chipset.

En la práctica no necesitas elegir los parches manualmente: el archivo patches.txt del proyecto ya enumera cada parche para cada plataforma, y ejecutar UEFIPatch sobre tu volcado de BIOS aplica automáticamente lo que corresponda a tu firmware. Un par de entradas —la corrección de X79 y la expansión de MMIO de Sandy/Ivy Bridge— requieren un paso manual o archivos adicionales, así que vale la pena revisar la página wiki de UEFIPatch correspondiente a tu plataforma antes de ejecutarlo.

Algo a tener en cuenta: un error conocido en UEFITool/UEFIPatch puede corromper un pequeño “pad file” dentro del módulo parcheado, algo reportado con más frecuencia en placas ASUS. Un pad file corrupto significa que la imagen no arrancará, así que siempre compara los pad files en UEFITool antes de flashear (la wiki documenta una solución alternativa basada en MMTool por si te encuentras con esto).

Si necesitas algo de esto depende por completo de tu placa. Las populares placas chinas LGA2011-3/X99 son la clara excepción: ninguno de los problemas anteriores las afecta, así que inyectar únicamente el controlador, como se describió antes, es todo lo que necesitas, sin ningún paso de UEFIPatch.

Preguntas frecuentes y solución de problemas

¿Esto funcionará en un sistema PCIe Gen2?
Durante mucho tiempo se asumió que este método requería Gen3, pero existen reportes confirmados de que funciona en hardware Gen2 (por ejemplo, un sistema Sandy Bridge i5-2500K).

¿Puedo lograr que Resizable BAR funcione sin modificar la BIOS en absoluto?
En Linux, sí: con 4G Decoding habilitado, los kernels recientes redimensionarán y asignarán automáticamente los BAR de la GPU, y puedes agregar pci=realloc a la línea de comandos del kernel si el proceso automático no se activa (un DSDT defectuoso también podría necesitar un parche). En Windows, actualmente no existe una forma conocida de lograr que Resizable BAR funcione sin modificar la BIOS.

Configuré un tamaño de BAR no compatible y ahora mi sistema no arranca; ¿lo brickeé?
Casi con toda seguridad, no. Al limpiar el CMOS, Resizable BAR debería volver a quedar deshabilitado. En casos difíciles, es posible que necesites retirar físicamente la batería del CMOS durante un minuto.

¿Los tamaños de BAR más pequeños siguen ayudando, o necesito el ajuste completo de “32” (ilimitado)?
Incluso un aumento parcial del tamaño de BAR puede aportar una mejora real. Como dato de referencia del proyecto ReBarUEFI: un i5-3470 combinado con una RX 580 con controlador parcheado obtuvo hasta un 12% más de FPS usando apenas un BAR de 2GB; lejos de ser “ilimitado”, pero aun así una ganancia significativa.