Aumentar >128 MB la VRAM de una máquina virtual en VirtualBox

por | diciembre 16, 2017

Lo ideal sería hacer GPU passthrough en KVM ya que es la solución de virtualización que utilizo para la mayoría de máquinas virtuales locales. El problema es que mi i7-2600k no admite VT-d, requisito imprescindible para hacer passthrough, por lo que es un camino que actualmente tengo capado.

En la GUI de VirtualBox habréis podido ver que el límite de VRAM está en 128 MB:

Desde la GUI no permite cambiar este valor, pero sí podemos cambiarlo desde terminal con vboxmanage.

Podemos listar todas las máquinas virtuales que tenemos con vboxmanage list vms

[jota@jota-pc ~]$ vboxmanage list vms
"debian9" {3795de5c-ac64-4349-851b-889bfffefd24}
"popOS" {81ceeacf-a93f-436e-8502-9c7c9ca7c5a3}
...

Para ver la VRAM asignada a una VM:

[jota@jota-pc ~]$ vboxmanage showvminfo popOS | grep -i vram
VRAM size:       128MB

Asignamos 256 MB:

[jota@jota-pc ~]$ vboxmanage modifyvm popOS --vram 256

Comprobamos:

[jota@jota-pc ~]$ vboxmanage showvminfo popOS | grep -i vram
VRAM size:       256MB

Si vamos a la GUI, también veremos el nuevo valor aplicado:

El límite de VRAM para VirtualBox está en 256 MB, si intentáis asignar más con vboxmanage obtendréis un bonito error:

[jota@jota-pc ~]$ vboxmanage modifyvm popOS --vram 512
VBoxManage: error: Invalid VRAM size: 512 MB (must be in range [0, 256] MB)
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component SessionMachine, interface IMachine, callee nsISupports
VBoxManage: error: Context: "COMSETTER(VRAMSize)(ValueUnion.u32)" at line 611 of file VBoxManageModifyVM.cpp

Como comentaba al principio, lo ideal sería tirar por el camino que ofrece VT-d, de manera que la máquina virtual pudiera acceder directamente a las funcionalidades de la GPU de la gráfica. Primero por cuestión de rendimiento y segundo porque prefiero centrarme en una solución de virtualización más sólida como KVM.

A mi i7-2600k todavía le queda bastante vida. En cuanto a rendimiento es más que suficiente. Para los que estéis pensando en virtualizar con KVM y realizar passthrough, tenéis una interesante lista de hardware compatible con la tecnología VT-d, aunque siempre es recomendable ir a la página del fabricante Intel y revisar en concreto, especialmente si es váis a realizar una nueva adquisición de CPU.