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 закрыт код, но есть «обвязка», код которой можно редактировать

★★★★★

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

А чё, стандартный vesa или vga драйвер и разрешение 640x480 куда-то делись?

anonymous
()
Ответ на: комментарий от 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

«Секретная профитная валюта» сейчас стоит очень дёшево. И вряд ли подорожает, потому что эмиссия не ограниченная

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от 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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.