(Дополнительно) Проблема с Ubuntu AMD GPU (возможный перегрев / неправильно настроенные датчики / неисправный драйвер)

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

Характеристики системы:
Процессор: i5-4690k
Gpu: MSI R9 290x
Оперативная память: 4 ГБ DDR3
Хранение: 500 ГБ. Монитор SSD: Benq XL2411

Я использую двойную загрузку с Windows, и я обычно играю в игру на Windows. Игра работает на скорости ~ 144 FPS без каких-либо проблем.

Однако недавно я немного подумал об использовании Linux и решил установить Ubuntu 18.04. Я установил драйвер AMDGPU-PRO от AMD. Я тщательно следовал инструкциям по установке и убедился, что он установлен правильно.

Когда я запускал Dota 2, он работал нормально, пока я не вошел в публичную игру, после чего я внезапно потерял сигнал дисплея либо после запуска игры, либо в какое-то произвольное время. Иногда длительность потери сигнала составляет 5 минут, иногда 20, иногда 40. Когда я теряю сигнал дисплея, звук все еще играет на фоне в течение нескольких секунд, но он останавливается или начинает зацикливаться. Мой компьютер все еще включен, потому что я слышу вентиляторы и вижу светодиоды. Кнопка питания не работает, если я не удерживаю ее в течение 5 секунд (жесткое отключение). После перезапуска игра работает отлично, если я загружаю Windows. Если я загружу Ubuntu, он продлится еще 5-10 (иногда больше) минут, прежде чем повторяется вышеупомянутая последовательность событий.

Проблема сохраняется независимо от того, выбираю ли я вход в Ubuntu Wayland или Xorg или у меня запущены процессы в фоновом режиме.

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

amdgpu-pci-0100
Adapter: PCI adapter
vddgfx:       +1.00 V 
fan1:             N/A  (min =    0 RPM, max =    0 RPM)
edge:         +66.0°C  (crit = +104000.0°C, hyst = -273.1°C)
power1:       36.11 W  (cap = 208.00 W)

Первое, что я заметил, было то, что температура графического процессора продолжала расти во время простоя на рабочем столе, примерно на 1 градус каждые несколько минут. Также fan1 датчик по какой-то причине не работал. Я запустил sensors -u, и вот вывод:

amdgpu-pci-0100
Adapter: PCI adapter
vddgfx:
  in0_input: 1.000
fan1:
ERROR: Can't get value of subfeature fan1_input: Can't read
  fan1_min: 0.000
  fan1_max: 0.000
edge:
  temp1_input: 65.000
  temp1_crit: 104000.000
  temp1_crit_hyst: -273.150
power1:
  power1_average: 36.113
  power1_cap: 208.000

Затем я решил загрузить скрипт из git , который вручную устанавливает скорость вентилятора.

Ну, я проверил это, и когда я выполнил его со 100, это делает фанатов громче, однако я сомневаюсь, что это действительно их максимум, так как я слышал, как они громче, играя в Battlefield 4 на Windows. Затем температура графического процессора sensors начинает снижаться во время простоя на рабочем столе.

Теперь я попытался поиграть в Dota 2 с вентиляторами, установленными на 100, и контролировать температуру графического процессора через sensors. Температура значительно повысится, достигнув примерно 82-86 градусов в главном меню и 95+ в игре. Как только он достигает значения выше 96-97, монитор теряет сигнал, как я ранее описал. Температура графического процессора также повышается довольно быстро, на 1 градус каждые несколько минут или около того. Это больше не происходит в начале игры с фанатами, работающими на 100, но через некоторое время результат практически не изменился.

Я действительно хотел убедиться, что это не проблема с аппаратным обеспечением, поэтому я использовал мою программу настроек Radeon для мониторинга производительности моего GPU во время игры в Dota 2 на Windows.

Температура графического процессора в главном меню была около 74 градусов, в игре она колебалась от 85 до 93 при максимуме, оставаясь на уровне 90-88 большую часть времени, в том числе во время командных боев (что должно требовать гораздо больше Мощность графического процессора).

Скорость вращения вентилятора в среднем составляет около 2400 об / мин, а в ходе игры - около 2550 пиков. При простое использование рабочего стола это больше похоже на 1200 оборотов в минуту. Я запускал Battlefield 3 и 4 на ультра-графике и не имел таких проблем на Windows. Кроме того, загрузка графического процессора составляет около 30% -50% в Dota 2, а загрузка процессора составляет около 70-80%.

Датчики графического процессора отлично работают в Windows и довольно точны, особенно при скорости вращения вентилятора.

Я посмотрел на то, что делает этот скрипт amdgpu-pro-fans, и обнаружил, что он по существу обращается к каталогу карты (/sys/class/drm/card0/device/hwmon/hwmon2) и получает значение из файла pwm1_max (который является 255), вычисляет процент ввода, и записывает это новое значение в pwm1. Я понятия не имею, почему это значение 255 или что оно представляет. Существует также файл fan1_enable, который содержит значение 1, и файл fan1_input, который нельзя открыть, поскольку он имеет «неизвестный тип». Вероятно, это связано с проблемой в sensors. Кроме того, файл temp1_crit показывает 104000000, а temp1_crit_hyst показывает -273150. Я уверен, что эти значения являются мусором. Их также можно увидеть на выходе датчика выше.

hwmon2 является единственной папкой в ​​hwmon. Я вижу, что у некоторых есть hwmon3, но я не знаю почему. Вот скриншот папки hwmon2:

screenshot of the hwmon2 folder

Я не уверен на 100%, что перегрев графического процессора вызывает мою проблему, но Я думаю, что это очень вероятно.

Я попытался переустановить драйвер AMDGPU-PRO как минимум 5 раз. Моя система и драйвер AMDGPU-PRO обновлены.

Я использую Dota 2 с теми же настройками, что и в Windows.

Я использую Vulkan API в Dota 2. В OpenGL производительность заметно ниже, в среднем 80 FPS в игре. На Vulkan это более или менее соответствует моей производительности Windows.

В заключение отметим, что игровые FPS на самом деле не падают до появления черного экрана / потери сигнала на моем мониторе. Это происходит довольно мгновенно. Здесь нет лагов или чего-то подобного.

Любые идеи о том, что может быть причиной проблем?

5
задан 28 September 2019 в 18:16

0 ответов

Другие вопросы по тегам:

Похожие вопросы: