LINUX.ORG.RU

Смотрите, какой офигенный патч я нашёл!

 , , ,


1

3

xf86-video-nv-bug519261-increase-virtual.diff

Index: xf86-video-nv-2.1.14/src/g80_driver.c
===================================================================
--- xf86-video-nv-2.1.14/src/g80_driver.c
+++ xf86-video-nv-2.1.14/src/g80_driver.c
@@ -390,6 +390,22 @@ G80PreInit(ScrnInfoPtr pScrn, int flags)
     /* Create the crtcs */
     G80DispCreateCrtcs(pScrn);
 
+    /* Unless we're able to shrink/enlarge FB on the fly (GEM etc.), allocate
+     * large enough (TM) virtual size */
+    if (  (!pScrn->display->virtualX || !pScrn->display->virtualY) &&
+	! (pNv->NoAccel || pNv->AccelMethod == EXA)) {
+	/* No need to accomodate for 3D buffers - no DRI anyway... */
+	if (2 * 1920*1920 * (pScrn->bitsPerPixel/8) <= pScrn->videoRam * 1024) {
+	    /* Fits on 32MB and up */
+	    pScrn->display->virtualX = 2 * 1920;
+	    pScrn->display->virtualY = 1920;
+	} else if (2 * 1680*1280 * (pScrn->bitsPerPixel/8) <= pScrn->videoRam * 1024) {
+	    /* Fits on 16MB and up */
+	    pScrn->display->virtualX = 2 * 1680;
+	    pScrn->display->virtualY = 1280;
+	}
+    }
+
     /* We can grow the desktop if XAA is disabled */
     if(!xf86InitialConfiguration(pScrn, pNv->NoAccel || pNv->AccelMethod == EXA)) {
         xf86DrvMsg(pScrn->scrnIndex, X_ERROR,

Это драйвер без поддержки 3D-ускорения. В комментариях к коду написано: «так как мы не можем изменить разрешение фреймбуфера „на лету“, то увеличиваем максимальное разрешение». И чуть дальше «так как драйвер всё равно не поддерживает DRI, то увеличиваем количество памяти для вывода изображения». Если перефразировать, то «раз уж 3D-графику мы моделировать всё равно не умеем, то почему бы не увеличить максимальное разрешение засчёт этой памяти?»

Так вот. Тут у Эфириума растёт DAG, через неделю он будет иметь размер 4 Гб, и поэтому 4-гиговые GPU «пролетают». ethminer мне говорит, что осталось 8 Мб свободно (в течение месяца он сообщал 30, 20, 15 и т.д.). Можно ли пропатчить fglrx так, чтобы он картинку выводит в 640x480, а для OpenCL дал больше памяти? Если удастся получить хотя бы 30 Мб, то это майнинг ещё в течение месяца

У fglrx закрыт код, но есть «обвязка», код которой можно редактировать

Ответ на: комментарий от anonymous

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

ZenitharChampion ★★★★★ ()

Чтобы сэкономить память, лучше запускать вообще без иксов. Но т.к. fglrx без иксов не работает, то значит остается вариант запускать пустые иксы. Один процесс иксов жрет всего пару мб видеопамяти.

И да, что у тебя там за карты такие с 4 гб памяти на fglrx? Последняя серия, которой требовался fglrx - это gcn 1.0, а там емнип 4 гб ни на одной карте не было.

Radius ★★★★ ()

сейчас на авито начнут сливать ушатанные 4х гиговые карты

Eof ()
Ответ на: комментарий от anonymous

Для майнинга обычно такое копипастят, мб поможет:

For AMD cards, set the following environment variables, especially if you have 2...4GB cards:

GPU_FORCE_64BIT_PTR 0
GPU_MAX_HEAP_SIZE 100
GPU_USE_SYNC_OBJECTS 1
GPU_MAX_ALLOC_PERCENT 100
GPU_SINGLE_ALLOC_PERCENT 100
KillTheCat ★★★★★ ()
Ответ на: комментарий от YAR

согласин, квант вынесит то все дело на раз :)

Deleted ()
Ответ на: комментарий от KillTheCat

Мой скрипт запуска выглядит так:

export GPU_FORCE_64BIT_PTR=0
export GPU_MAX_HEAP_SIZE=100
export GPU_USE_SYNC_OBJECTS=1
export GPU_MAX_ALLOC_PERCENT=100
export GPU_SINGLE_ALLOC_PERCENT=100
aticonfig --pplib-cmd "set fanspeed 0 85"
sleep 2
aticonfig --odsc=1150,1375
sleep 2
./ethminer -G -P stratum1+tcp://кошелёк.имякомпа@урлпула:порт
ZenitharChampion ★★★★★ ()

Сегодня утром оставалось 768 Кб памяти под OpenCL. Завтра, скорее всего, майнинг перестанет работать.

Вот бинарный блоб fglrx, а также код «обвязки» вокруг него. Если кто-нибудь сможет увеличить количество выделяемой VRAM под OpenCL - буду благодарен! У меня AMD Radeon R9 290X, если что. https://yadi.sk/d/M1F088fafII9rA

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

Похоже что модуль ядра этим не управляет. Этим управляет сама реализация OpenCL. Значит, надо смотреть в сторону ROCm

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

буду благодарен

Это сколько в биткоинах?

anonymous ()

Всё. Отрубилось. Только что.

anonymous ()
Ответ на: комментарий от ZenitharChampion

Ethminer работает и дальше. Единственная разница, что при старте он стал писать, что генерирует lightweight DAG вместо обычного. Также пишет, что на видеокарте аномально много свободной памяти. Но всё работает. В общем, ты зря панику наводил

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

https://community.amd.com/thread/168264

Вот здесь я нашёл решение. Оказывается, надо было поменять:

export GPU_FORCE_64BIT_PTR=0

на:

export GPU_FORCE_64BIT_PTR=1

И всё стало работать дальше. Свободной памяти ethminer показал 970 Мб. Можно майнить дальше!

https://vk.com/topic-132741793_35440663 вот тут пишут:

GPU_FORCE_64BIT_PTR 0 — При установке в единицу позволяет получить доступ к 64-битного адресного пространства. В то время как это может звучать как хорошая идея, она может уменьшать производительности, потому что указателю нужно в два раза больше тактов, чем в 32-битном режиме.

Ну, не знаю, у меня как было 46,4 MH/s, так и осталось 46,4 MH/s. Пул также рапортует о нормальном хешрейте.

https://miningclub.info/threads/claymores-setx-gpu_max_alloc_percent-100.1631/

А вот тут пишут:

GPU_FORCE_64BIT_PTR 0-ВНИМАНИЕ!!!! По возможности не используйте данную переменную(«падение» программы при работе с картами RX серии)

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

Я майню на 380X, тут недорогие RX 560 предлагают - задумываюсь над тем, чтобы перейти. Поддерживает ли amdgpu разгон? Catalyst поддерживал задание частоты через amdconfig, или прямо из cgminer (ADL)

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

недорогие RX 560 предлагают

А обвязка к ним тоже недорогая? :)

Поддерживает ли amdgpu разгон?

Да, хотя это все работало достаточно криво, когда последний раз щупал. Но это было давно.

задание частоты через amdconfig

Удобно было, да. Дал ему команду - оно поставило параметры. А скриптами любую логику можно реализовать. А сейчас - профили потребления, сдвиги частот, лимиты мощности...

YAR ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.