LINUX.ORG.RU

KDE: дробное масштабирование в Wayland и другие изменения

 


2

2

Разработчики реализовали долгожданную поддержку дробного масштабирования под Wayland и наконец-то в корне устранили застарелые ошибки в работе Plasma с несколькими экранами.

Дробное масштабирование в Wayland

На прошлой неделе был принят протокол семейства Wayland для дробного масштабирования, предложенный Kenny Levinsen. А уже на этой неделе были добавлены его реализации на стороне KDE (Plasma 5.27) и Qt, подготовленные David Edmundson.

Это позволяет фреймворку Qt задействовать в сеансе Wayland существующую поддержку дробного масштабирования, ранее использовавшуюся в X11. Приложения больше не придётся рисовать в завышенном до следующего целочисленного множителя разрешении и затем уменьшать до нужного размера! Как итог, приложения на Qt с дробным масштабом (не 200%, а, например, 125%) теперь должны выглядеть менее размытыми и работать быстрее.

Приложения GTK получат те же преимущества, если GTK когда-нибудь добавит поддержку дробного масштабирования и реализует упомянутый протокол. До тех пор приложения GTK продолжат использовать менее эффективный метод масштабирования.

Диспетчер окон KWin уже поддерживает всё необходимое в Plasma 5.27. Поддержка в Qt сейчас есть только в шестой версии, что обычно говорит о необходимости ждать Plasma 6. Однако есть шанс, что все будет адаптировано и к Qt 5 и включено в набор правок Qt от KDE.

Исправление работы с несколькими мониторами

Теперь используется система, основанная на нумерации экранов, и контейнеры Plasma тесно привязаны к этим номерам, но сами номера могут перемещаться между экранами в зависимости от их числа. Так, например, когда экран 1 с рабочим столом и панелью Plasma становится недоступным, другой экран становится экраном 1, а рабочий стол и панель Plasma перемещаются на него.

Эта новая система должна значительно повысить стабильность, надёжность и предсказуемость в отношении того, как экраны включаются и отключаются, где размещаются и какие рабочие столы Plasma показывают. Она исправляет печально известные ошибки, такие как произвольное перемещение контейнеров Plasma и их потерю, а также утрату настроек рабочих столов (обоев, виджетов, параметров значков). Также обеспечено сохранение расположений экранов и контейнеров Plasma между сеансами Plasma X11 и Wayland.

Другие изменения

В сеансе Plasma Wayland теперь можно разрешить приложениям, использующим XWayland, подслушивать нажатия клавиш, сделанные в родных приложениях Wayland, как будто они работают в X11. Это уязвимое поведение по умолчанию отключено, но может пригодиться для некоторых приложений, например, для режима рации в Discord. Есть несколько уровней, чтобы можно было настроить под себя баланс безопасности и поддержки устаревших технологий.

Клавиши-модификаторы (например, одиночную Meta) теперь можно использовать в качестве комбинаций клавиш при настройке вызова действий с клавиатуры. Со временем это позволит нам заменить странную старую обработку клавиш-модификаторов в KWin и просто напрямую назначать клавиши-модификаторы на такие действия, как вызов меню приложений или запуск режима обзора.

Полный перевод новости

Спасибо @ilya_b

>>> Подробности

★★★

Проверено: hobbit ()
Последнее исправление: unfo (всего исправлений: 6)

Ответ на: комментарий от petyanamlt

Я пожалел, что взял RX6700\10gb вместо 3060ti

А зря. Закрытые драйвера для NVidia - это та ещё помойка. Помню был такой баг (с апдейтом системы вроде самоисправился). Перемещаешь окно над conky виджетом и когда conky виджет обновляется, то окно залагивается. Это NVidia only баг. Иногда проявляются утечки памяти в композиторе, которых нет на других GPU (тоже поправили). Был баг, что система не выходила из сна (чёрный экран), пока я не снёс все пакеты нахрен и не переустановил. К тому же проприетарные модули ядра нормально не загружаются/выгружаются без костылей (https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-525/+bug/1999314).

Некоторые баги фиксятся годами, так что радуйся что не NVidia.

Ну это всё, конечно, нытьё перфекциониста. В основном драйвер нормально работает, игры играются. Может мне попалось много плохих кейсов. К тому же, неоспоримый плюс NVidia - это DLSS и нейросети.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 3)
Ответ на: комментарий от Rootlexx

Например, захват экрана в Wayland работает при помощи портала.

Не так. Захват экрана в Wayland можно осуществлять при помощи портала, это наиболее кросс-композиторный способ. Есть и другие, обычно композиторо-специфичные.

Siborgium ★★★★★
()

Как итог, приложения на Qt с дробным масштабом (не 200%, а, например, 125%) теперь должны выглядеть менее размытыми и работать быстрее.

Они и не были. Можно хоть 105% выставить и qt приложения корректно отмасштабируются в kde.

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

Вот это огонь. Довольно серьезная проблема при использовании вейленда.

altwazar ★★★★
()
Ответ на: комментарий от Loki13

Я по этой причине боюсь АМД брать. На невидии 90%(из того что я играю) через протон запускается просто нажатием Играть в стиме.

Перешел с нвидии на амд из-за проблем с вейлендом и постоянных багах в играх. Думал будет жуть, но жизнь стала гораздо проще.

altwazar ★★★★
()
Ответ на: комментарий от R_He_Po6oT

Почему он работает не через чистый Вейлянд тогда?

Тут даже хорошо, что он через иксы работает )

Дискорд (xwayland) может перехватывать нажатия в других xwayland приложениях (игры). Только из-за этого он под вейлендом более-менее работает.

altwazar ★★★★
()
Ответ на: комментарий от hobbit

Это какие, например?

Из бесячего:

Поддержка разной герцовки с несколькими мониторами. 144Hz+60Hz и на 144Hz мониторе плавность хуже, чем на 60Hz.

Масштабирование окон, особенно с несколькими мониторами. Нельзя задать разное масштабирование разным мониторам. Даже с простым x2 масштабированием жить сложно на одном мониторе.

Высокая задержка при работающем композитинге.

altwazar ★★★★
()
Ответ на: комментарий от altwazar

Высокая задержка при работающем композитинге

Какой композитор используется? С Compiz не должно быть высокой задержки:

«If I run glxgears without compositor in LXDE, XFCE and MATE I get over 15000 fps ... with Compiz I get about 8000 fps ... with Wayland compositors (Sway and Mutter) I get 4000-5000 fps ... with Compton I get between 700 and 1500 fps! ... in XFCE with XFMW4's compositing enabled I get 700 to 1500 fps also».

posixbit ★★
()
Ответ на: комментарий от carasin

GE - сборка протона от gloriouseggroll: https://github.com/GloriousEggroll/proton-ge-custom/releases

Туда добавляются доп. фиксы для игр и штуки, которых в протоне нет по разным соображениям (dxvk-async, декодирование некоторых форматов видео).

UP - приблуда для закачки и размещения сборок в стиме/лютрисе. Хотя и вручную скачать не сложно.

altwazar ★★★★
()
Ответ на: комментарий от posixbit

Какой композитор используется?

Иксы дают +1 фрейм задержки по сравнению с вейлендом при работе любого композитинга.

altwazar ★★★★
()
Ответ на: комментарий от posixbit

Он так работает.

Тут есть подробнее: https://zamundaaa.github.io/wayland/2021/12/14/about-gaming-on-wayland.html

В иксах можно играть либо без композитинга, либо с «тройной буферизацией» (без разрывов, но без синхронизации). С синхронизацией при рабочем композитинге всё печально.

altwazar ★★★★
()
Последнее исправление: altwazar (всего исправлений: 1)
Ответ на: комментарий от altwazar

тут есть подробнее: https://zamundaaa.github.io/wayland/2021/12/14/about-gaming-on-wayland.html

В самом начале данной статьи:

This post will challenge that assumption and see how the current state of gaming on Wayland is, with a focus on KWin, KDEs compositor

Дальше не читал.

С синхронизацией при рабочем композитинге всё печально

Чем выше FPS в игре — тем ниже input lag, поэтому VSync в играх следует отключать.

posixbit ★★
()
Ответ на: комментарий от posixbit

Дальше не читал.

Ну, это твои проблемы.

Чем выше FPS в игре — тем ниже input lag, поэтому VSync в играх следует отключать.

Зависит от игры и железа. Разрывы в каких-нибудь гоночках мозг вынесут. Предотвращение разрывов без синхронизации кадров хорошо работает в играх, когда железо позволяет выдать x2-x3 от частоты монитора.

Современный вариант, который работает практически в любой ситуации - ограничение частоты + freesync.

altwazar ★★★★
()
Ответ на: комментарий от DrRulez

И лучше бы побыстрее прошла замена.

Как говаривал товарищ Сухов: это точно!

Mischutka ★★★★★
()

Это уязвимое поведение по умолчанию отключено, но может пригодиться для некоторых приложений, например, для режима рации в Discord.

Фейспалм.

Такое впечатление, что за разработкой вяленой плазмы стоят шпиёны-вредители. Т.е. встать в позу и послать нахрен Нвидия вместе со всеми пользователями таких видеокарт - это нормально, это правильно. А послать разработчиков дискорда или предложить 1.5 пользователям коопных дрочилен запилить патч с такой функциональностью в gamescope - нет, никогда, мы лучше пустим по п***е всю безопасность.

khrundel ★★★★
()
Ответ на: комментарий от R_He_Po6oT

Почему Дискорд запускается через иксы?

Потому что электрон, как и хром, хоть и имеет нативную поддержку wayland, до сих пор не использует её по умолчанию. Нужно прописывать --ozone-platform=wayland в командной строке.

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)

KDE: дробное масштабирование

Бегло просмотрел дискуссию. Не нашёл ответа. Дроби хоть - целочисленные?

i_am_not_ai
()
Ответ на: комментарий от grem

Цепные дроби - это хорошо, конечно. В курсе ли топикстартер?

i_am_not_ai
()
Ответ на: комментарий от Skullnet

Ты так похож на Wayland-фанатика со своим «ненужно», любо-дорого посмотреть.

UPD: Хотя, в принципе, на любого фанатика, да.

Aceler ★★★★★
()
Последнее исправление: Aceler (всего исправлений: 1)
Ответ на: комментарий от R_He_Po6oT

потому что «менйстримными копрорациям» пофиг на ваш вяленд и линакс. да и тем более XWayland это нормальное решение. Вон в макоси от иксов отказались сравнительно давно, но все еще можно встретить приложения запущенные через XQuartz. И ниче, никто не умер.

И только «люди» с красными глазами вечно ноют что их корпорации обижают. Не хотят видите ли поддерживать наш очередной велосипед который может еще и медным тазом накрыться. Mir тому хороший пример.

Unixson
()
Ответ на: комментарий от slepoy_pew

да ты им ничего не докажешь. забей.

должно работать на говне из 90-х яскозал

Unixson
()
Ответ на: комментарий от R_He_Po6oT

Что за рация?

Это когда ты запускаешь игрушку и параллельно дискорд, чтобы общаться голосом через discord, пока играешь в игрушку. Игрушка запущена на весь экран, идёт игровой процесс, а Discord перехватывает нажатие сочетания клавиш или выделенную клавишу — как настроишь. Нажатие на неё отправляет твои матюки в эфир и их слышат другие участники коллективной игры. Отпускаешь — и твой микрофон опять отключён.

Короче, развлекуха.

И идея в том, что discrod должен иметь возможность сработать на нажатие глобальной комбинации клавиш. В иксах нет глобальных комбинаций, discord просто слушает весь ввод (привет параноикам) и нажатие нужной комбинации вызывает включение микрофона. В Wayland есть специальный интерфейс регистрации глобальных клавиш, с разрешениями и уведомлениями пользователя, но discord не умеет в wayland, и не может зарегистрировать себе глобальную горячую клавишу. А через xwayland не работает перехват нажатий из другого приложения, ибо безопасность.

В общем, ради поддержки костыля из Xorg в KDE добавили костыль для Wayland. К добру это, конечно же, не приведёт.

Aceler ★★★★★
()
Последнее исправление: Aceler (всего исправлений: 1)

Как раз использую 125% на иксах. Но вяленд у меня совсем плохо работает. Там разговор про масштаб вообще не доходит.

ox55ff ★★★★★
()

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

Весь Мир насилья мы разрушим До основанья, а затем вернём как было́.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Ну не как было. Раньше это просто работало, а теперь надо специально разрешать отдельным приложениям так делать. Уже шаг вперёд.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Ты так похож на Wayland-фанатика со своим «ненужно», любо-дорого посмотреть.

Меня задолбало, что этим HDR-фаллосом начинают махать при любой возможности, когда в Wayland нормально не работает почти ничего. Вот 5 стадий фанатика сие творения.

  1. «Смерть иксам! Старьё должно умереть! Удалить иксы из всех дистрибутивов! АААААА!».
  2. «Смотрите, есть же XWayland! Савмистимасть!»
  3. «Не может быть! У меня всё работает! Вы всё врети!»
  4. «А вот в Wayland есть фича X, а в Xorg фича Y не работает.»
  5. «Wayland никогда не должен был быть совместимым с Xorg. Вот так!»
Skullnet ★★★★★
()
Ответ на: комментарий от Skullnet

Ну то есть себя в зеркале ты не видишь. Штош.

Aceler ★★★★★
()
Ответ на: комментарий от hobbit

То есть технологии автоматизации взаимодействия приложений

Чо? Какие ещё технологии?

Технологии — это если бы в иксах было расширение для регистрации глобальных комбинаций клавиш, а также менеджер этих клавиш. Но его нет, приложения тупо садятся на входной поток и слушают нужные сочетания. Никаких технологий тут нет, а есть позиция «мы не будем делать как надо, оно же и так работает».

Aceler ★★★★★
()
Ответ на: комментарий от Skullnet

когда в Wayland нормально не работает почти ничего.

Ты преувеличиваешь. Но вообще посмотри с другой стороны - вейланд - это новый протокол, неудивительно что не поддерживающие его программы работают с ним не так. Ты же не устраиваешь истерик, если у тебя под вайном какой-нибудь виндовый софт с «особыми запросами» не заведётся?

Главный недостаток иксов - их техническое устройство. Вот тупо нет никого кто хотел бы это говно поддерживать, запилить в него назло всем HDR-фаллос. Даже после 10 лет перехода на вейланд, со всеми всплывшими проблемами вейландового подхода, с конфликтами с гномом, с нвидией, с кучей нытья таких как ты, не нашлось во всём мире 10 энтузизистов, которые форкнули бы иксовый гитхаб, заявили бы что отныне будут поддерживать иксы и для вида сделали бы туда сотню-другую полезных коммитов. Им даже делать ничего сверхестественного не пришлось бы, весь софт под иксы уже написан. Но нет. На 2 форка второгнома разработчики нашлись, на форк 3х кедов нашлись, на реактос нашлись, даже форк старого файрфокса кто-то поддерживает, а иксы по соотношению сложности кода/пользы оказались хуже всех этих проектов.

khrundel ★★★★
()
Ответ на: комментарий от Aceler

Раньше это просто работало, а теперь надо специально разрешать отдельным приложениям так делать.

При этом можно задать условия прослушивания. Не идеально (нельзя задать возможность прослушивания конкретных клавиш), но большую часть проблем решает без потерь в безопасности (во время зажатой Meta ничего приватного не вводят).

altwazar ★★★★
()
Ответ на: комментарий от hobbit

То есть технологии автоматизации взаимодействия приложений хоть и продолжают называть «устаревшими», но уже сквозь зубы признали нужными. Отрицание пройдено, начался торг.

Это ж разработчики КДЕ, они от появления новой опции в настройках оргазм испытывают. Они и декоратор из иксов притащили, тоже скажешь что без декораций вот вообще никак нельзя было?

Выпилят эту опцию так же как выпилили большинство «крутых» фич, которые когда-то добавляли в кеды.

khrundel ★★★★
()
Ответ на: комментарий от Aceler

В иксах нет глобальных комбинаций, discord просто слушает весь ввод (привет параноикам) и нажатие нужной комбинации вызывает включение микрофона

XGrabKey же есть.

Rootlexx ★★★★★
()
Ответ на: комментарий от khrundel

Но вообще посмотри с другой стороны - вейланд - это новый протокол

Вейланду уже 15 лет.

И то что Wayland - это протокол™, а не фреймворк для написания DE и приложений, говорит о том, что это не полноценный софт, а огрызок для создания монолитных систем, вроде GNOME OS.

Ты же не устраиваешь истерик, если у тебя под вайном какой-нибудь виндовый софт с «особыми запросами» не заведётся?

Это вообще ортогональные вещи. Windows - это полузакрытый блоб и, несмотря на это, в GNU/Linux теперь можно полноценно запускать Windows приложения, а те другие Wayland хипстеры не смогли нормально смоделировать архитектуру дисплейного сервера и написать к нему фреймфорк. С нуля. Я уже не говорю о том, что Wayland - это по сути такой хардкорный поиск фатальных недостатков.

Главный недостаток иксов - их техническое устройство. Вот тупо нет никого кто хотел бы это говно поддерживать, запилить в него назло всем HDR-фаллос. Даже после 10 лет перехода на вейланд, со всеми всплывшими проблемами вейландового подхода, с конфликтами с гномом, с нвидией, с кучей нытья таких как ты, не нашлось во всём мире 10 энтузизистов, которые форкнули бы иксовый гитхаб, заявили бы что отныне будут поддерживать иксы и для вида сделали бы туда сотню-другую полезных коммитов.

Я уже говорил, что многие вещи должны быть сделаны со стороны драйверов, включая закрытый блоб NVidia. Я не разработчик драйверов. К тому же если бы я захотел разрабатывать Xorg, например, переписать Xorg на Rust. Кто-нибудь бы захотел проплатить мою работу? Думаю ответ очевиден. Потому что реальность такова, что проплачивают только всякие не_нужные поделки, которые зашли безмозглым менджерам определенных корпораций. Эти поделки потом загнивают и отправляются на свалку истории, а полезные вещи почему-то обязано тащить на себе комьюнити за бесплатно. Причём фанатики всяких бестолковых поделок, как правило, часто обсирают нужные и полезные вещи, сделанные часто энтузиастами.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 2)
Ответ на: комментарий от altwazar

Вообще-то по ссылке как раз описание прослушивания отдельных клавиш, например можно разрешить слушать только при нажатии с модификаторами. Это уже избавляет от утекания паролей.

Aceler ★★★★★
()
Ответ на: комментарий от Siborgium

Никто не отрицал нужность глобальных шорткатов.

Тут на ЛОРе куча фанбоев отрицала :)

Была необходимость реализовать это так, чтобы это не оказалось даже не дырой, а просто распахнутыми воротами в безопасности.

И на это нужно 14 лет?

hateyoufeel ★★★★★
()
Ответ на: комментарий от Aceler

Я упомянул про возможность прослушивать только при нажатой мете. Но нет возможности отдать на прослушивание конкретную отдельную клавишу (у меня push-to-talk на F13).

altwazar ★★★★
()
Ответ на: комментарий от Aceler

Угу. Надеюсь добавят возможность создать список самому.

altwazar ★★★★
()
Ответ на: комментарий от Skullnet

Вейланду уже 15 лет.

Иксам уже скоро 40. В каком году там появится возможность запретить приложению прослушивать чужие нажатия клавиш? Или это должно быть реализовано со стороны драйвера?

Aceler ★★★★★
()
Ответ на: комментарий от hateyoufeel

Тут на ЛОРе куча фанбоев отрицала :)

Все верно, они не нужны в протоколах wayland, потому что не имеют отношения к wayland.

И на это нужно 14 лет?

Прошло не 14 лет. Между первыми юзабельными окружениями и текущим моментом прошло меньше 5. Еще в 2018 в sway не работало примерно ничего, KDE Wayland перестал рисовать черный экран и падать в 2020. Про mutter ничего не скажу, до 2021 не пробовал GNOME Wayland.

Siborgium ★★★★★
()
Последнее исправление: Siborgium (всего исправлений: 1)
Ответ на: комментарий от Siborgium

Про mutter ничего не скажу, до 2021 не пробовал GNOME Wayland.

В апреле 17-го года Gnome работал нормально, но сторонние приложения, ох. Потом я поставил более свежую убунту и всё как-то завертелось.

Aceler ★★★★★
()
Последнее исправление: Aceler (всего исправлений: 1)
Ответ на: комментарий от Aceler

Иксам уже скоро 40.

На секундочку, иксы придумывались в те времена, когда текстовые терминалы были нормой и технологии были другие. Так что можешь сразу умножить как минимум на 10 возраст вейланда.

В каком году там появится возможность запретить приложению прослушивать чужие нажатия клавиш? Или это должно быть реализовано со стороны драйвера?

Когда это кому-то действительно станет нужно, а пока я слышу только «секюрные» кукареки.

Кстати, https://www.x.org/releases/X11R7.6/doc/xorg-docs/specs/Xserver/XACE-Spec.html

Но надо понимать что это всего лишь интерфейс для написания систем безопасности в виде плагинов для иксов, а не готовая система безопасности, смысл которой в том чтобы её заюзали чтобы написать систему безопасности для иксов.

Skullnet ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.