Разное масштабирование с двойной мониторной конфигурацией: медленно в X11, размыто в Wayland

Вопрос или проблема

Я использую Ubuntu 20.04. Я только что купил новый 4k монитор, который теперь использую вместе с предыдущим 1080.

4k дисплей нечитаем при 100% масштабе, поэтому вначале я включил дробное масштабирование на 150% для 4k дисплея (оставив 1080 на 100%). Это работало отлично, за исключением того, что все было заметно медленнее. Поиск в Google показал, что это распространенная проблема с Xorg, и ничего нельзя сделать. Одно из решений заключалось в том, чтобы изменить масштабирование шрифта в gnome-tweaks вместо дробного масштабирования. Это работало отлично, все было быстро и читаемо на 4k дисплее, но шрифт на втором дисплее слишком большой. Одно из решений, которые я нашел, заключалось в использовании xrandr для уменьшения масштаба всего на дисплее 1080, но это приводит к очень расплывчатому изображению. Далее поиск в Google подсказал, что я не должен использовать Xorg, а Wayland, так как он быстрый и это будущее. Поэтому я попробовал Wayland с дробным масштабированием 4k дисплея, и это действительно было очень быстро. Однако шрифты были расплывчатыми. Повторный поиск в Google показывает, что это распространенная проблема.

Что мне делать? Должен ли я обновиться до 21.10? Поможет ли это? Есть ли решение этой проблемы?

Вам нужно запустить свою рабочую сессию под Wayland, который является стандартом с Ubuntu 22.04.

Если вы все еще сталкиваетесь с расплывчатыми шрифтами, это потому, что конкретное приложение, которое работает, не является нативным для Wayland, вместо этого оно работает в “наследственном” X11 режиме.

Большинство, если не все компоненты gnome-shell должны быть нативными для Wayland в более поздних версиях Ubuntu. Firefox поддерживает Wayland нативно, но может потребоваться запуск с определенным флагом на более старых версиях Ubuntu/Firefox.

Для Firefox это:

  MOZ_ENABLE_WAYLAND=1 firefox

Для Spotify это:

 spotify --enable-features=UseOzonePlatform --ozone-platform=wayland

Легкий способ проверить, работает ли приложение на Wayland, — установить и запустить терминальное приложение xeyes (доступно в пакете x11-apps). Оно запускает пару глаз, которые “следят” за курсором мыши. Если глаза могут “следить” за курсором мыши, когда он находится над приложением, значит, оно не работает нативно. Если глаза перестают двигаться, значит, приложение нативное.

Тогда либо приложение не настроено правильно, либо просто еще не поддерживает Wayland.

Ubuntu 24.04: После того как я получил внешний 4k монитор и столкнулся с расплывчатостью на одном мониторе, но не на другом, я включил дробное масштабирование, установил масштабирование 4k монитора на 200% и открыл приложения в Wayland, которые по умолчанию не открываются в Wayland — в частности, Chrome и Visual Studio Code.

Чтобы постоянно открывать VSCode с Wayland в Ubuntu 24.04, я изменил файл .desktop.

  1. Перейдите в /usr/share/applications
  2. Откройте code.desktop
  3. Отредактируйте строку Exec, вставив --enable-features=UseOzonePlatform --ozone-platform=wayland перед %F. Итак, финальная строка должна выглядеть так: Exec=/usr/share/code/code --enable-features=UseOzonePlatform --ozone-platform=wayland %F
  4. Сохраните.

Теперь я кликаю на тот же значок VSCode, который уже давно у меня закреплен на панеле задач, и VSCode открывается в Wayland. (Обратите внимание, что значки минимизации, максимизации и закрытия окна теперь будут слева, а не справа.)

Чтобы постоянно открывать Chrome с Wayland в Ubuntu 24.04, я следовал инструкциям здесь: https://www.reddit.com/r/Fedora/comments/rkzp78/comment/hyvicuy/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

  1. Перейдите к chrome://flags
  2. Поиск “Preferred Ozone platform”
  3. Установите его на “Wayland”
  4. Перезапустите

Эти подходы сработали для меня, и я надеюсь, что они подойдут всем, кто ищет решение! Надеюсь, что эти приложения скоро будут открываться в Wayland по умолчанию в Ubuntu.

Ответ или решение

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


Проблема со скалированием на двух мониторах в Ubuntu 20.04

Вы столкнулись с распространенной проблемой, связанной с использованием двух мониторов с разными разрешениями (4K и 1080p). Стандартные факторы, которые следует учитывать, включают использование Xorg и Wayland, а также настройки масштабирования.

Проблемы с X11

Как вы уже заметили, при использовании Xorg и активации дробного масштабирования 4K-монитора (150%) наблюдаются замедления. Это связано с тем, что X11 неэффективно справляется с дробным масштабированием, что приводит к замедлению работы системы.

Вы пытались использовать настройку масштабирования шрифта через GNOME Tweaks, что улучшило скорость, но шрифт на 1080p-мониторе оказался слишком большим. Настройка с использованием xrandr для понижения масштаба на 1080p-мониторе, хотя и помогла, привела к размытости изображения.

Переключение на Wayland

Рекомендация использовать Wayland была правильной, так как начиная с Ubuntu 22.04, Wayland является более эффективной платформой, обеспечивающей лучшее управление масштабированием и производительностью.

Тем не менее, проблема с размытыми шрифтами в приложениях, не поддерживающих Wayland, также может возникнуть. Важно, чтобы все ваши приложения были запущены в режиме Wayland для достижения наилучшего качества отображения.

Рекомендации по переходу на Wayland

  1. Обновление до Ubuntu 22.04 или выше: Если вы используете Ubuntu 20.04, обновление до более новой версии, например, 22.04 или 24.04, значительно улучшит поддержку Wayland и производительность капационных приложений.

  2. Запуск приложений с поддержкой Wayland:

    • Для Firefox необходимо использовать следующую команду:
      MOZ_ENABLE_WAYLAND=1 firefox
    • Для Spotify:
      spotify --enable-features=UseOzonePlatform --ozone-platform=wayland
  3. Проверка работы приложений в режиме Wayland: Вы можете установить и запустить xeyes из пакета x11-apps. Если глаза следуют за курсором в приложении, оно не работает в режиме Wayland.

Специфические настройки для приложений

Кроме обновления системы, вы можете также настроить частые приложения так, чтобы они запускались в режиме Wayland:

  • Visual Studio Code:

    1. Перейдите в /usr/share/applications.
    2. Откройте файл code.desktop.
    3. Измените строку Exec, добавив --enable-features=UseOzonePlatform --ozone-platform=wayland перед %F. В итоге строка будет выглядеть так:
      Exec=/usr/share/code/code --enable-features=UseOzonePlatform --ozone-platform=wayland %F
    4. Сохраните изменения.
  • Google Chrome:

    1. Откройте chrome://flags.
    2. Найдите параметр "Preferred Ozone platform".
    3. Установите его на "Wayland".
    4. Перезапустите браузер.

Заключение

Следуя этим рекомендациям, вы сможете существенно улучшить качество отображения и производительность при использовании двух мониторов с разными разрешениями. Обновление до последней версии Ubuntu обеспечит вам более стабильную и быструю работу с Wayland, минимизируя проблемы с размерами шрифтов и размытостью. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!


Надеюсь, этот ответ оказался для вас полезным.

Оцените материал
Добавить комментарий

Капча загружается...