Linux에서 GPU와 공유되는 일부 시스템 메모리를 추가하는 방법은 무엇입니까?

Linux에서 GPU와 공유되는 일부 시스템 메모리를 추가하는 방법은 무엇입니까?

Windows 10에서 Linux Mint 21.1로 전환했습니다. 루트리스(와인 에뮬레이션)에서 GTA 5를 플레이하려고 했지만 Windows의 낮은 VRAM(2GB만)으로 인해 대부분의 맵이 누락되어 Linux에서 게임을 거의 플레이할 수 없습니다. 로드됨 공유 메모리가 있기 때문에 게임이 정상적으로 실행됩니다. Linux mint에서 활성화하는 방법을 모르겠습니다. 도움을 주시면 감사하겠습니다. 다음은 Windows의 공유 GPU 메모리의 예입니다.Windows의 공유 GPU 메모리 예

답변1

NVIDIA 바이너리 드라이버에서는 GPU가 사용할 수 있는 시스템 RAM의 양을 지정할 수 없습니다. 나도 nouveau이것이 허용된다는 말을 들어본 적이 없다 .

NVIDIA 드라이버의 최신 안정 버전에 대한 옵션은 다음과 같습니다.

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는 흥미로워 보이지만 필요한 것은 아닙니다.

 * 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.

그냥 재미로 다음과 같이 시도해 보겠습니다.

/etc/modprobe.d/nvidia.conf
options nvidia NVreg_MemoryPoolSize=4

나는 이것이 작동하지 않을 것이라고 확신하지만. 윈도우일하다 다르게, 그게 전부 문제입니다.

관련 정보