ASUS X501U reduce dedicated VRAM

So this laptop, being terrible on paper (slow dual core, 2GB of ram) it’s even worse in practise. Being a cheap deal, it has 2GB of ram soldered on. To top it all off, 384MB are dedicated solely for HD6290 gpu.

Now my request, if possible, is to reduce that VRAM amount to the bare minimum possible (32MB?), so rest of the tiny amount of ram can be allocated to the system.

Bios files are available on the asus site (cant link it).

Thank you!

It’s most likely possible but it won’t stop the OS from allocating as much as it thinks it needs. So while you can configure VRAM and other related graphics memory it won’t stop the OS expanding it as needed.

So it all comes down to the OS you’re going to run and if that allows to set limits on shared video memory or not. With just 32MB you won’t be able to comfortably run any GUI. Maybe some super light Linux window manager could run in 32MB. And even in Linux you may have dive deep into the settings or maybe even recompile a kernel to stop the OS from allocating more shared video memory.

I’ll have a look at the bios later, to change them you won’t have to mod your bios but make a bootable usb stick with a modified UEFI shell that allows you to change bios settings that are hidden in the normal underinterface.



Ok. I understand that GPU can allocate more vram, when needed via drivers. But this is a fixed amount (384MB) always being dedicated to the GPU, even though for the use case, there might be only a few 10MBs actually being used. Thats why i want to set the lowest amount of dedicated vram and let the driver allocate more if needed. Because system is already starved for ram as it is.
On newer ryzen based systems i set the lowest dedicated vram to like 32 or 64MB and everything works just fine. Driver just has to allocate more when needed.

It’s running Win 10, if that makes any difference.

Thank you.

In the bios is this table that seems to set the initial VRAM size.

1
2
3
4
5
6
7
8
9
 
0x1B2FF 				One Of: UMA Frame buffer Size, VarStoreInfo (VarOffset/VarName): 0x1, VarStore: 0x6, QuestionId: 0xA7, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 A6 A1 02 A2 02 A7 00 06 00 01 00 10 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1B325 One Of Option: 32M, Value (8 bit): 0x1 {09 0E A3 02 00 00 01 00 00 00 00 00 00 00}
0x1B333 One Of Option: 64M, Value (8 bit): 0x2 {09 0E A4 02 00 00 02 00 00 00 00 00 00 00}
0x1B341 One Of Option: 128M, Value (8 bit): 0x4 {09 0E A5 02 00 00 04 00 00 00 00 00 00 00}
0x1B34F One Of Option: 256M, Value (8 bit): 0x8 (default) {09 0E A6 02 30 00 08 00 00 00 00 00 00 00}
0x1B35D One Of Option: 512M, Value (8 bit): 0x10 {09 0E A7 02 00 00 10 00 00 00 00 00 00 00}
0x1B36B One Of Option: 1G, Value (8 bit): 0x20 {09 0E A8 02 00 00 20 00 00 00 00 00 00 00}
0x1B379 One Of Option: 2G, Value (8 bit): 0x40 {09 0E A9 02 00 00 40 00 00 00 00 00 00 00}
0x1B387 End One Of {29 02}
 


You can set this one to 32MB but like I said there's a big chance it doesn't help much. As you can see the default is set to 265MB. There are no other tables related to these settings. To change these you'll have to make a bootable usb stick with a modified shel that allows to change those.

Format a usb stick to FAT32, create a folder called EFI in the root of the formatted stick and inside that folder create a folder called BOOT. Then download this .efi file and put it in the BOOT folder and rename it to BOOTX64.EFI. You should now be able to boot from the stick (if not check if UEFI booting in the BIOS is enabled).

Once you made it into the shell enter the following command: setup_var 0x6 and check if it returns 0x08 (the default value) if it does enter: setup_var 0x6 0x1 to set it to 32MB. It could be needed to unlock some stuff before you can change any of this, let me know how it goes.

Good luck!
Zitat von stovorsen im Beitrag #4
In the bios is this table that seems to set the initial VRAM size.

1
2
3
4
5
6
7
8
9
 
0x1B2FF 				One Of: UMA Frame buffer Size, VarStoreInfo (VarOffset/VarName): 0x1, VarStore: 0x6, QuestionId: 0xA7, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 A6 A1 02 A2 02 A7 00 06 00 01 00 10 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0x1B325 One Of Option: 32M, Value (8 bit): 0x1 {09 0E A3 02 00 00 01 00 00 00 00 00 00 00}
0x1B333 One Of Option: 64M, Value (8 bit): 0x2 {09 0E A4 02 00 00 02 00 00 00 00 00 00 00}
0x1B341 One Of Option: 128M, Value (8 bit): 0x4 {09 0E A5 02 00 00 04 00 00 00 00 00 00 00}
0x1B34F One Of Option: 256M, Value (8 bit): 0x8 (default) {09 0E A6 02 30 00 08 00 00 00 00 00 00 00}
0x1B35D One Of Option: 512M, Value (8 bit): 0x10 {09 0E A7 02 00 00 10 00 00 00 00 00 00 00}
0x1B36B One Of Option: 1G, Value (8 bit): 0x20 {09 0E A8 02 00 00 20 00 00 00 00 00 00 00}
0x1B379 One Of Option: 2G, Value (8 bit): 0x40 {09 0E A9 02 00 00 40 00 00 00 00 00 00 00}
0x1B387 End One Of {29 02}
 


You can set this one to 32MB but like I said there's a big chance it doesn't help much. As you can see the default is set to 265MB. There are no other tables related to these settings. To change these you'll have to make a bootable usb stick with a modified shel that allows to change those.

Format a usb stick to FAT32, create a folder called EFI in the root of the formatted stick and inside that folder create a folder called BOOT.file and put it in the BOOT folder and rename it to BOOTX64.EFI. You should now be able to boot from the stick (if not check if UEFI booting in the BIOS is enabled).

Once you made it into the shell enter the following command: setup_var 0x6 and check if it returns 0x08 (the default value) if it does enter: setup_var 0x6 0x1 to set it to 32MB. It could be needed to unlock some stuff before you can change any of this, let me know how it goes.

Good luck!


Hello,

so i've booted to efi shell and set the command but i got this instead
"offset 0x06 is: 0x00"
I ran the command anyway, but nothing changed (still 384MB of dedicated memory). After reboot and booting to efi shell again, same value returned (0x00)

Any ideas how to proceed?

So i was able to edit the bios file in AMIBCP to show UMA framebuffer option, but the created bios file can’t be flashed. Trying with asus builtin utility shows “bios too old” error (because i’m flashing the same edited bios file). Using afudos gets me “bios file size wrong” even though old and edited bios are the same size. AFUWIN freezes computer immediatly.

Any ideas how to proceed?