Перейти к содержимому

Отключение каналов памяти на видеокартах AMD


Введение

Наверняка у многих из вас были проблемы с видеокартами AMD прошлых серий. К примеру, артефакты, отсутствие изображения, синие экраны или же ошибка 43 при установке драйвера. Чаще всего проблемы возникали из-за отвала видеочипа. Эта проблема на какое-то время решалась прогревом GPU – пользователи грели свои видеокарты в домашних условиях, используя утюги, духовки, электроплиты, и прочую бытовую технику. Как правило, такого “ремонта” хватало на пару недель, но в редких случаях видеокарта могла проработать стабильно более года . Не так давно появился новый более надежный способ ремонта отвала GPU на старых видеокартах AMD, который не требует никаких вмешательств в аппаратную часть видеокарты, а так же может вернуть к жизни те видеокарты, которым прогрев уже не помогает.

Артефакты на экране
Прогрев GPU в духовке

Бывают разные виды отвалов: отвал подложки от платы, либо же отвал кристалла от подложки. Из названия следует что отвал – это отрыв части контактов чипа. Каким образом это работает? Подложка припаивается к плате с помощью маленьких шариков из припоя (BGA). То есть контакт подложки с платой достигается посредством этих шариков, таким же образом кристалл чипа припаян к подложке, только шарики там уже намного меньше. Теперь представьте себе: Разрушился один или несколько шаров (или просто отошел от контактной площадки). Контакт с платой разорван, поэтому нормальная работа видеочипа невозможна.
Шарики припоя, как и все вещи, имеют свой ресурс. Когда условия работы благоприятные, ресурс выработать практически невозможно. Хотя тут все зависит от конкретной видеокарты и ее параметров. Как правило, подложка от платы отваливается от механического воздействия. На старых видеокартах в большинстве случаев происходит отвал кристалла от подложки. Некоторые ремонтники до сих пор ошибочно считают, что реболл видеочипа решит проблему. Однако, на самом деле результат от реболла будет таким же, каким он был бы при обычном прогреве, т. к. отваливается именно кристалл от подложки. Реболл кристалла теоретически возможен, но только в заводских условиях. Полноценно решить проблему такого отвала может только замена GPU.

Места отвала чипа видеокарты

К счастью для владельцев старых видеокарт, недавно появился программный метод «лечения» отвала. Он позволяет вернуть к жизни видеокарты AMD от HD 7000 серии до более современных моделей RX 400/500 серии. Эти карты отваливаются реже и обычно на прогрев они не ведутся.
В большинстве случаев отрываются шарики BGA по линиям данных памяти. Поэтому видеокарта стартует, но на экране вы видите артефакты. С помощью данного метода мы отключаем проблемные каналы памяти, модифицируя BIOS видеокарты.
После отключения каналов памяти, ее общий объем снижается, а также уменьшается разрядность шины данных, что отражается на производительности видеокарты. Зато такого метода хватит надолго, а карту не нужно будет постоянно греть.
На данный момент поддерживаются следующие видеокарты:

  • AMD Radeon HD 7850/7870, R9 270/270X, R9 (R7) 370/370X
  • AMD Radeon HD 7950/7970, R9 280/280X
  • AMD Radeon R9 290/290X/390/390X
  • AMD Radeon RX 470/480/570/580/590

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

Следите за развитием проекта в нашем Telegram канале, а также на YouTube.


ВНИМАНИЕ! ВЫШЛА НОВАЯ ВЕРСИЯ!

Больше никаких HEX редакторов, а также поддержка большего количества моделей видеокарт.

Смотрите гайд на нашем YouTube канале. Немного позже добавим и текстовую версию

Смотреть видео

Содержание


Подготовка

Для данной процедуры нам понадобится USB флешка минимум на 8 ГБ, а также наличие интегрированной графики в процессоре.

Создание загрузочной флешки

Приобретаем и скачиваем софт по этой ссылке, извлекаем файлы из архива.

Запускаем программу balenaEtcher-Portable-1.7.9.exe и перетягиваем в нее файл образа 1.0.9.img.

Нажимаем Select target и выбираем нашу флешку, после чего нажимаем Flash.

Дожидаемся окончания процесса записи и переходим к следующему шагу.

Переключение вывода изображения на интегрированную графику

Загрузочная флешка подготовлена. Теперь нам нужно зайти в BIOS и переключить приоритет вывода изображения на интегрированную графику. Показываю на примере материнской платы ASUS P8H77-V.

Чтобы войти в меню настроек BIOS, при запуске системы нажимаем клавишу DEL или F2.

В меню настроек переходим на вкладку Дополнительно и выбираем пункт Конфигурация системного агента.

Теперь выбираем пункт Параметры графики.

Переходим к пункту Основной дисплей и выбираем iGPU.

После этого нажимаем F10 и подтверждаем сохранение настроек.

После сохранения настроек система перезапустится. Теперь можем подключить монитор к видеовыходу на материнской плате.

На этом подготовка завершена. Переходим к следующему шагу.

Запуск TSERVER

Загружаемся с нашей флешки, для этого нужно открыть Boot Menu. На материнских платах ASUS его можно вызвать нажатием клавиши F8, а на GIGABYTE F12. На других материнских платах может быть по-другому.

Выбираем нашу флешку и нажимаем ENTER.

Теперь нам нужно выбрать пункт Запуск TSERVER.

Обратите внимание, что данная сборка не поддерживает современные платформы. Сборка гарантированно будет работать на платформах LGA 755, 1156, 1155, 1150 (Intel) и AM3 (AMD). Также не рекомендуется использовать порты USB 3.0, на некоторых платформах могут быть проблемы с загрузкой.

Если перед вами экран как на скриншоте ниже – значит загрузка системы прошла успешно.


Выявление сбойных каналов

Для запуска теста введите команду в зависимости от модели карты:

  • HD 7850 – ./7850
  • HD 7870 – ./7870
  • HD 7950 – ./7950
  • HD 7970 – ./7970
  • R9 270 – ./270
  • R9 270x – ./270
  • R9 280 – ./280
  • R9 280x – ./280
  • R9 290 – ./290
  • R9 290x – ./290
  • R7 370 – ./370
  • R9 370 – ./370
  • R9 370x – ./370
  • R9 390 – ./390
  • R9 390x – ./390
  • RX 470 – ./470
  • RX 480 – ./480
  • RX 570 – ./570
  • RX 580 – ./580
  • RX 590 – ./590

В процессе теста вы можете увидеть сообщение PASS или FAIL. Если по каналам ошибки чтения/записи не найдены – будет PASS. В моем случае имеются ошибки по некоторым каналам, поэтому у меня FAIL.

Ошибки не найдены
Имеются ошибки

По окончании теста будет выведен результат. Для навигации используйте клавиши PageUp и PageDown.

Результат теста

Рассмотрим результат теста:

Результат теста

Как вы можете заметить, почти по всем каналам у нас точки, за исключением A0 и A1, в них у нас имеются “пятерки” (могут быть и “4”, “3”, “2”) – это и есть ошибки. Соответственно каналы A0 и A1 нам необходимо отключить.

Обратите внимание, что на картах HD 7850/7870, R9 270/270X, R9 (R7) 370/370X в результатах теста каналы отображаются неправильно. На этих картах они отображаются как “A, B, C, D, E, F, G, H”, на самом деле это каналы “A0, A1, B0, B1, C0, C1, D0, D1”.

A = A0
B = A1
C = B0
D = B1
E = C0
F = C1
G = D0
H = D1

Закрыть результат теста можно сочетанием клавиш Ctrl+X.

С результатами теста разобрались, теперь переходим к самому процессу отключения каналов.


Отключение каналов

На разных картах процесс отличается, поэтому данный этап разделен на 4 части:

AMD Radeon HD 7850/7870, R9 270/270X, R9 (R7) 370/370X

Варианты отключения

Итак, у нас имеются ошибки по каналам A0 и A1. Отключить только эти каналы не получится. С завода на этой карте 8 каналов, шина 256bit и общий объем памяти 2ГБ. У нас есть несколько вариантов отключения:

  • 4 активных канала, 128bit, 1ГБ
  • 2 активных канала, 64bit, 512МБ
  • 1 активный канал, 32bit, 256МБ

Так как у нас ошибки всего по двум каналам, нам подойдет первый вариант со 128-битной шиной и 1ГБ памяти.

Отключение каналов

Вводим команду в зависимости от модели карты:

  • HD 7850 – ./7850ch
  • HD 7870 – ./7870ch
  • R9 270 – ./270ch
  • R9 270x – ./270ch
  • R7 370 – ./370ch
  • R9 370 – ./370ch
  • R9 370x – ./370ch
Скрипт для отключения каналов

Перед нами 2 значения:
CURRENT CHANNELS – это каналы, которые сейчас задействованы;
CHANNEL MAP – это текущая карта каналов.

Записываем или фотографируем карту каналов, она нам еще пригодится. После этого соглашаемся на перезапись каналов нажатием “Y” и ENTER.

Теперь нам нужно ввести каналы, которые мы хотим задействовать, в моем случае это B0B1C0C1. Вводим и нажимаем ENTER.

Отключение каналов

Если каналы и карта каналов изменились – значит мы всё сделали правильно. Записываем или фотографируем эти значения, после чего запускаем повторный тест.

Убеждаемся в отсутствии ошибок, после чего закрываем результат сочетанием клавиш Ctrl+X и перезагружаем систему командой reboot или сочетанием клавиш Ctrl+Alt+Del.

Сохранение дампа BIOS

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

Вводим команду af -s 0 bios.rom (bios.rom – это имя сохраняемого файла, можно ввести что-то другое).

Дожидаемся сообщения об успешном сохранении дампа, после чего перезагружаем систему сочетанием клавиш Ctrl+Alt+Del.

Модификация BIOS

Теперь загружаемся в Windows (можно использовать другой ПК).

Открываем нашу флешку и переходим в папку Tools.

Запускаем ATOMBIOSReader.exe.

В открывшемся окне нажимаем “Open” и выбираем наш ранее сохраненный биос (он находится в корне флешки).

После этого в корне флешки рядом с нашим биосом должен появиться одноименный текстовый документ. Открываем его, пролистываем в самый низ и находим строку “VRAM_Info”.

Снова переходим в папку Tools и запускаем HxD.exe.

В открывшееся окно перетаскиваем наш биос (файл BIOS.ROM в корне флешки).

Нажимаем Ctrl+E.

Теперь возвращаемся к ранее открытому текстовому документу, копируем выделенные данные и вставляем в HxD.

Синим цветом выделено смещение начала, красным – длина.

Нажимаем “OK”.

Мы успешно выделили блок VRAM_Info в нашем биосе. Для удобства работы с ним, копируем его в отдельный файл.

Теперь давайте разберемся какие данные нужно редактировать.

NumOfVRAMModule (количество модулей VRAM) – если модулей несколько, потребуется редактирование всех. В моем случае их 2, также может встречаться 1 или 3. Больше 3-х мне не попадалось. Каждый модуль VRAM начинается с карты каналов, сразу после неё идет размер модуля. Чтобы визуально отделить один модуль от другого, давайте выделим первый. Для этого перемещаем курсор на карту каналов первого модуля и нажимаем Ctrl+E.

В поле “длина” вводим размер модуля и нажимаем “ОК“.

Как вы можете заметить, сразу после первого модуля идет второй. Сначала меняем нужные данные в первом модуле, а потом проделываем то же самое со вторым.

ChannelMapCfg (карта каналов) – этот параметр нам нужно заменить. В данном случае карта каналов 1A C2 FA 00. Теперь давайте вернемся к карте каналов, которую мы записывали ранее.

00 FA C2 1A. Теперь давайте поставим байты в обратном порядке. 00 FA C2 1A1A C2 FA 00.

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

00 F8 8B 1A1A 8B F8 00.

Записываем новую карту каналов в модуль VRAM.

ModuleSize (размер модуля) – этот параметр менять не нужно, я его выделил только для того, чтобы вы могли визуально отделить первый модуль от последующих.

EnableChannels (активные каналы) – этот параметр меняем в зависимости от отключаемых каналов. Давайте выделим этот байт и перейдем к двоичному виду.

В двоичном виде значение этого байта 11111111, то есть 8 бит. Каждый бит отвечает за свой канал, у него может быть 2 значения – 1 (вкл) или 0 (выкл).

Вспоминаем, какие каналы мы оставили активными и обращаемся к моей таблице.

В моем случае это каналы B0 B1 C0 C1, то есть значение в двоичном формате будет 00111100, а в шестнадцатеричном – 3C.

ChannelNum (количество каналов) – меняем этот параметр в зависимости от того, сколько каналов оставляем активными:

  • 8 каналов – 03
  • 4 канала – 02
  • 2 канала – 01
  • 1 канал – 00

В моем случае 4 канала – 02.

MemorySize (объем памяти) – также меняем в зависимости от того, сколько каналов оставляем активными и какой объем памяти на карте был изначально. У меня карта изначально на 2ГБ, я отключаю половину каналов, то есть объем уменьшается в 2 раза, получается 1ГБ.

  • 4ГБ – 40
  • 2ГБ – 20
  • 1ГБ – 10
  • 512МБ – 08
  • 256МБ – 04
  • 128МБ – 02

Первый модуль мы отредактировали, теперь делаем то же самое с остальными модулями (если они есть).

Вот что должно получиться в конечном итоге:

Теперь выделяем весь блок VRAM_Info клавишами Ctrl+A, копируем (Ctrl+C) и вставляем обратно в биос сочетанием клавиш Ctrl+B.

После этого сохраняем биос в отдельный файл (Файл ➔ Сохранить как). Называем например “BIOS2.rom“.

Остается только поправить контрольную сумму. Для этого переходим в папку Tools и запускаем Anoraks AMD VBIOS CRC checker v1.exe.

Нажимаем “Check CRC” и выбираем наш ранее сохраненный биос.

Saved checksum – контрольная сумма, которая в данный момент записана в биосе;

Expected checksum – контрольная сумма, высчитанная данной утилитой, она считается действительной.

Наша задача заменить в биосе контрольную сумму на действительную. Возвращаемся в HxD и переходим в начало нашего биоса.

На скриншоте я выделил байт, в котором содержится контрольная сумма. Меняем контрольную сумму на действительную. В моем случае F2 ➔ 0C.

Сохраняем биос сочетанием клавиш Ctrl+S, после этого снова проверяем контрольную сумму.

Отлично. Контрольную сумму мы поправили, теперь перезапускаем систему и переходим к следующему шагу.

Прошивка BIOS

Загружаемся с флешки и выбираем DOS.

Для прошивки BIOS вводим команду af -p 0 bios2.rom.

Дожидаемся сообщения об успешной прошивке и перезапускаем систему клавишами Ctrl+Alt+Del.

Тесты

Снова грузимся с флешки, только на этот раз выбираем TSERVER.

Запускаем повторный тест.

Если ошибок нет – значит мы все сделали правильно. Теперь можно переключить вывод изображения на нашу видеокарту, как мы это делали тут, только в обратном порядке.

Загружаемся в Windows и проводим тесты.

Отлично! Видеокарта снова в строю и не требует постоянного прогрева.

Насколько снизится производительность?

Если вы не хотите заморачиваться с самостоятельным редактированием BIOS – можете приобрести готовый биос тут. Если вдруг на сайте не оказалось биоса для вашей карты – обращайтесь, сделаем индивидуально.

AMD Radeon HD 7950/7970, R9 280/280X

Варианты отключения

У нас имеются ошибки по каналам B0 и B1. Отключить только эти каналы не получится. С завода на этой карте 12 каналов, шина 384bit и общий объем памяти 3ГБ, у нас есть несколько вариантов отключения:

  • 8 активных каналов, 256bit, 2ГБ
  • 6 активных каналов, 192bit, 1,5ГБ
  • 4 активных канала, 128bit, 1ГБ
  • 2 активных канала, 64bit, 512МБ
  • 1 активный канал, 32bit, 256МБ

Так как у нас ошибки всего по двум каналам, нам подойдет первый вариант с 256-битной шиной и 2ГБ памяти.

Отключение каналов

Вводим команду в зависимости от модели карты:

  • HD 7950 – ./7950ch
  • HD 7970 – ./7970ch
  • R9 280 – ./280ch
  • R9 280x – ./280ch
Скрипт для отключения каналов

Перед нами 2 значения:
CURRENT CHANNELS – это каналы, которые сейчас задействованы;
CHANNEL MAP – это текущая карта каналов.

Записываем или фотографируем эти данные, они нам еще пригодятся. После этого соглашаемся на перезапись каналов нажатием “Y” и ENTER.

В отличии от первой части, тут все немного сложнее. Просто так любые каналы мы ввести не можем, для каждой конфигурации есть своя закономерность. Чтобы в ней разобраться, переписываем текущие каналы и делим их на 4 группы (по 3 канала в каждой):

E1D0D1B1C0C1F0F1E0A0A1B0 E1D0D1 B1C0C1 F0F1E0 A0A1B0.

8 каналов

Для конфигурации с 8 активными каналами мы можем отключить в каждой группе по одному любому каналу. Если у вас ошибки по нескольким каналам, состоящим в одной группе – этот вариант вам не подойдет.

Пример:

  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F1E0E0 A0A1B0

Я для своей карты выберу последний вариант – E1D0D1 B1C0C1 F1E0E0 A0A1B0. То есть активными у меня остаются каналы E1D1 C0C1 F1E0 A0A1, а оставшиеся D0 B1 E0 B0 я отключаю.

6 каналов

Для конфигурации с 6 активными каналами мы можем отключить любые две группы, а две оставшиеся оставить активными. Если у вас в каждой группе есть каналы с ошибками – этот вариант вам не подойдет.

Пример:

  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0

Я для своей карты могу выбрать последний вариант – E1D0D1 B1C0C1 F0F1E0 A0A1B0. То есть активными у меня остаются каналы E1D0D1 F0F1E0, а оставшиеся B1C0C1 A0A1B0 я отключаю.

4 канала

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

Пример:

  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0

Я для примера возьму последний вариант – E1D0D1 B1C0C1 F0F1E0 A0A1B0. То есть активными у меня остаются каналы E1D0 F0F1, а оставшиеся D1 B1C0C1 E0 A0A1B0 я отключаю.

2 канала

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

Пример:

  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0
  • E1D0D1 B1C0C1 F0F1E0 A0A1B0

Я для примера снова возьму последний вариант – E1D0D1 B1C0C1 F0F1E0 A0A1B0. То есть активными у меня остаются каналы F0F1, а оставшиеся E1D0D1 B1C0C1 E0 A0A1B0 я отключаю.

Возможно вы подумали, что в одноканальном режиме можно выбрать любой канал, какой захочется, но, к сожалению, это не так. В такой конфигурации нам доступны только эти каналы:

1 канал
  • E1
  • B1
  • F0
  • A0

То есть только те каналы, которые в группах стоят первыми.

Возвращаемся к скрипту для отключения каналов. Я в своем примере буду использовать 8-ми канальный конфиг, который я выбрал ранее. То есть ввожу каналы E1D1C0C1F0F1A0A1.

Скрипт для отключения каналов

Записываем или фотографируем новые данные. Самые внимательные могли заметить, что карта каналов у нас не изменилась – это нормально, в некоторых случаях она остается неизменной.

Теперь давайте запустим повторный тест.

Убеждаемся в отсутствии ошибок, после чего закрываем результат сочетанием клавиш Ctrl+X.

Теперь нам нужно перейти в директорию TSERVER, для этого вводим cd /mods/Tahiti.

Теперь давайте введем еще одну команду ./agt -mcregdump.

Перед нами таблица с данными, из нее нам понадобятся выделенные строки:

Reg(0x3230) 0x001 MC_XBAR_TWOCHAN-MCC0 0x00000009
Reg(0x3230) 0x101 MC_XBAR_TWOCHAN-MCC1 0x00000013
Reg(0x3230) 0x201 MC_XBAR_TWOCHAN-MCC2 0x00000011
Reg(0x3230) 0x301 MC_XBAR_TWOCHAN-MCC3 0x00000009

Записываем их значения, в моем случае это 09, 13, 11, 09. После этого перезагружаем систему командой reboot или сочетанием клавиш Ctrl+Alt+Del и переходим к следующему шагу.

Сохранение дампа BIOS

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

Вводим команду af -s 0 bios.rom (bios.rom – это имя сохраняемого файла, можно ввести что-то другое).

Дожидаемся сообщения об успешном сохранении дампа, после чего перезагружаем систему сочетанием клавиш Ctrl+Alt+Del.

Модификация BIOS

Теперь загружаемся в Windows (можно использовать другой ПК).

Открываем нашу флешку и переходим в папку Tools.

Запускаем ATOMBIOSReader.exe.

В открывшемся окне нажимаем “Open” и выбираем наш ранее сохраненный биос (он находится в корне флешки).

После этого в корне флешки рядом с нашим биосом должен появиться одноименный текстовый документ. Открываем его, пролистываем в самый низ и находим строку “VRAM_Info”.

Снова переходим в папку Tools и запускаем HxD.exe.

В открывшееся окно перетаскиваем наш биос (файл BIOS.ROM в корне флешки).

Нажимаем Ctrl+E.

Теперь возвращаемся к ранее открытому текстовому документу, копируем выделенные данные и вставляем в HxD.

Синим цветом выделено смещение начала, красным – длина.

Нажимаем “OK”.

Мы успешно выделили блок VRAM_Info в нашем биосе. Для удобства работы с ним, копируем его в отдельный файл.

Теперь давайте разберемся какие данные нужно редактировать.

NumOfVRAMModule (количество модулей VRAM) – если модулей несколько, потребуется редактирование всех (как это делается я показывал тут). В моем случае он один, также может встречаться 2 или 3. Больше 3-х мне не попадалось.

ChannelMapCfg (карта каналов) – этот параметр нам нужно заменить. В данном случае карта каналов CA 00 24 00, но редактировать мы будем только первые 2 байта – CA 00, остальные менять не нужно. Теперь давайте вернемся к карте каналов, которую мы записывали ранее.

00 00 00 CA. Теперь давайте уберем первые 2 байта – получается 00 CA. А теперь поставим байты в обратном порядке. 00 CACA 00.

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

В моем случае карта каналов осталась без изменений, но если у вас она поменялась – переставляем байты, как мы это делали выше и заносим новую карту каналов в модуль VRAM.

00 CACA 00.

ModuleSize (размер модуля) – этот параметр менять не нужно, он понадобится только в том случае, если у вас несколько модулей VRAM. Подробнее читайте здесь.

EnableChannels (активные каналы) – этот параметр меняем в зависимости от отключаемых каналов. В отличии от первой части, тут у нас уже 2 байта. Первый отвечает за каналы A0 A1 B0 B1 C0 C1 D0 D1, а второй за каналы E0 E1 F0 F1. Давайте выделим первый байт и перейдем к двоичному виду.

В двоичном виде значение этого байта 11111111, то есть 8 бит. Каждый бит отвечает за свой канал, у него может быть 2 значения – 1 (вкл) или 0 (выкл).

Вспоминаем, какие каналы мы оставили активными и обращаемся к моей таблице.

В моем случае это каналы E1 D1 C0 C1 F0 F1 A0 A1. Напоминаю, этот байт отвечает только за каналы A – D, оставшиеся E и F отключаются посредством изменения следующего байта. Оставляю включенными каналы D1 C0 C1 A0 A1 (D0 B1 B0 отключаю), то есть значение в двоичном формате будет 10110011, а в шестнадцатеричном – B3.

Теперь выделяем второй байт и проделываем то же самое.

Первые 4 бита (0000) относятся к каналам G0 G1 H0 H1, которые на данной карте отсутствуют физически. Редактировать будем следующие 4 бита (1111), они относятся к каналам E0 E1 F0 F1.

Заменяем данные в соответствии с таблицей. В моем случае требуется отключить только один канал – E0.

00001111 ➔ 00001110 (0E).

Вот что у меня получилось:

ChannelNum (количество каналов) – меняем этот параметр в зависимости от того, сколько каналов оставляем активными:

  • 12 каналов – 07
  • 8 каналов – 03
  • 6 каналов – 05
  • 4 канала – 02
  • 2 канала – 01
  • 1 канал – 00

В моем случае 8 каналов – 03.

MemorySize (объем памяти) – также меняем в зависимости от того, сколько каналов оставляем активными и какой объем памяти на карте был изначально. У меня карта изначально на 3ГБ, я отключаю 4 канала из 12 – то есть объем уменьшается в 1,5 раза, получается 2ГБ.

  • 6ГБ – 60
  • 4ГБ – 40
  • 3ГБ – 30
  • 2ГБ – 20
  • 1,5ГБ – 18
  • 1ГБ – 10
  • 512МБ – 08
  • 256МБ – 04
  • 128МБ – 02

Первый модуль мы отредактировали, теперь делаем то же самое с остальными модулями (если они есть).

Вот что должно получиться в конечном итоге:

Теперь выделяем весь блок VRAM_Info клавишами Ctrl+A, копируем (Ctrl+C) и вставляем обратно в биос сочетанием клавиш Ctrl+B.

Теперь возвращаемся к ранее созданному текстовому файлу, перемещаемся в самое начало и находим строку “MemoryControllerInit“.

Переходим в HxD, в котором уже открыт наш биос и нажимаем Ctrl+E.

Снова возвращаемся к ранее открытому текстовому документу, копируем выделенные данные и вставляем в HxD.

Синим цветом выделено смещение начала, красным – длина.

Нажимаем “OK”.

Мы успешно выделили блок MemoryControllerInit в нашем биосе. Для удобства работы с ним копируем его в отдельный файл.

Нажимаем Ctrl+F и переходим на вкладку Hex-значения.

Вводим “09131309“, выбираем направление “Везде” и нажимаем “ОК“.

Вот что должно получиться:

Теперь возвращаемся к значениям MC_XBAR_TWOCHAN-MCC, которые мы записали ранее.

В моем случае значения были 09, 13, 11, 09. Переходим к байтам, выделенным красным цветом и меняем их на эти значения.

Далее возвращаемся к параметру EnableChannels, который мы ранее меняли в блоке “VRAM_Info“.

В моем случае значение этого параметра было B3 0E. Переходим к байтам, выделенным зеленым цветом и записываем туда это значение.

Должно получиться так:

Теперь выделяем весь блок MemoryControllerInit клавишами Ctrl+A, копируем (Ctrl+C) и вставляем обратно в биос сочетанием клавиш Ctrl+B.

После этого сохраняем биос в отдельный файл (Файл ➔ Сохранить как). Называем например “BIOS2.rom“.

Остается только поправить контрольную сумму. Для этого переходим в папку Tools и запускаем Anoraks AMD VBIOS CRC checker v1.exe.

Нажимаем “Check CRC” и выбираем наш ранее сохраненный биос.

Saved checksum – контрольная сумма, которая в данный момент записана в биосе;

Expected checksum – контрольная сумма, высчитанная данной утилитой, она считается действительной.

Наша задача заменить в биосе контрольную сумму на действительную. Возвращаемся в HxD и переходим в начало нашего биоса.

На скриншоте я выделил байт, в котором содержится контрольная сумма. Меняем контрольную сумму на действительную. В моем случае A2 ➔ 43.

Сохраняем биос сочетанием клавиш Ctrl+S, после этого снова проверяем контрольную сумму.

Отлично. Контрольную сумму мы поправили, теперь перезапускаем систему и переходим к следующему шагу.

Прошивка BIOS

Загружаемся с флешки и выбираем DOS.

Для прошивки BIOS вводим команду af -p 0 bios2.rom.

Дожидаемся сообщения об успешной прошивке и перезапускаем систему клавишами Ctrl+Alt+Del.

Тесты

Снова грузимся с флешки, только на этот раз выбираем TSERVER.

Запускаем повторный тест.

Если ошибок нет – значит мы все сделали правильно. Теперь можно переключить вывод изображения на нашу видеокарту, как мы это делали тут, только в обратном порядке.

Загружаемся в Windows и проводим тесты.

Отлично! Видеокарта снова в строю и не требует постоянного прогрева.

Насколько снизится производительность?

Если вы не хотите заморачиваться с самостоятельным редактированием BIOS – можете приобрести готовый биос тут. Если вдруг на сайте не оказалось биоса для вашей карты – обращайтесь, сделаем индивидуально.

P. S.: К сожалению, на данный момент не все конфиги работают нормально, с некоторыми наблюдаются проблемы. 100% рабочие протестированные конфиги записаны в нашей таблице производительности.

AMD Radeon R9 290/290X/390/390X

Варианты отключения

У нас имеются ошибки по каналам C0C1, D0. Отключить только эти каналы не получится. С завода на этой карте 16 каналов, шина 512bit и общий объем памяти 8ГБ. Для этих карт существует несколько вариантов отключения:

  • 8 активных каналов, 256bit, 4ГБ
  • 4 активных канала, 128bit, 2ГБ
  • 2 активных канала, 64bit, 1ГБ

Так как у нас ошибки всего по трём каналам, нам подойдет первый вариант с 256-битной шиной и 4ГБ памяти.

Отключение каналов

Вводим команду в зависимости от модели карты:

  • R9 290 – ./290ch
  • R9 290x – ./290ch
  • R9 390 – ./390ch
  • R9 390x – ./390ch

Перед нами 3 значения:
CURRENT CHANNELS – это каналы, которые сейчас задействованы;
CHANNEL MAP 1 – это текущая карта каналов (первая);
CHANNEL MAP 2 – это текущая карта каналов (вторая).

Записываем или фотографируем эти данные, они нам еще пригодятся. После этого соглашаемся на перезапись каналов нажатием “Y” и ENTER.

Теперь нам нужно ввести каналы, которые мы хотим задействовать, в моем случае это A0A1B0B1E0E1F0F1. Вводим и нажимаем ENTER.

При отключении каналов на этих картах есть несколько нюансов:

  • Каналы могут работать только в паре, к примеру A0 без A1 работать не будет;
  • Если оставить активными 4 или 2 канала – TSERVER покажет ошибки по всем каналам, но при этом карта будет работать нормально. Почему это происходит я сказать не могу.

Если каналы и карта каналов изменились – значит мы всё сделали правильно. Записываем или фотографируем эти значения, после чего запускаем повторный тест.

Убеждаемся в отсутствии ошибок, после чего закрываем результат сочетанием клавиш Ctrl+X и перезагружаем систему командой reboot или сочетанием клавиш Ctrl+Alt+Del.

Сохранение дампа BIOS

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

Вводим команду af -s 0 bios.rom (bios.rom – это имя сохраняемого файла, можно ввести что-то другое).

Дожидаемся сообщения об успешном сохранении дампа, после чего перезагружаем систему сочетанием клавиш Ctrl+Alt+Del.

Модификация BIOS

Теперь загружаемся в Windows (можно использовать другой ПК).

Открываем нашу флешку и переходим в папку Tools.

Запускаем ATOMBIOSReader.exe.

В открывшемся окне нажимаем “Open” и выбираем наш ранее сохраненный биос (он находится в корне флешки).

После этого в корне флешки рядом с нашим биосом должен появиться одноименный текстовый документ. Открываем его, пролистываем в самый низ и находим строку “VRAM_Info”.

Снова переходим в папку Tools и запускаем HxD.exe.

В открывшееся окно перетаскиваем наш биос (файл BIOS.ROM в корне флешки).

Нажимаем Ctrl+E.

Теперь возвращаемся к ранее открытому текстовому документу, копируем выделенные данные и вставляем в HxD.

Синим цветом выделено смещение начала, красным – длина.

Нажимаем “OK”.

Мы успешно выделили блок VRAM_Info в нашем биосе. Для удобства работы с ним, копируем его в отдельный файл.

Теперь давайте разберемся какие данные нужно редактировать.

NumOfVRAMModule (количество модулей VRAM) – если модулей несколько, потребуется редактирование всех. В моем случае их 3, также может встречаться 1 или 2. Больше 3-х мне не попадалось. Каждый модуль VRAM начинается с карты каналов, сразу после неё идет размер модуля. Чтобы визуально отделить один модуль от другого, давайте выделим первый. Для этого перемещаем курсор на карту каналов первого модуля и нажимаем Ctrl+E.

В поле “длина” вводим размер модуля и нажимаем “ОК“.

Как вы можете заметить, сразу после первого модуля идет второй. Сначала меняем нужные данные в первом модуле, а потом проделываем то же самое со вторым и третьим.

ChannelMapCfg (карта каналов) – этот параметр нам нужно заменить. В данном случае карта каналов 64 75 02 13. Теперь давайте вернемся к карте каналов, которую мы записывали ранее.

13 02 75 64. Теперь давайте поставим байты в обратном порядке. 13 02 75 64 ➔ 64 75 02 13.

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

BA 98 32 10 ➔ 10 32 98 BA.

Записываем новую карту каналов в модуль VRAM.

Вторая карта каналов нам понадобится позже.

ModuleSize (размер модуля) – этот параметр менять не нужно, я его выделил только для того, чтобы вы могли визуально отделить первый модуль от последующих.

EnableChannels (активные каналы) – этот параметр меняем в зависимости от отключаемых каналов. В отличии от первой части, тут у нас уже 2 байта. Первый отвечает за каналы A0 A1 B0 B1 C0 C1 D0 D1, а второй за каналы E0 E1 F0 F1 G0 G1 H0 H1. Давайте выделим первый байт и перейдем к двоичному виду.

В двоичном виде значение этого байта 11111111, то есть 8 бит. Каждый бит отвечает за свой канал, у него может быть 2 значения – 1 (вкл) или 0 (выкл).

Вспоминаем, какие каналы мы оставили активными и обращаемся к моей таблице.

В моем случае это каналы A0 A1 B0 B1 E0 E1 F0 F1. Напоминаю, этот байт отвечает только за каналы A – D, оставшиеся EF, G, H отключаются посредством изменения следующего байта. Оставляю включенными каналы A0 A1 B0 B1 (C0 C1 D0 D1 отключаю), то есть значение в двоичном формате будет 00001111, а в шестнадцатеричном – 0F.

Теперь выделяем второй байт и проделываем то же самое.

Заменяем данные в соответствии с таблицей. В моем случае требуется отключить каналы G0 G1 H0 H1.

11111111 ➔ 00001111 (0F).

Вот что у меня получилось:

ChannelNum (количество каналов) – меняем этот параметр в зависимости от того, сколько каналов оставляем активными:

  • 16 каналов – 08
  • 8 каналов – 03
  • 4 канала – 02
  • 2 канала – 01

В моем случае 8 каналов – 03.

MemorySize (объем памяти) – также меняем в зависимости от того, сколько каналов оставляем активными и какой объем памяти на карте был изначально. У меня карта изначально на 8ГБ, я отключаю 8 каналов из 16 – то есть объем уменьшается в 2 раза, получается 4ГБ.

  • 8ГБ – 80
  • 4ГБ – 40
  • 2ГБ – 20
  • 1ГБ – 10
  • 512МБ – 08

Первый модуль мы отредактировали, теперь делаем то же самое с остальными модулями (если они есть).

Вот что должно получиться в конечном итоге:

Теперь переходим в конец нашего блока VRAM_Info.

Здесь нам понадобятся последние 8 байт.
Синим цветом выделена первая карта каналов, красным – вторая.
Меняем так же, как мы делали это тут.

BA 98 32 10 ➔ 10 32 98 BA (CHANNEL MAP 1).

FE DC 76 54 ➔ 54 76 DC FE (CHANNEL MAP 2).

Теперь выделяем весь блок VRAM_Info клавишами Ctrl+A, копируем (Ctrl+C) и вставляем обратно в биос сочетанием клавиш Ctrl+B.

После этого сохраняем биос в отдельный файл (Файл ➔ Сохранить как). Называем например “BIOS2.rom“.

Остается только поправить контрольную сумму. Для этого переходим в папку Tools и запускаем Anoraks AMD VBIOS CRC checker v1.exe.

Нажимаем “Check CRC” и выбираем наш ранее сохраненный биос.

Saved checksum – контрольная сумма, которая в данный момент записана в биосе;

Expected checksum – контрольная сумма, высчитанная данной утилитой, она считается действительной.

Наша задача заменить в биосе контрольную сумму на действительную. Возвращаемся в HxD и переходим в начало нашего биоса.

На скриншоте я выделил байт, в котором содержится контрольная сумма. Меняем контрольную сумму на действительную. В моем случае F4 ➔ 35.

Сохраняем биос сочетанием клавиш Ctrl+S, после этого снова проверяем контрольную сумму.

Отлично. Контрольную сумму мы поправили, теперь перезапускаем систему и переходим к следующему шагу.

Прошивка BIOS

Загружаемся с флешки и выбираем DOS.

Для прошивки BIOS вводим команду af -p 0 bios2.rom.

Дожидаемся сообщения об успешной прошивке и перезапускаем систему клавишами Ctrl+Alt+Del.

Тесты

Снова грузимся с флешки, только на этот раз выбираем TSERVER.

Запускаем повторный тест.

Если ошибок нет – значит мы все сделали правильно. Теперь можно переключить вывод изображения на нашу видеокарту, как мы это делали тут, только в обратном порядке.

Загружаемся в Windows и проводим тесты.

Отлично! Видеокарта снова в строю и не требует постоянного прогрева.

Насколько снизится производительность?

Если вы не хотите заморачиваться с самостоятельным редактированием BIOS – можете приобрести готовый биос тут. Если вдруг на сайте не оказалось биоса для вашей карты – обращайтесь, сделаем индивидуально.

AMD Radeon RX 470/480/570/580/590

Варианты отключения

У нас имеются ошибки по каналам B0 и B1. Отключить только эти каналы не получится. С завода на этой карте 8 каналов, шина 256bit и общий объем памяти 8ГБ. Для этих карт существует несколько вариантов отключения:

  • 4 активных канала, 128bit, 4ГБ
  • 2 активных канала, 64bit, 2ГБ

Так как у нас ошибки всего по двум каналам, нам подойдет первый вариант с 128-битной шиной и 4ГБ памяти.

Отключение каналов

Вводим команду в зависимости от модели карты:

  • RX 470 – ./470ch
  • RX 480 – ./480ch
  • RX 570 – ./570ch
  • RX 580 – ./580ch
  • RX 590 – ./590ch

Перед нами 2 значения:
CURRENT CHANNELS – это каналы, которые сейчас задействованы;
CHANNEL MAP – это текущая карта каналов.

Записываем или фотографируем эти данные, они нам еще пригодятся. После этого соглашаемся на перезапись каналов нажатием “Y” и ENTER.

Теперь нам нужно ввести каналы, которые мы хотим задействовать, в моем случае это A0A1C0C1. Вводим и нажимаем ENTER.

*На этих картах каналы могут работать только в паре, к примеру A0 без A1 работать не будет.

Если каналы и карта каналов изменились – значит мы всё сделали правильно. Записываем или фотографируем эти значения, после чего запускаем повторный тест.

Убеждаемся в отсутствии ошибок, после чего закрываем результат сочетанием клавиш Ctrl+X и перезагружаем систему командой reboot или сочетанием клавиш Ctrl+Alt+Del.

Сохранение дампа BIOS

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

Вводим команду af2 -s 0 bios.rom (bios.rom – это имя сохраняемого файла, можно ввести что-то другое).

Дожидаемся сообщения об успешном сохранении дампа, после чего перезагружаем систему сочетанием клавиш Ctrl+Alt+Del.

Модификация BIOS

Загружаемся в Windows (можно использовать другой ПК).

Открываем нашу флешку и переходим в папку Tools.

Запускаем ATOMBIOSReader.exe.

В открывшемся окне нажимаем “Open” и выбираем наш ранее сохраненный биос (он находится в корне флешки).

После этого в корне флешки рядом с нашим биосом должен появиться одноименный текстовый документ. Открываем его, пролистываем в самый низ и находим строку “VRAM_Info”.

Снова переходим в папку Tools и запускаем HxD.exe.

В открывшееся окно перетаскиваем наш биос (файл BIOS.ROM в корне флешки).

Нажимаем Ctrl+E.

Теперь возвращаемся к ранее открытому текстовому документу, копируем выделенные данные и вставляем в HxD.

Синим цветом выделено смещение начала, красным – длина.

Нажимаем “OK”.

Мы успешно выделили блок VRAM_Info в нашем биосе. Для удобства работы с ним, копируем его в отдельный файл.

Теперь давайте разберемся какие данные нужно редактировать.

NumOfVRAMModule (количество модулей VRAM) – если модулей несколько, потребуется редактирование всех (как это делается я показывал тут и тут). В моем случае он один, также может встречаться 2 или 3. Больше 3-х мне не попадалось.

McPhyTileNum (количество тайлов) – под тайлом подразумеваются 2 канала с одной буквой, то есть A0 и A1, B0 и B1 и так далее. На этих картах их 4. Будем менять этот параметр в зависимости от того, сколько каналов оставляем активными:

  • 8 каналов – 04
  • 4 канала – 02
  • 2 канала – 01

Я оставляю 4 канала, значит меняю это значение на 02.

ChannelMapCfg (карта каналов) – этот параметр нам нужно заменить. В данном случае карта каналов 32 10 54 76. Теперь давайте вернемся к карте каналов, которую мы записывали ранее.

76 54 10 32. Теперь давайте поставим байты в обратном порядке. 76 54 10 32 ➔ 32 10 54 76.

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

76 32 54 10 ➔ 10 54 32 76.

Записываем новую карту каналов в модуль VRAM.

ModuleSize (размер модуля) – этот параметр менять не нужно, он понадобится только в том случае, если у вас несколько модулей VRAM. Подробнее читайте здесь или здесь.

ChannelNum (количество каналов) – меняем этот параметр в зависимости от того, сколько каналов оставляем активными:

  • 8 каналов – 03
  • 4 канала – 02
  • 2 канала – 01

В моем случае 4 канала – 02.

MemorySize (объем памяти) – также меняем в зависимости от того, сколько каналов оставляем активными и какой объем памяти на карте был изначально. У меня карта изначально на 8ГБ, я отключаю 4 канала из 8 – то есть объем уменьшается в 2 раза, получается 4ГБ.

  • 8ГБ – 20
  • 4ГБ – 10
  • 2ГБ – 08
  • 1ГБ – 04

BankMapCfg (карта банков памяти) – меняем так же в зависимости от того, сколько каналов оставляем активными:

  • 8 каналов – 43 65 07 00
  • 4 канала – 32 54 07 00
  • 2 канала – 21 43 07 00

В моем случае 4 канала – 32 54 07 00.

Первый модуль мы отредактировали, теперь делаем то же самое с остальными модулями (если они есть).

Вот что должно получиться в конечном итоге:

Теперь выделяем весь блок VRAM_Info клавишами Ctrl+A, копируем (Ctrl+C) и вставляем обратно в биос сочетанием клавиш Ctrl+B.

После этого сохраняем биос в отдельный файл (Файл ➔ Сохранить как). Называем например “BIOS2.rom“.

Остается только поправить контрольную сумму. Для этого переходим в папку Tools и запускаем Anoraks AMD VBIOS CRC checker v1.exe.

Нажимаем “Check CRC” и выбираем наш ранее сохраненный биос.

Saved checksum – контрольная сумма, которая в данный момент записана в биосе;

Expected checksum – контрольная сумма, высчитанная данной утилитой, она считается действительной.

Наша задача заменить в биосе контрольную сумму на действительную. Возвращаемся в HxD и переходим в начало нашего биоса.

На скриншоте я выделил байт, в котором содержится контрольная сумма. Меняем контрольную сумму на действительную. В моем случае 34 ➔ 69.

Сохраняем биос сочетанием клавиш Ctrl+S, после этого снова проверяем контрольную сумму.

Отлично. Контрольную сумму мы поправили, теперь перезапускаем систему и переходим к следующему шагу.

Прошивка BIOS

Загружаемся с флешки и выбираем DOS.

Для прошивки BIOS вводим команду af2 -p 0 bios2.rom.

Дожидаемся сообщения об успешной прошивке и перезапускаем систему клавишами Ctrl+Alt+Del.

Тест после прошивки

Снова грузимся с флешки, только на этот раз выбираем TSERVER.

Запускаем повторный тест.

Если ошибок нет – значит мы все сделали правильно. Теперь можно переключить вывод изображения на нашу видеокарту, как мы это делали тут, только в обратном порядке.

Патч драйвера

Загружаемся в Windows и открываем диспетчер устройств.

Карта определилась с ошибкой 43. Это абсолютно нормально для данной карты. Дело в том, что на картах начиная с RX 400 серии драйвер проверяет цифровую подпись биоса. А так как мы биос модифицировали, эта подпись стала недействительной, из-за этого драйвер выдает ошибку.

Чтобы обойти проверку цифровой подписи, нам нужно пропатчить драйвер.

Снова открываем папку Tools и запускаем atikmdag-patcher.exe.

Соглашаемся на внесение изменений в драйвер и ждем сообщения о готовности.

Теперь перезагружаем систему и переходим к тестам.

Тесты

Отлично! Видеокарта снова в строю.

Насколько снизится производительность?

Если вы не хотите заморачиваться с самостоятельным редактированием BIOS – можете приобрести готовый биос тут. Если вдруг на сайте не оказалось биоса для вашей карты – обращайтесь, сделаем индивидуально.


Производительность

Насколько снизится производительность после отключения каналов? Это зависит от модели карты, количества каналов и активных каналов (какие-то каналы дают высокую производительность, а другие более низкую), а так же от их последовательности. Для того чтобы это выяснить, было потрачено очень много времени на тесты. Все результаты тестов опубликованы в таблице. Ниже приведены примеры по каждой карте.

AMD Radeon HD 7850/7870, R9 270/270X, R9 (R7) 370/370X

4 канала

Производительность составляет 67-80% от стока. Наилучший результат дают каналы C0 C1 D0 D1 (80%).

2 канала

Производительность составляет 39-47% от стока. Наилучший результат дают каналы C0 B1 (47%).

1 канал

Производительность составляет 22-25% от стока. Наилучший результат дает канал B0 (25%).

AMD Radeon HD 7950/7970, R9 280/280X

8 каналов

Производительность составляет 92-93% от стока. Наилучший результат дают каналы E1 D0 B1 C1 F0 F1 A0 A1 (93%).

6 каналов

Производительность составляет 63-74% от стока. Наилучший результат дают каналы F0 F1 E0 A0 A1 B0 (74%).

4 канала

Производительность составляет 57-66% от стока. Наилучший результат дают каналы E1 D0 C0 C1 (66%).

2 канала

Производительность составляет 41-43% от стока. Наилучший результат дают каналы E1 D0 (43%).

1 канал

Производительность составляет 19-20% от стока. Наилучший результат дает канал F0 (20%).

AMD Radeon R9 290/290X/390/390X

8 каналов

Производительность составляет 51-73% от стока. Наилучший результат дают каналы C0 D0 C1 D1 G0 H0 G1 H1 (73%).

4 канала

Производительность составляет 36-44% от стока. Наилучший результат дают каналы F0 D0 F1 D1 (44%).

2 канала

Производительность составляет 19-20% от стока. Наилучший результат дают каналы C0 C1 (20%).

AMD Radeon RX 470/480/570/580/590

4 канала

Производительность составляет 26-75% от стока. Наилучший результат дают каналы B0 B1 D0 D1 (75%).

2 канала

Производительность составляет 13-48% от стока. Наилучший результат дают каналы B0 B1 (48%).


Дополнительная информация по использованию TSERVER

Карта имеет дефект, но тест проходит без ошибок

Бывают случаи, когда карта выдает артефакты или черный экран после установки драйвера, но при этом тест проходит без ошибок. В таких случаях нужно поднять частоту памяти. Дело в том, что при стандартном тесте устанавливается частота 150-300мгц, на которой тест проходит без ошибок, а в момент загрузки драйвера частота поднимается до рабочей, если эту частоту память или контроллер памяти не держит – вы можете увидеть артефакты или черный экран.

Для запуска теста на большей частоте, переходим в директорию TSERVER, для каждой карты она своя:

  • AMD Radeon HD 7850/7870, R9 270/270X, R9 (R7) 370/370X – /mods/Pitcairn
  • AMD Radeon HD 7950/7970, R9 280/280X – /mods/Tahiti
  • AMD Radeon R9 290/290X/390/390X – /mods/Hawaii
  • AMD Radeon RX 470/480/570/580/590 – /mods/Polaris

Для перехода в нужную директорию вводим команду cd *путь к директории*.

В моем случае это карта 7970 – cd /mods/Tahiti.

Теперь введем команду для установки частоты памяти: ./agt -mem=*частота*.

Я в этом примере поставлю частоту 1000мгц.

После этого возвращаемся в домашнюю директорию (cd /root) и как обычно запускаем тест.

Если ничего не изменилось, тест так же проходит без ошибок – поднимаем частоту еще выше, шагом в 100-200мгц.

Если ошибки по всем каналам – вероятнее всего контроллер памяти “устал”, в таком случае подбираем максимальную частоту, на которой ошибок нет и меняем ее в биосе с помощью таких утилит как VBE7, HawaiiBiosReader, PolarisBiosEditor, RedBiosEditor (в зависимости от карты). О том как это сделать в интернете информации полно.

Если тест завис – в таком случае перезагружаем систему и делаем все заново с меньшей частотой, я обычно начинаю с 300мгц и поднимаю с шагом в 50-100мгц. Нужно найти золотую середину между прохождением теста без ошибок и зависанием. Чаще всего на этой середине результат теста показывает ошибки по одному или нескольким каналам.

Тест зависает

На моей практике зависание теста чаще всего происходит на картах RX 400/500 серии. В таком случае нужно перезагрузить систему и тестировать каналы поочередно. То есть активировать сначала только каналы A0 A1 и запустить тест. Если тест прошел – запоминаем что с этими каналами все в порядке и проделываем то же самое с каналами B0 B1 и так далее. На каких-то каналах тест будет зависать, их мы и будем отключать.

Пустой результат теста

Пустой результат теста может быть по разным причинам:

  • Карта не определилась
  • Поврежден BIOS
  • Сбиты или повреждены SMD компоненты
  • Обрыв дорожек или переходных отверстий
  • GPU

Для начала стоит проверить, определилась ли карта в системе. Для этого вводим команду: lspci.

Находим строки VGA compatible controller – их должно быть 2 (Первая – интегрированная графика, через которую и выводится изображение, вторая – сама карта). Если такая строка только одна – соответственно карта не определилась.

Если карта определилась, но выдает пустой результат теста – прошейте заведомо исправный BIOS.

Если и это не помогло – остается несколько вариантов – сбиты или повреждены SMD компоненты, на плате имеется обрыв дорожек или переходных отверстий, либо же проблема в GPU.


Вопрос-ответ

Вопрос:

А можно ли так починить X1550? 5850? 6850? 6870? hd6930? hd6950? HD7770? r7 260x? R9 380? R9 Fury X? RX 460? rx 550? Radeon VII? rx 5500xt? 5600? 5700? rx5700xt?

Ответ:

На данный момент нет. В ближайшем будущем добавим поддержку некоторых карт.

Вопрос:

Возможно ли отключить каналы на NVIDIA 600-700-900 серии? 1050 ti? GTX 1080TI? gtx 1650?

Ответ:

Для карт GTX470-780Ti есть аналогичное решение – утилита Old NVIDIA artifacts от GpuZelenograd. Видеообзор утилиты смотрите на YouTube канале Стаса kelevra1408.

Вопрос:

Возможно ли отключить каналы на ноутбуке? HD7450M? r5 m330?

Ответ:

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

Вопрос:

Доброго здравия! Увидел ваше видео и достал из тумбочки R9 290 . Сделал флешку загрузочную. загрузился – выбрал Tserver, нажал Enter, затем ./290 открылся редактор nano 2.2.2 c пустым файлом memfa.log. Такое ощущение что тест не начинается. Прождал минут 5. Подскажите что может быть?

Ответ:

Решение этой проблемы здесь.

Вопрос:

А если на метеринке несколько слотов PCI EXPRESS то можно без интегрированной графики?

Ответ:

Можно. Желательно для вывода изображения использовать видеокарту NVIDIA. Установите ее в первый слот материнской платы. Также если в материнской плате нет второго слота x16/x8/x4, можно использовать слот x1 и райзер.

Вопрос:

Здравствуйте, подскажите если нет Интегрированный видеокарты можно ли это сделать с видеокартой на пк (у меня зависает только а играх и само перезагружается) нет артефакты

Ответ:

Выводить изображение с карты, на которой вы собираетесь отключить каналы можно, но при отключении каналов будут артефакты (даже на исправной карте), из-за которых вы не сможете увидеть новую карту каналов.

Вопрос:

Подскажите в чем может быть проблема. Выбираю пункт TSERVER начинается загрузка (бегают строки) и зависает до того момента когда можно указать тип видеокарты через ./ В итоге не получается протестировать на битые потоки. Видеокарта вроде определяется так как смог через дос вытянуть биос. Но TSERVER не хочет запускаться. LGA 1151V2

Ответ:

Эта сборка tserver не поддерживает LGA 1151V2. Используйте ее только на совместимых платформах.

Вопрос:

Спасибо за труды! По интрукции отключил сбойные A0A1 на rx588. Теперь дает изо, встает драйвер и даже работает однако в фурмарке частота памяти выше 300мгц не поднимается( пробовал другие бенямарки под убунтой – там тоже фурмарк на 300мгц, но другие стресс тесты отрабатывают на нормальной частоте. Подскажите куда копать, поменять ли каналы памяти еще разок? Я даже FF на 0F скинул в биосе, нет результата. Быть может просто дело в гпу?

Ответ:

На картах RX 400/500 каналы C0C1D0D1 дают низкую производительность, при использовании этих каналов частота памяти не поднимается выше 300мгц. По возможности используйте другую конфигурацию каналов. Подробнее читайте здесь.

Вопрос:

подскажите какими командами потестить память на высоких частотах (например при 2000). На стандартных частотах 300мгерц пишет сбоев нет. Но карта в играх артефачит, в офисных приложениях норм работает. Rx 480 8Gb

Ответ:

Решение этой проблемы здесь.

Вопрос:

День добрый. Огромное спасибо за Ваши труды. Но столкнулся с проблемой – на 7950/7970 не смог сделать конфигурацию 2гб/256бит. При введении любых каналов – карта памяти не меняется и, соответственно, при переделке биоса отключаются не те канали. Возможно, если долго сидеть и перебирать отключаемые каналы в нех – то попадешь на результат). 1.5гб/192бит работает без проблем

Ответ:

Такая проблема может возникнуть если вы делали по нашему гайду на YouTube. К сожалению, на момент записи видео было недостаточно информации. Отключайте каналы по этому гайду, в нем эта проблема уже решена.

Вопрос:

А возможно отключать не по два банка, а по одному, тем самым шину обрезая не в 2 раза? На зеленых картах так делают, тоесть могут обрезать 760 2gb до 1.5гб и шину соответственно с 256 до 192

Ответ:

На данный момент это невозможно.

Вопрос:

А температура и энергопотребление уменьшатся от этих манипуляций?

Ответ:

Немного уменьшатся.

Вопрос:

У меня на руках сейчас карточка гига 3х вертушечная HD 7870 2GB, на 1155 мамке с ай5 сперва код 31 выдавала подом подтянулись дрова и код 43, решил биос прошить, с техповерап скачал первый под хайникс, прошился, начала выдавать картинку, хотя ранее вообще только черный экран, но с кодом 43, перебрал кучу биосов и в конце концов дрова встали, но пара перезагрузок и опять код 43, при этом atiflash отказывается теперь запускаться ругаясь, что мол ошибка чтения ROM, как думаете флешка биоса навернулась или ситуация аля как в видосе с каналами памяти? Просто интересно почему от перепрошивки биоса были изменения вплоть до корректной работы драйвера а потом даже прошить стандартным софтом нельзя…

Ответ:

Если atiflash выдает ошибку чтения BIOS, может быть 3 причины:

  • Флешка BIOS;
  • GPU;
  • Связь флешки BIOS с GPU.

Вопрос:

Отличный туториал НО:
*Я купил по ошибке полудохлую RX 580 8Гб, я протестировал все сочетания 4 и 2 каналов из 8, так же попробовал разок в один канал прошится, НО: во всех каналах в первом же по списку в строке выдает одну цифру 3, не на всю строку а одну штуку 3.
Вопрос: Что значит одна тройка и можно ли это починить?*

*Видеокарта работает почти без артефактов, только на некоторых шейдерах в Майнкрафте есть еле заметные артефакты хотя я даже не уверен что это они, но главная проблема в том что на карте постоянно отлетают драйвера, бывает 5 минут поработает, бывает час, бывает почти сразу зависнет, в некоторых играх видеокарта вообще не вылетает (Teardown, Roblox) в других вылетает, что делать кроме как выбросить карту? :((((

Ответ:

На данный момент решается только заменой GPU.

Вопрос:

А r7 370 это тоже самое что и r9 370?

Ответ:

Да.

Вопрос:

А что делать людям из Украины? Даже при желании не купить…

Ответ:

Если вам не подошел ни один из способов оплаты на сайте, напишите мне в личку.

Вопрос:

Автор привет! Не подскажешь? Скачал твою сборку с t server.
Но под рукой не оказалось мастеринки и проца со встройкой, так вот, я поставил затычку в один слот, и карту с бедами по чипам памяти в другой, выкл изображение через затычку. НО запуск tserver дропается в initramfs, что-то он там не находит.
Еще обратил внимание что в видео сборка 1.0.2, а качается по ссылке 1.0.9 мб в этом проблема?

Ответ:

Используйте совместимую платформу, подключите флешку к порту USB 2.0. В некоторых случаях помогает отключение всех накопителей SATA/NVME/IDE/USB. Если и это не помогло – попробуйте записать образ на другую флешку.

Вопрос:

В Вашей сборке есть каталог карт? по типу
cd /mods/r9270
чтобы зайти и поднять частоты. Я зайти не смог.

Ответ:

Да, есть. Вся информация здесь.

Вопрос:

У меня не нашли ошибок это нормально? Видеокарта перезагружает ПК сам и экран отключается кабель не подключен снизил частоты не помог

Ответ:

Решение этой проблемы здесь.

Вопрос:

Здравствуйте, мне нужна помощь
у меня видеокарта HIS HD7850 IPower IceQ X2 Turbo, запустил tserver, а он стоит на одном месте долгое время

Ответ:

Решение проблемы с зависанием теста здесь.