I have switched from Windows 10 to linux mint 21.1 I tried playing GTA 5 on lutris (wine emulation) however the game is almost unplayable on linux as big parts of the map will not load because of my low VRAM(2GB only) on windows the game ran fine since there was shared memory. Which I dont know how to enable on Linux mint. Any help appreciated. below is an example of shared gpu memory on windows:An example of shared GPU memory on windows

  • How do you know it's not being shared on Linux and that that's the problem? Using a RAM buffer and DMA to share data with the GPU is basically how any GPU drive rworks. Jun 2, 2023 at 6:03
  • how do I know that memory is being shared and how do i know how much? Jun 2, 2023 at 6:30
  • Odd, that picture says you have 4GB GPU memory, and if I recall, MX130 doesn't support shared memory anyway Jun 2, 2023 at 6:53
  • @JaromandaX I think Sanad's mixing up physical main memory getting hardware-reserved and assigned to the GPU, and never "seen" by the operating system, with shared memory buffers that are used to exchange data between host and GPU, which lay in Operating System-controlled main memory. Hence my question how they now that this specifically is the problem. Jun 2, 2023 at 7:04

1 Answer 1


The NVIDIA binary driver does not allow to specify the amount of system RAM which can be used by the GPU. I've not heard of nouveau allowing this either.

Here are the options for the last stable NVIDIA driver:

name:           nvidia
parm:           NvSwitchRegDwords:NvSwitch regkey (charp)
parm:           NvSwitchBlacklist:NvSwitchBlacklist=uuid[,uuid...] (charp)
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_InitializeSystemMemoryAllocations:int
parm:           NVreg_UsePageAttributeTable:int
parm:           NVreg_EnablePCIeGen3:int
parm:           NVreg_EnableMSI:int
parm:           NVreg_TCEBypassMode:int
parm:           NVreg_EnableStreamMemOPs:int
parm:           NVreg_RestrictProfilingToAdminUsers:int
parm:           NVreg_PreserveVideoMemoryAllocations:int
parm:           NVreg_EnableS0ixPowerManagement:int
parm:           NVreg_S0ixPowerManagementVideoMemoryThreshold:int
parm:           NVreg_DynamicPowerManagement:int
parm:           NVreg_DynamicPowerManagementVideoMemoryThreshold:int
parm:           NVreg_EnableGpuFirmware:int
parm:           NVreg_EnableGpuFirmwareLogs:int
parm:           NVreg_OpenRmEnableUnsupportedGpus:int
parm:           NVreg_EnableUserNUMAManagement:int
parm:           NVreg_MemoryPoolSize:int
parm:           NVreg_KMallocHeapMaxSize:int
parm:           NVreg_VMallocHeapMaxSize:int
parm:           NVreg_IgnoreMMIOCheck:int
parm:           NVreg_NvLinkDisable:int
parm:           NVreg_EnablePCIERelaxedOrderingMode:int
parm:           NVreg_RegisterPCIDriver:int
parm:           NVreg_EnableResizableBar:int
parm:           NVreg_EnableDbgBreakpoint:int
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_RegistryDwordsPerDevice:charp
parm:           NVreg_RmMsg:charp
parm:           NVreg_GpuBlacklist:charp
parm:           NVreg_TemporaryFilePath:charp
parm:           NVreg_ExcludedGpus:charp
parm:           NVreg_DmaRemapPeerMmio:int
parm:           NVreg_RmNvlinkBandwidth:charp
parm:           rm_firmware_active:charp

NVreg_MemoryPoolSize looks interesting except it's not what you need:

 * Option: MemoryPoolSize
 * Description:
 * When set to a non-zero value, this option specifies the size of the
 * memory pool, given as a multiple of 1 GB, created on VMware ESXi to
 * satisfy any system memory allocations requested by the NVIDIA kernel
 * module.

Just for fun I'd try something like this:

options nvidia NVreg_MemoryPoolSize=4

Though I'm quite sure it won't work. Windows works differently, that's the whole issue.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .