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

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

Характеристики системы:
Процессор: 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 для мониторинга производительности моего графического процессора во время игры в 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 игры не падает до черного экрана / потери сигнала на моем мониторе.Это происходит довольно мгновенно.Там нет задержки или что-то в этом роде.

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

...