Как добавить часть системной памяти для совместного использования с GPU в Linux?

Вопрос или проблема

Я переключился с Windows 10 на Linux Mint 21.1. Я пытался играть в GTA 5 через Lutris (эмуляция Wine), однако игра на Linux почти неиграбельна, так как большие части карты не загружаются из-за низкого объема VRAM (всего 2 ГБ). На Windows игра работала нормально, так как была доступна общая память. Я не знаю, как это включить на Linux Mint. Буду признателен за любую помощь. Ниже приведен пример общей памяти GPU на Windows: Пример общей памяти GPU на Windows

Проприетарный драйвер NVIDIA не позволяет указать количество системной памяти, которая может использоваться GPU. Я не слышал, чтобы 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
 *
 * Описание:
 *
 * При установке в ненулевое значение эта опция указывает размер
 * пула памяти, выраженный в гигабайтах, созданного на VMware ESXi для
 * удовлетворения любых запросов о выделении системной памяти, запрашиваемой
 * модулем ядра NVIDIA.

Просто ради интереса, я бы попробовал что-то вроде этого:

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

Хотя я вполне уверен, что это не сработает. Windows работает по-другому, в этом и заключается вся проблема.

.

Ответ или решение

Добавление системной памяти для совместного использования с GPU в Linux может быть сложной задачей, особенно если учесть различия в том, как это осуществляется в Windows и Linux. Рассмотрим, как максимизировать производительность вашей системы в Linux Mint 21.1 для игры в GTA 5 через Lutris (Wine):

Проблема и контекст

После перехода с Windows 10 на Linux Mint 21.1 вы заметили, что игра GTA 5 через Lutris становится почти неиграбельной из-за недостаточного объема VRAM (2 ГБ). В Windows игра работала нормально благодаря наличию совместно используемой памяти, однако в Linux это не обрабатывается так же автоматически.

Решение

  1. Понимание ограничений драйверов NVIDIA:

    • Нативный драйвер NVIDIA для Linux, как и open-source драйвер Nouveau, по умолчанию не позволяют вручную обнаруживать или управлять объемом системной памяти, передаваемой в использование GPU.
    • Существуют некоторые параметры драйвера NVIDIA, такие как NVreg_MemoryPoolSize, однако они не применяются для вашей ситуации, поскольку рассчитаны, например, на использование в средах виртуализации VMware ESXi.
  2. Обновление драйверов и системного ПО:

    • Убедитесь, что вы используете последнее обновление драйвера NVIDIA, поскольку обновления могут содержать улучшения производительности.
    • Проверьте версию ядра Linux и делайте обновления, чтобы обеспечить совместимость с новыми возможностями драйверов.
  3. Использование среды Lutris и Wine:

    • Lutris и Wine требуют оптимальной настройки для игры. Проверьте настройки Lutris для GTA 5, чтобы удостовериться, что они соответствуют требованиям производительности.
    • Используйте последние версии Wine для улучшенной совместимости с играми Windows.
  4. Оценка общей системной конфигурации:

    • Увеличение объема ОЗУ может помочь в перераспределении нагрузки между процессорными ресурсами и GPU. Если у вас менее 8 ГБ ОЗУ, рассмотрите возможность увеличения объема памяти.
    • Убедитесь в том, что функции BIOS, относящиеся к графике, такие как iGPU Memory Allocation (если применимо), настроены оптимально.
  5. Обсуждение с сообществом:

    • Рассмотрите возможность участия в форумах, таких как официальный форум Lutris, где могут быть описаны успешные случаи настройки подобных систем.
    • Посетите соответствующие темы на форумах NVIDIA для получения дополнительных идей и предложений от других пользователей.

Заключение

Несмотря на ограничения, существующие в Linux относительно распределения системной памяти для GPU, существует ряд шагов, которые могут помочь улучшить производительность. Акцент на обновлениях программного обеспечения, настройке Lutris и Wine, а также участии в соответствующих сообществах, является ключевым для достижения лучших результатов.

Это руководство ориентировано на улучшение пользовательского опыта и оптимизацию системных ресурсов для игровых приложений на Linux Mint.

Оцените материал
Добавить комментарий

Капча загружается...