LINUX.ORG.RU

Отключить в масштабирование для определенного окна или workspace

 , , ,


1

2

Постепенно перехожу на wayland(в лице hyprland) и по факту осталась одна серьезная проблема. Суть в следующем:

Мой экран:

monitor=DP-3,3840x2160,auto,1.75,bitdepth,10

Мне для работы нужно подключение по rdp, а xfreerdp довольно глючен. Нашел следующие способы как-то работать:

0. Ничего не делать. xfreerdp мерцает, wlfreerdp(и sdl-freerdp) мылят.

1. Выставить XWAYLAND_NO_GLAMOR=1, xfreerdp работает отлично, но не запускается steam(поиграть после работы). Приходится для стима менять сессию после работы.

2. Поставить масштаб 1.0, вместо 1.75. Тогда wlfreerdp работает хорошо, но всё остальное мелко.

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

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

Может кто подскажет насколько это реально? Или время писать фичреквесты в hyprland и/или засылать баг в xfreerdp(тут они очень не шустрые по issues, судя по багтрекеру)?

Вот нашел что-то в багтрекере xfreerdp, но либо я ничего не понял, либо в моем случае не помогает, либо они просто отписку написали.

https://github.com/FreeRDP/FreeRDP/issues/7608

PS: Кстати, bitdepth,10 в настройках экрана, это чтобы с невидией шаринг экрана работал. С большим трудом нагуглил решение, вдруг кому понадобится.

★★★★★

Последнее исправление: Loki13 (всего исправлений: 3)

Или время писать фичреквесты в hyprland и/или засылать баг в xfreerdp(тут они очень не шустрые по issues, судя по багтрекеру)?

Для hyprland запрос уже есть: https://github.com/hyprwm/Hyprland/issues/3861

А пока можно ставить XWAYLAND_NO_GLAMOR=1 не глобально, а только для xfreerdp.

Ja-Ja-Hey-Ho ★★★★
()
Ответ на: комментарий от Ja-Ja-Hey-Ho

А пока можно ставить XWAYLAND_NO_GLAMOR=1 не глобально, а только для xfreerdp.

А вот это идея. Сейчас попробую. Я пробовал наоборот, ставить XWAYLAND_NO_GLAMOR=0 steam. Так стим всё равно падает на старте.

Loki13 ★★★★★
() автор топика
Ответ на: комментарий от Ja-Ja-Hey-Ho

Не помогло. Видимо эта переменная должна быть глобально при запуске(первом старте xwayland?). Возможно дело в том что xwayland процесс один на все иксовые приложения и как запустился, так и работает.

Даже не знаю как попробовать. Может export XWAYLAND_NO_GLAMOR=1, а потом killall xwayland? Тоже наверное не пойдет, xwayland же не из этого шелла запускаться будет?

Loki13 ★★★★★
() автор топика

По-моему, у wlroots вообще всё очень хреново с масштабированием за пределами простейших кейсов. А если приложение через XWayland, то, ну, ты понял. Разработчики sway ничего с этим делать не планируют, так что лично мне с ними оказалось не по пути.

anonymous
()

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

Не знаю как в wlroots, в кде есть опция «масштабировать xwayland приложения средствами самих приложений». Стим в 1.75 не получиться, но x2 он может. Надеюсь когда-нибудь будет возможность указать скалирование для отдельного приложения вручную.

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

Стим в 1.75 не получиться, но x2 он может.

steam -forcedesktopscaling 1.75

Работает в 1.75.

Не знаю как в wlroots, в кде есть опция «масштабировать xwayland приложения средствами самих приложений»

Масштабирование мне нужно отключать для wayland версии - wlfreerdp, а не для иксовой.

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

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

Remmina уже не в почёте?

А это разве не всего лишь морда к тому же xfreerdp, которая просто параметры командной строки из «галочек» формирует?

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

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

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

Масштабирование мне нужно отключать для wayland версии - wlfreerdp, а не для иксовой.

Можно было бы попробовать запустить в xwayland, но, полагаю, и баги с мерцанием вернутся.

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

Ну, например всё то же скалирование xwayland приложений.

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

Поддержка VRR

Есть такое, но у моего монитора всё равно узкий диапазон частот, так что потеря небольшая. В любом случае, оно в GNOME близко к готовности, там какие-то мелкие баги остались.

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

Не видел проблем, в том числе правильно выглядят игры, включая не нативные.

Игры через вайн/протон растягиваются. Если 2x, то еще нормально. Если какие-нибудь 1.75x, то всё совсем печально. Не слежу плотно за разработкой гнома, но еще совсем недавно возможности обойти эту проблему не было.

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

Игры через вайн/протон растягиваются. Если 2x, то еще нормально.

Не скажу, что прямо много в такие играю, но из последнего могу назвать обе новых DOOM, Control, Prey (2017), какое-то там свежее ралли, NieR: Automata. Плюс windows-версии BATTLETECH и art of rally. Везде всё нормально. Масштабирование 200%.

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

Они не растягиваются, если ты говоришь о масштабировании «со стороны». Всё выглядит чётко, игры в курсе реального разрешения и масштабируются сами правильно, никаких крошечных элементов. Понятно, что чем старше игра, тем больше шансов, что будут проблемы вплоть до полного отсутствия поддержки HiDPI, но это верно и для запуска в Windows. Например, ещё вспомнились Deus Ex: последняя выглядит прекрасно, а в предпоследней очень мелкий текст, хотя остальное вроде окей.

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

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

Попробуй 175% выставить. По хорошему, масштабирование никак не должно влиять на игры. Но оно влияет.

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

Для hyprland запрос уже есть: https://github.com/hyprwm/Hyprland/issues/3861

Спасибо! Видимо то что мне и надо. Оставил комментарий в этом issue, для уточнения чего не хватает и зачем.

https://github.com/hyprwm/Hyprland/issues/3861#issuecomment-1815993541

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

Попробуй 175% выставить. По хорошему, масштабирование никак не должно влиять на игры. Но оно влияет.

Забавно, и правда картинка стала мыльной, на тексте и многих деталях это очевидно.

Но в GNOME дробное масштабирование всё равно сделано через жопу, так что я в принципе не купил бы монитор, которому оно нужно. На 27" ещё можно обойтись 200%.

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

Забавно, и правда картинка стала мыльной, на тексте и многих деталях это очевидно.

Не могу сказать наверняка, как оно в гноме сделано. Но у меня есть сомнение, что при 200% масштабировании он как-то догадывается, что растягивать, а затем сужать игры под фулл скрин не надо. Скорее всего при целочисленном масштабировании это растягивание/сужение незаметно.

Wine с вейлендом на подходе, по идее, там таких проблем не должно быть. Но кто его знает, пока и без растягиваний есть странности. Например, 200% масштабирование, для xwayland масштабирование отключено, картинка выглядит нормально, чувствительность при повороте камеры мышкой x2. Хотя, по хорошему, эта чувствительность не зависит ни от разрешения игры, ни от скорости указателя в системных настройках.

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

Не могу сказать наверняка, как оно в гноме сделано. Но у меня есть сомнение, что при 200% масштабировании он как-то догадывается, что растягивать, а затем сужать игры под фулл скрин не надо. Скорее всего при целочисленном масштабировании это растягивание/сужение незаметно.

А Mutter ничего сам и не должен растягивать, этим занимаются приложения/тулкиты. Например, если не заданы настройки Xft.*, то соответствующие приложения не масштабируются. Если маяться такой дурью с играми, то: 1) снизится FPS; 2) наверняка будет мыло. Это же верно и для любых других приложений, потому что нельзя просто взять и растянуть уже отрисованное тулкитом окно.

Дробное масштабирование в Mutter — особый случай, потому что там страшные костыли, как я понял, с принудительным внешним масштабированием картинки вниз. Вообще детали есть в багтрекере гнома, если интересно.

Например, 200% масштабирование, для xwayland масштабирование отключено, картинка выглядит нормально, чувствительность при повороте камеры мышкой x2. Хотя, по хорошему, эта чувствительность не зависит ни от разрешения игры, ни от скорости указателя в системных настройках.

Опять же, в GNOME такого нет. Я бы не пользовался Wayland, если бы были подобные фокусы. Очевидно, для тех, кто пилит композиторы на wlr это всё не очень приоритетно. Браузер с терминалом работают и ладно, остальное «не нужно»© 😅

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

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

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

Дробное масштабирование в Mutter — особый случай, потому что там страшные костыли, как я понял, с принудительным внешним масштабированием картинки вниз.

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

Опять же, в GNOME такого нет. Я бы не пользовался Wayland, если бы были подобные фокусы.

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

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

Без этого все xwayland приложения растягиваются системой.

Нет, такое я видел только под wlroots. Выглядит как говно, ни с чем не спутаешь.

В случае с играми сначала растягиваются, а затем жмутся назад.

Слишком отбито даже для самых отбитых разработчиков GNOME. Давай ссылку на код, если считаешь иначе.

Целочисленное масштабирование артифакты не вносит

Смотря на коком этапе. Берёшь скриншот приложения на 96 PPI, увеличиваешь таким прекрасным способом, то есть каждый пиксель превращаешь в четыре. Смотришь на получившееся, понимаешь, что что-то тут не так. Для верности ставишь рядом окно этого же приложения, изначально отрендеренное в 192 PPI. Когда у меня была видеокарта послабее, я пробовал gamescope с кратным скейлом. Качество картинки не компенсировалось даже огромным выигрышем в частоте кадров.

С дробным в гноме есть проблемы

Это очень мягко сказано. Достаточно вспомнить, что до GTK 5 нет никаких планов это поддерживать.

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

Слишком отбито даже для самых отбитых разработчиков GNOME.

Так ведут себя все xwayland приложения, под wlroots, гномом, кде. В kde под эту проблему добавили костыль, под wlroots похоже тоже, под гномом пользователи до сих пор просят.

Почему, зачем, как - не знаю. Просто игры, как и другие xwayland приложения, берут и растягиваются.

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

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

А гном что и фуллскрин игры из стима растягивает что ли? Я такого не замечал. Хотя, наверное это потому что у меня либо кеды, где «масштаб средствами приложений» включен, либо hyprland, где xwayland { force_zero_scaling = true }

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

У меня без этого шаринг работает на nvidia и hyprland. Не понятно как это может помочь.

Там что-то с RGB и BGRX связано. У них в багтрекере гуглится. У тебя случайно не арч? В арче есть патч на это дело и работает и без этого, а у меня в генте, я поленился сам патч делать(из кода в багтрекере).

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

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

Ссылка на просьбу?

Просто игры, как и другие xwayland приложения, берут и растягиваются.

Не хочу показаться тем парнем, но звучит как фантазии без единого пруфа. В конце концов, можешь лично убедиться, что это не так. Я так и делаю, например.

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

Ссылка на просьбу?

https://discourse.gnome.org/t/xwayland-fractional-scaling-like-in-kde/17617

https://www.reddit.com/r/gnome/comments/160860p/problem_with_fractional_scaling_and_games_on/

В конце концов, можешь лично убедиться, что это не так. Я так и делаю, например.

Ну так я и предложил вариант с 175%, так как проблема в этом случае становится наглядной.

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

Это всё про дробное. Я прошу подтверждение, что с кратным имеет место неэффективная реализация. Мои тесты показывают, что этого нет.

И да, дробное масштабирование не нужно :)

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

А гном что и фуллскрин игры из стима растягивает что ли? Я такого не замечал. Хотя, наверное это потому что у меня либо кеды, где «масштаб средствами приложений» включен, либо hyprland, где xwayland { force_zero_scaling = true }

В гноме нет опции «масштаб средствами приложений». Про растягивание вроде как тут обсуждение было: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1318

Не вникал в вопрос «почему», нашел решение в кде в виде «масштаба средствами приложений» и на этом успокоился, всё равно wine через xwayland - временное решение.

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

Проблема в том, что на 27" 4k уже заметно ниже чёткость картинки, чем на 24" 4k, поэтому я предпочитаю держать монитор дальше. Соответственно 200% вполне себе подходит. Но это индивидуально, конечно, глаза и предпочтения у всех разные. Мне это всё не мешает на работе использовать 27" 2560×1440 без масштабирования и страданий от недостаточно плавных скруглений 🙃

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

Я увидел масштабирование 2д окна (battle.net) и растягивание 1080p до 4k в овервотче.

На 200%? Ну и если в игре стоит 1080, то ничего странного не вижу для полноэкранной программы.

Чтобы увидеть, что при кратном скейлинге никто ничего принудительно не растягивает, запусти какой-нибудь xterm или xfontsel — они будут крошечными (если отдельно не настраивал Xft). Рассказывать о проблемах с дробным в GNOME не вижу смысла, оно там слишком кривое.

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

Чтобы увидеть, что при кратном скейлинге никто ничего принудительно не растягивает, запусти какой-нибудь xterm или xfontsel — они будут крошечными (если отдельно не настраивал Xft).

Я запускал bnet приложение, оно растянулось. Как я понял тогда из переписки между разработчиками, xwayland не может иметь разное масштабирование для разных приложений/мониторов и оно тупо применяется ко всем окнам.

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

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

xwayland не может иметь разное масштабирование для разных приложений/мониторов и оно тупо применяется ко всем окнам

Как и Xorg. Но масштабироваться или нет решает само приложение, в чём легко убедиться, запустив любую иксовую программу на xlib, например.

Возможно сейчас в гноме 200% масштабирование как-то хитро отрабатывается и там скалирование не работает.

Не хитро, а как раз нормально.

странно, что при дробном растягивает

А вот здесь в гноме говно и костыли.

С момента появления «масштаба средствами приложений»

То есть с момента появления протокола X11? :) Ну серьёзно, мне не лень повторить, что никаких других вменяемых способов нет. Если бы тупо удвоить окно по пикселям было решением, мы бы видели поддержку HiDPI в GTK 2 и Qt 3, но её там нет и не будет. И разработчики DE в здравом уме ничем таким не занимаются. Дробное масштабирование в GNOME — странноватое исключение «на отвяжись».

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

То есть с момента появления протокола X11? :) Ну серьёзно, мне не лень повторить, что никаких других вменяемых способов нет.

Так я и не спорю.

И разработчики DE в здравом уме ничем таким не занимаются.

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

altwazar ★★★★
()