Вопрос или проблема
После новой установки Ubuntu 24.04 я заметил, что когда воспроизводится какое-либо полноэкранное видео (с использованием mpv) или идет полноэкранная игра (через Steam), основной монитор всегда дает “протекание” на второй монитор, подключенный через HDMI-to-HDMI.
- Дистрибутив : Ubuntu 24.04.2 LTS
- Ядро : 6.8.0-53-generic
- Nvidia : 550.144.03 (недавно обновлено с 535). Та же проблема возникала и с 535.
- Vulkan : 1.3.275
- OpenGL : 4.6.0
- Система окон : X11
mpv :
Все, что воспроизводится в полноэкранном режиме с mpv, наполовину протекает на второй экран. Я смог установить x11-bypass-compositor=yes
в mpv.conf
, и теперь mpv в полноэкранном режиме больше не протекает на второй монитор.
steam :
Я пытался запустить Steam с тем же параметром flatpak run --env=__GL_X11_BYPASS_COMPOSITOR=1 com.valvesoftware.Steam
. К сожалению, полноэкранная игра все равно протекает на второй монитор, в то время как само приложение Steam не протекает даже в полноэкранном режиме. С этим параметром открытие игры занимало около 2 минут, что крайне необычно по сравнению с теми же настройками на моей старой версии 22.04 (тот же компьютер). За исключением протекания и большой задержки при открытии игры, она затем работает нормально.
Помимо полноэкранного видео, которое временно исправлено, только полноэкранные игры страдают от этой проблемы. Никакие другие приложения не испытывают той же проблемы. Есть ли еще что-то, что я могу попробовать, чтобы остановить это “протекание” монитора? Я попробовал 2 версии драйверов Nvidia (535, 550), ни одна не устранила проблему. Это также не происходило до 24.04, я мог играть без проблем с двумя мониторами на 22.04.
Ответ или решение
Для решения проблемы с "протеканием" изображения на втором мониторе при полноэкранных приложениях на Ubuntu 24.04, нужно тщательно проанализировать несколько аспектов работы системы и оборудования. Ниже рассматриваются возможные теории, примеры и варианты применения решений.
Теория:
Проблема с "протеканием" или визуальными артефактами при полном экране на двухмониторных системах может возникать из-за проблем с управлением окнами, конфигурацией графического драйвера или несовместимости с аппаратным обеспечением. В данном контексте, поскольку другая часть системы и набор приложений идентичны предыдущей версии (Ubuntu 22.04), возможно изменение в Ubuntu 24.04 или обновления, связанных с X11, графическим стеком или самим управлением окнами, которые вызывают поведение, отличающееся от ожиданий.
Графические драйверы: Использование разные версии драйверов Nvidia (535 и 550) указывает на то, что проблема не связана с конкретной реализацией драйвера, но может охватывать более глобальные изменения в ядре системы или самом оконном менеджере.
Оконный менеджер: X11 иногда может сталкиваться с проблемами, касающимися манипуляции с окнами, особенно касаясь работы с Nvidia-драйверами, если те не установлены корректно либо если фрейм-буфер неправильно обрабатывает команды OpenGL или Vulkan.
Пример:
На практике, проблемы подобного рода часто касаются ошибочной конфигурации или недоучетов в настройках. Например, неправильно установленный xorg.conf файл или малозаметные ошибки в конфигурации могут приводить к артефактам отображения. Проблемы с композитором окнами особенно характерны, когда приложения начинают взаимодействовать с аппаратным ускорением, как это происходит в играх или видеоплеерах.
Применяя решение:
-
Диагностика и настройка Nvidia X Server:
- Убедитесь, что конфигурация мониторов в Nvidia X Server настроена корректно. Открыть "nvidia-settings" и проверить, чтобы оба монитора правильно позиционировались относительно друг друга.
- Применить изменения и сохранить конфигурацию в
/etc/X11/xorg.conf
.
-
Композиция окон и xorg.conf:
- Проверьте конфигурацию X11. На этапе загрузки системы вполне возможно, что вызываются тестовые моды дисплеев. Убедитесь, что они определены корректно.
sudo nano /etc/X11/xorg.conf
Проверьте наличие правильных секций Monitor, Screen и Device, учитывающих оба монитора и правильное их позиционирование:
Section "Monitor" Identifier "Monitor0" # other properties like HorizSync, VertRefresh, etc. EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1080" "1280x1024" # Add necessary modes EndSubSection EndSection
В вашей настройке убедитесь, что режимы экрана и идентификаторы прописаны корректно.
-
Задействование опций nvidia-drm:
Иногда включение DRM для модуля Nvidia может устранить различные артефакты:
sudo nano /etc/modprobe.d/nvidia-drm.conf
Добавьте или измените строку:
options nvidia-drm modeset=1
Это приведет к загрузке ядра с nvidia-drm, который лучше взаимодействует с X11.
-
Переход на Wayland:
Поскольку Ubuntu 24.04 предоставляет возможность использовать Wayland, может быть целесообразным протестировать игры и приложения на Wayland, чтобы обнаружить, устраняется ли проблема там.
-
Мониторинг системных логов:
Используйте журналы X11 в
/var/log/
и системные журналы изjournalctl
, чтобы проверить, какие ошибки или предупреждения появляются при запуске игры или приложения.
Заключение:
Проблема с "протеканием" экранных артефактов требует всестороннего подхода для ее обследования, изучения и устранения. Заблаговременное изучение конфигурационных файлов, отклики сообщества и возможный откат на предыдущие версии сборок может оказаться полезным, чтобы локализовать и устранить неполадки. Замена X11 на Wayland может также предложить временное или постоянное решение проблемы, нагруженного использованием исключительно аппаратного рендеринга.