Вопрос или проблема
Это почти больше похоже на баг, чем на проблему с версией или конфигурацией, в таком случае, можете ли вы направить меня, где подать этот баг? Я собрал систему с Powercolor Hellhound Radeon RX 7700 XT. Я установил двойную загрузку. Обе системы, Windows и Ubuntu 24.10, установились успешно. Однако Windows обнаружила монитор на частоте 60 Гц, а Ubuntu на частоте 30 Гц. Монитор – ASUS VP28U. Используемый графический драйвер – это драйвер с открытым исходным кодом amdgpu, как указано в выводе
$ sudo lshw -c video
*-display
description: VGA совместимый контроллер
product: Navi 32 [Radeon RX 7700 XT / 7800 XT]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:03:00.0
logical name: /dev/fb0
version: ff
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
configuration: depth=32 driver=amdgpu latency=0 mode=3840x2160 resolution=3840,2160 visual=truecolor xres=3840 yres=2160
resources: iomemory:f80-f7f iomemory:fc0-fbf irq:99 memory:f800000000-fbffffffff memory:fc00000000-fc0fffffff ioport:f000(size=256) memory:f6b00000-f6bfffff memory:f6c00000-f6c1ffff
и
$ lspci -k | grep -EA3 'VGA|3D|Display'
03:00.0 VGA совместимый контроллер: Advanced Micro Devices, Inc. [AMD/ATI] Navi 32 [Radeon RX 7700 XT / 7800 XT] (rev ff)
Подсистема: Tul Corporation / PowerColor Device 2426
Используемый ядреный драйвер: amdgpu
Модули ядра: amdgpu
Это версия 24.2.3 драйвера, как указано в выводе
$ glxinfo | grep -iE 'vendor:|device:|version:'
GLX версия: 1.4
Поставщик: AMD (0x1002)
Устройство: AMD Radeon RX 7700 XT (radeonsi, navi32, LLVM 19.1.0, DRM 3.58, 6.11.0-13-generic) (0x747e)
Версия: 24.2.3
Максимальная версия основного профиля: 4.6
Максимальная версия совместимого профиля: 4.6
Максимальная версия GLES1 профиля: 1.1
Максимальная версия GLES[23] профиля: 3.2
Версия пакета linux-firmware – 20240913.gita34e7a5f-0ubuntu2.4
$ apt show linux-firmware
Пакет: linux-firmware
Версия: 20240913.gita34e7a5f-0ubuntu2.4
Приоритет: необязательный
Раздел: misc
Происхождение: Ubuntu
Поддержка: Ubuntu Kernel Team <[email protected]>
Исходная поддержка: Ubuntu Kernel Team <[email protected]>
Ошибки: https://bugs.launchpad.net/ubuntu/+filebug
Установленный размер: 517 MB
Предоставляет: atmel-firmware
Рекомендует: firmware-sof-signed
Конфликты: atmel-firmware
Прерывает: amd64-microcode (<= 3.20220411.1ubuntu1), initramfs-tools (<< 0.142ubuntu8~), linux-firmware-raspi2 (<= 1.20190819-0ubuntu2), linux-firmware-snapdragon (<= 1.2-0ubuntu1)
Замещает: atmel-firmware, linux-firmware-snapdragon (<= 1.2-0ubuntu1), linux-restricted-common
Размер загружаемых файлов: 517 MB
APT-Ручная установка: да
APT-Источники: http://us.archive.ubuntu.com/ubuntu oracular-updates/main amd64 Packages
Описание: Прошивки для драйверов ядра Linux
Этот пакет предоставляет прошивки, используемые драйверами ядра Linux.
Примечание: Есть 1 дополнительная запись. Пожалуйста, используйте переключатель '-a', чтобы увидеть её
Это не сработало и отправило меня в немного сложную ситуацию, думая, что, возможно, amdgpu не поддерживает карты серии 7000 (хотя в моей другой системе есть 7900XT с тем же драйвером и нет известных мне проблем), и тогда я попытался установить драйверы от AMD, но получил ошибку зависимости, потому что пакет libomxil-bellagio0
не существует в Ubuntu Oracular, что кто-то должен исследовать.
$ amdgpu-install --usecase=graphics,opencl --vulkan=amdvlk --opencl=rocr
INFO: Архитектура i386 не была включена с помощью dpkg.
Установка 32-битной среды исполнения была исключена.
Попадание:1 http://security.ubuntu.com/ubuntu oracular-security InRelease
Попадание:2 https://repo.radeon.com/amdgpu/6.2.3/ubuntu jammy InRelease
Попадание:3 http://us.archive.ubuntu.com/ubuntu oracular InRelease
Попадание:4 https://repo.radeon.com/rocm/apt/6.2.3 jammy InRelease
Получение:5 http://us.archive.ubuntu.com/ubuntu oracular-updates InRelease [126 kB]
Попадание:6 http://us.archive.ubuntu.com/ubuntu oracular-backports InRelease
Получение:7 http://us.archive.ubuntu.com/ubuntu oracular-updates/main amd64 Packages [237 kB]
Получение:8 http://us.archive.ubuntu.com/ubuntu oracular-updates/universe amd64 Packages [154 kB]
Загружено 517 kB за 1с (418 kB/s)
Чтение списков пакетов... Готово
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
linux-headers-6.11.0-13-generic уже самой новой версии (6.11.0-13.14).
linux-headers-6.11.0-13-generic установлен вручную.
Некоторые пакеты не могут быть установлены. Возможно, это означает, что
вы запросили невозможную ситуацию или если вы используете нестабильное
распределение, что некоторые необходимые пакеты еще не были созданы
или перенесены из Incoming.
Следующая информация может помочь решить ситуацию:
Следующие пакеты имеют неудовлетворенные зависимости:
gst-omx-amdgpu : Зависит от: libomxil-bellagio0 но он не установим
mesa-amdgpu-omx-drivers : Зависит от: libomxil-bellagio0 но он не установим
E: Невозможно решить проблемы, у вас удерживаются поврежденные пакеты.
Это заставило меня пытаться и потерпеть неудачу скомпилировать эту библиотеку самостоятельно. Далеко не ушел.
Только когда я попробовал переключиться с Displayport на HDMI, это сработало. Существуют ли обходные решения для этого? Возможно, настройка, которую я могу изменить, чтобы исправить это для Displayport? Xorg и Wayland не изменили ничего. И какой порт Displayport на задней части видеокарты также не имел значения. Такое же поведение на всех портах Displayport. Только переключение с Displayport на HDMI это исправило. Вот как выглядел xrandr с HDMI
$ xrandr
Экран 0: минимум 16 x 16, текущий 3840 x 2160, максимум 32767 x 32767
HDMI-1 подключен первично 3840x2160+0+0 (нормально налево инвертировано направо по оси X по оси Y) 620мм x 340мм
3840x2160 59.98*+
2048x1536 59.95
1920x1440 59.97
1600x1200 59.87
1440x1080 59.99
1400x1050 59.98
1280x1024 59.89
1280x960 59.94
1152x864 59.96
1024x768 59.92
800x600 59.86
640x480 59.38
320x240 59.52
2560x1600 59.99
1920x1200 59.88
1680x1050 59.95
1440x900 59.89
1280x800 59.81
1152x720 59.97
960x600 59.63
928x580 59.88
800x500 59.50
768x480 59.90
720x480 59.71
640x400 59.95
320x200 58.96
3200x1800 59.96
2880x1620 59.96
2560x1440 59.96
2048x1152 59.90
1920x1080 59.96
1600x900 59.95
1368x768 59.88
1280x720 59.86
1024x576 59.90
864x486 59.92
720x400 59.55
640x350 59.77
и с Displayport
$ xrandr
Экран 0: минимум 16 x 16, текущий 3840 x 2160, максимум 32767 x 32767
DP-2 подключен 3840x2160+0+0 (нормально налево инвертировано направо по оси X по оси Y) 620мм x 340мм
3840x2160 29.98*+
2048x1536 29.95
1920x1440 29.95
1600x1200 29.95
1440x1080 29.86
1400x1050 29.98
1280x1024 29.90
1280x960 29.82
1152x864 29.92
1024x768 29.89
800x600 29.55
640x480 29.85
320x240 27.50
2560x1600 29.99
1920x1200 29.95
1680x1050 29.95
1440x900 29.91
1280x800 29.83
1152x720 29.96
960x600 29.86
928x580 29.64
800x500 29.53
768x480 29.64
720x480 29.25
640x400 29.58
320x200 26.53
3200x1800 29.96
2880x1620 29.96
2560x1440 29.94
2048x1152 29.94
1920x1080 29.95
1600x900 29.92
1368x768 29.94
1280x720 29.93
1024x576 29.84
864x486 29.50
720x400 29.51
640x350 29.03
Но в любом случае любая помощь или совет по этому вопросу будут признательны. Возможно, это просто проблема, которая возникает только на этом мониторе
.
Ответ или решение
Как специалист в области ИТ, стоит отметить, что проблемы с отображением частоты обновления монитора через DisplayPort и HDMI могут возникать по нескольким причинам, включая несовместимость драйверов, неправильную конфигурацию системы или аппаратные ограничения. В данной ситуации проблема заключается в том, что драйвер amdgpu на Ubuntu 24.10 распознает монитор ASUS VP28U через DisplayPort с частотой 30 Гц, в то время как через HDMI частота составляет 60 Гц. Такое поведение может быть связано как с особенностями драйвера, так и с ограничениями аппаратного обеспечения, как самого монитора, так и графической карты.
Теория: Драйверы для графических карт содержат информацию о поддерживаемых разрешениях и частотах обновления в рамках определенных соединений. При использовании DisplayPort может происходить считывание неверной EDID (Extended Display Identification Data) информации, что приводит к некорректному распознаванию параметров дисплея. В отличие от HDMI, DisplayPort имеет отличия в системе определения поддерживаемых форматов экрана и может сталкиваться с проблемами несовместимости или ошибками передачи данных.
Пример: Распространенным примером является ситуация, когда при подключении через DisplayPort монитор не распознается правильно из-за неверного считывания EDID данных, что ограничивает частоту обновления до 30 Гц, в то время как HDMI соединение успешно считывает корректные данные и позволяет использовать 60 Гц. Это может быть связано с багами в драйвере или ограничениями конкретной версии ядра операционной системы.
Применение: Для решения данной проблемы рекомендуется выполнить следующие шаги:
-
Обновление ядра и драйверов: Убедитесь, что у вас установлены последние обновления для ядра и пакета open source-драйвера amdgpu. Ваша версия драйвера 24.2.3 совместима с RX 7700 XT, однако для решений любых багов или обеспечивания оптимальной поддержки, обновление может стать необходимым.
-
Проверка EDID: Используйте утилиты вроде
edid-decode
для проверки корректности данных EDID, считываемых при подключении через DisplayPort. Это поможет определить, неправильно ли передается информация о поддержка разрешения и частоты обновления. -
Настройка xrandr: В некоторых случаях можно вручную задать нужные параметры с помощью
xrandr
. Узнайте поддерживаемые режимы и добавьте нужный с помощью:cvt 3840 2160 60 xrandr --newmode "3840x2160_60.00" <ModeLine> xrandr --addmode <DP-output> "3840x2160_60.00" xrandr --output <DP-output> --mode "3840x2160_60.00"
Замените
<DP-output>
на соответствующий DisplayPort выход. -
Обращение к поддержке: Если ни одно из решений не помогает, стоит обратиться к поддержке Ubuntu или AMD для возможности подачи баг-репорта. Используйте ссылку на Launchpad для Ubuntu или AMD Support для получения помощи и регистрации проблемы.
-
Альтернативный драйвер от AMD: Если open source-драйвер не решает проблему, вы можете попробовать установить официальный драйвер от AMD. Для этого убедитесь, что все зависимости установлены правильно и отсутствуют конфликты в пакетах.
Эти шаги и рекомендации должны помочь в устранении проблемы с неправильной частотой обновления через DisplayPort, но если они не сработали, возможен вариант специфической несовместимости, которая может быть исправлена только обновлением драйверов или аппаратных компонентов.