LINUX.ORG.RU

Нехватка оперативной памяти видеокарты

 , , ,


0

1

Всем доброго времени суток. Такая вот странная проблема, вдруг кто сталкивался: у меня AMD Radeon R9 270x с 2гб оперативы на борту, моник с разрешением 2560х1080.

на wm Sway/Hyprland в играх «доступно» не более 512мб ведопамяти, хотя в тех же кедах доступно было всегда в разы больше памяти. Почему такое происходит? Что я упускаю?

Я не уверен, но что показывает radeontop Там где GTT,VRAM (не уверен я в том поймёт ли он эту карту)

По гтт альтернативно так sudo dmesg | grep GTT (GTT это видеопамять в оперативке )

И glxinfo -B в студию

на wm Sway/Hyprland в играх «доступно» не более 512мб ведопамяти

Как ты это узнал?

На вулкане какую дрянь запускал? Приложения вулкановые монопольно забирают память так что другие приложения просто не запустятся или будут репортовать о её нехватке, всё как в девяностых, при опенгл такой параши нет.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 9)
Ответ на: комментарий от LINUX-ORG-RU

Как ты это узнал?

ну в условной Attila: total war в настройках графики пишет, что доступно всего 512, при каждой загрузке так же выдает что недостаточно видеопамяти. Хотя если посмотреть ее «рекомендуемые» настройки графики, то там как раз моя видяха фигурирует. На оффтопике и на кедах она у меня идет на максималках, а здесь автоматом понижены настройки в минимум. Тоже самое с Rome 2 total war, в других играх например бывают вылеты с жалобами на тот же недостаток видеопамяти.

radeontop

VRAM 1419/2005M (70.76%)
GTT 239M / 3970M (6.02%)

Собственно, видео радеон топ с запущенным War Thunder на минималках.

Обычно пользуюсь nvtop, тоже не врет)

sudo dmesg | grep GTT

[   39.523596] [drm] amdgpu: 3972M of GTT memory ready.

glxinfo -B

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD Radeon R9 200 Series (pitcairn, LLVM 15.0.7, DRM 3.52, 6.3.5-arch1-1) (0x6810)
    Version: 23.1.1
    Accelerated: yes
    Video memory: 2048MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 627 MB, largest block: 627 MB
    VBO free aux. memory - total: 3733 MB, largest block: 3733 MB
    Texture free memory - total: 627 MB, largest block: 627 MB
    Texture free aux. memory - total: 3733 MB, largest block: 3733 MB
    Renderbuffer free memory - total: 627 MB, largest block: 627 MB
    Renderbuffer free aux. memory - total: 3733 MB, largest block: 3733 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 2048 MB
    Total available memory: 6020 MB
    Currently available dedicated video memory: 627 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon R9 200 Series (pitcairn, LLVM 15.0.7, DRM 3.52, 6.3.5-arch1-1)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.1.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.1.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.1.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

NorthernBlow
() автор топика
Ответ на: комментарий от NorthernBlow

Ну по идее тебе никто не мешает работать в вейланде, а для игрушек запускать иксы, где проблем с видеопамятью нет. Возможно дело в том, что XWayland чудит, ведь почти все игры запускаются через иксы.

Werenter ★★★
()
Ответ на: комментарий от LINUX-ORG-RU

при опенгл такой параши нет

В опенгл приложения вообще видеопамятью не управляют и по дефолту даже нет способа узнать, сколько ее есть/доступно. Все расширения для этого ведор-/система-специфичные. А виндовые приложения часто дергают системный api, т.к. это гораздо надежнее, чем гадать по расширениям opengl. В линуксах надежного, вендор-нейтрального способа узнать объём видеопамяти я не знаю, наверное он есть.

Khnazile ★★★★★
()
Последнее исправление: Khnazile (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Прям везде? Какие именно и где.

прямо везде один и тот же артефакт, где бы то ни было, даже на пустом рабочем столе случаются «промаргивания» изображения на мониторе. С полоской в центре. Я грешил на железо, но оказалось что дело не в железе видать.

NorthernBlow
() автор топика
Ответ на: комментарий от Werenter

Я сталкивался с такой реализацией: приложение парсит лог иксов, и вытаскивает оттуда объём видеопамяти. Если вытащить данные из лога не получается, то в переменную подставляется некий захардкоженный объём. Чоткая реализация, чё.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

А и не надо ничего узнавать в том и суть OpenGL, ты запрашиваешь буфер размером N тебе его дадут, ты будешь с ним работать, втрое приложение запросит буфер замером X такое что N+X будет больше в 2 раза чем твой VRAM, при отрисовке первого приложения openGL сбросит в оперативку не требующиеся буферы от втрого приложения и наоборот, а если активны оба то будет отдавать ресурсы то одному то другому, но это авральный режим, но зато всё работает с учётом скорости железа довольно быстро так как достаточно выгрузить ровно столько сколько требуется для обработки и отрисовки текущего. В этом вся суть и прелесть OpenGL он для этого и создан.

вендор-нейтрального способа узнать объём видеопамяти я не знаю, наверное он есть.

Есть в виде обёрток над различными API, нет никаких проблем вообще. Надо узнать узнаешь. И если нехватает реальной VRAM можешь предупредить пользователя что мол может быть будут тормоза.

Конечно и OpenGL приложения могут отвалится с нехваткой памяти, но они гораздо более устойчивы так как есть механизм разрешения конфликтов за ресурсы. В вулкане у тебя вообще ничего нет, увидел память, сожрал побольше, а дельше ***** оно конём. Это отлично для перфоманса при монопольном занятии ресурсов одной программой (АААААА Игрой) но ужасно во всех иных случаях, например реализация композитинга на вулкане или типа того, это дебильный рак полоумный. У OpenGL и Вулкана разные смыслы и пути применения.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от NorthernBlow

На иксах или на вялом в кедах? Или на иксх в кедах? А на иксах вне кедов? А в кедах свистопердульки включены какие?

Дело точно не в иксах. =) Запусти например openbox (чисто для проверки) и там игру 99,9% всё будет работать нормально.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 3)
Ответ на: комментарий от LINUX-ORG-RU

Пофиг ващще, у ТС проблема не в vulkan. Круглое число само по себе намекает, что проблема, скорее всего, не в том, что кто-то использует эту память.

А то, что разработчики программ с opengl часто лажают, когда надо определить объём видеопамяти - данность. Зачем они это делают, вопрос не ко мне, я не разработчик.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile
$ nvidia-smi 
Mon Jun 26 19:58:49 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.116.04   Driver Version: 525.116.04   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:07:00.0  On |                  N/A |
|  0%   47C    P0    32W / 120W |    477MiB /  6144MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2584      G   X                                 336MiB |
|    0   N/A  N/A      3641      G   /usr/bin/gnome-shell               17MiB |
|    0   N/A  N/A      4133    C+G   ...652826848935994668,262144      120MiB |
+-----------------------------------------------------------------------------+



ну и + $man nvidia-smi
* на картинке 1060/6. асус, емнип.

etwrq ★★★★★
()
Последнее исправление: etwrq (всего исправлений: 1)
Ответ на: комментарий от etwrq

Работает только для видеокарт nvidia, и только если установлен проприетарный драйвер nvidia. О чем и речь.
Попробуй на досуге узнать из GL-контекста объем видеопамяти для Intel Arc, например. А после все то же самое, но в EGL, а не GLX :)

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

ещё бы про мертвый нуво вспомнили.
в блоб-лоадеры сумели как красные так и синии.[dri-device с которым меса/вулкан работают]
а вот в туллинг несмогли, видимо.

etwrq ★★★★★
()
Последнее исправление: etwrq (всего исправлений: 1)
Ответ на: комментарий от bo4ok

Судя по железу, ты не можешь позволить себе тратить время на игры.

что еще в секте успешного успеха рассказывают? Только что вернулся с курсов гедонизма и потребления?

NorthernBlow
() автор топика
Ответ на: комментарий от NorthernBlow

DE потекла и сьела память. Поиграйся с параметрами. https://www.kernel.org/doc/html/latest/gpu/amdgpu/module-parameters.html В amd_gpu_top можно посмотреть более точно, что сьело.

NonameKiriLL
()
Последнее исправление: NonameKiriLL (всего исправлений: 1)