LINUX.ORG.RU

SwayWM и 4K монитор

 sway hidpi debian 4k


0

3

Доброго времени суток, уважаемые!

Подскажите пожалуйста, как нормально настроить scaling в swaywm? Если я в конфиге указываю что-то вроде:

output HDMI-A-1 resolution 3840x2160@60Hz position 3840,0 scale 2

то всё становится красиво кроме приложений вроде Telegram, Vivaldi, Codium, Obsidian и др. В них шакалятся шрифты и значки. Постеменно начинают вытекать глаза.

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

QT_SCALE_FACTOR=2
ELM_SCALE=2
GDK_SCALE=2

QT_WAYLAND_FORCE_DPI=192

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

Подскажите пожалуйста, что подкрутить?

P.S.

  • в Gnome всё работает как надо при scale 200%
  • всё проделываю на Debian 12.8
★★★★

А в Sway можно запускать приложения через XWayland? У меня GNOME и в ~/.profile отключен wayland для qt

## QT via XWayland
export QT_QPA_PLATFORM=xcb
masa ★★
()
Ответ на: комментарий от masa

Проблема не только с QT приложениями, ещё electron. Там же вроде отдельная история не QT и не GTK, насколько я понимаю.

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

Вообще может у тебя наоборот запускается телега в XWayland, поэтому проблемы с масштабированием, попробуй включить:

QT_QPA_PLATFORM=wayland ./Telegram
masa ★★
()
Ответ на: комментарий от masa

QT_QPA_PLATFORM=wayland вот так по умолчанию у меня установлено

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

Они принципиально не хотят делать нормально. Любое приложение, использующее XWayland, будет выглядеть в Sway как говно, если включено масштабирование. Если ты хочешь Wayland, но без GNOME или KDE, то посмотри Hyprland, там более вменяемые разработчики, и есть настройка для этого.

https://github.com/swaywm/sway/issues/2966

https://wiki.hyprland.org/Configuring/XWayland/

Надо ли говорить, что в GNOME это работало всегда из коробки без всякой гребли с переменными и прочими твиками. Прикасаться к поделкам на wlroots после такого не хочется. Enjoy your Linux bullshit.

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

К сожалению на Debian не так просто перейти на Hyperland, его пока нет в пакетах, а все проекты по втаскиванию Hyperland в Debian выглядят сыро (((

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

Да, есть такое. Альтернативные композиторы довольно сырые, при этом в Debian что, Hyprland, что labwc, обновляются редко. Возможно, это связано с нестабильностью wlroots (постоянные изменения API). Так что либо собирать самому (у Hyprland вроде были готовые сборки, посмотри на сайте), либо менять дистрибутив, либо использовать DE (и здесь подразумевается GNOME, на самом деле).

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

его пока нет в пакетах

Не, он есть, только староватый: https://packages.debian.org/search?keywords=hyprland&searchon=names&suite=all&section=all Если ты про stable, то забудь — все эти альтернативные композиторы нужно постоянно обновлять, там пока даже близко нет той стабильности, которая была у старых X11 WM.

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

Да, я сижу на stable. Но, между тем, я нашёл некое решение: удалил xwayland и все эти проги запускаю с параметром --ozone-platform-hint=wayland. Всё кроме телеги стало выглядеть прекрасно. Видимо там что-то другое.

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

Наверно на данном этапе топик можно закрыть. Проблема локализована) Всем спасибо!

nuxster ★★★★
() автор топика
export MOZ_ENABLE_WAYLAND="1"
export XDG_CURRENT_DESKTOP=sway
export XDG_SESSION_DESKTOP=sway
export QT_QPA_PLATFORM="wayland-egl"
export QT_QPA_PLATFORMTHEME="qt5ct"

убедись что sway подхватывает эти переменные при старте.

В конфиге sway у меня такое:

output HDMI-A-1 adaptive_sync on
output HDMI-A-1 scale 1.5

Установи qt5ct И qt6ct и настрой Qt-шную тему в каждой из них.

Для гнома покрути настройки

gsettings set org.gnome.desktop.interface scaling-factor 
gsettings set org.gnome.desktop.interface text-scaling-factor 

(у меня и так нормально, обе установлены в 1)

В телеге установлена настройка «Default interface scale» в 200%

больше я не помню что устанавливал, УМВР

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

смотря откуда установлена телега. Если с офсайта, то она может игнорировать QT_QPA_PLATFORMTHEME. Установи из репы или откомпиляй сам.

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

Круто! Спасибо за развёрнутый ответ!

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

Да, с оффсайта бинарь качаю по привычке. Собрать - хорошая идея!

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

Telegram

У меня установлен из реп, запускается под вяленым «нативно» (без xwayland). Но, постоянно крашится. Тем временем, если запустить через эмулятор терминала, то не падает. Хз че с ним и как это ловить.

obsidian, edge, saleae logic

Запускаются с --enable-features=UseOzonePlatform --ozone-platform=wayland

vs code

Как-то сам перестал шакалится, полез сейчас глянуть че там: vscode --ozone-platform-hint=auto --enable-wayland-ime %F

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

Да, в ряде случаев решается через --ozone-platform=wayland. Telegram не крашится, но весь пошакаленный и --ozone-platform=wayland не помогает. Возможно на новогодних праздниках найду время, что бы разобраться с этим.

nuxster ★★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.