LINUX.ORG.RU

Xwayland на всё

 , ,


1

4

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

Но вот незадача - я использую Wayland, а там такой функции впринципе нету по умолчанию.

И вот, я выяснил, что на Wayland сессии 99% приложений используют XWayland по умолчанию, даже те, у которых есть полная поддержка Wayland - им нужно все вручную долго и муторно менять настройки.

Это не какая-то отдельная проблема Arch/Gnome которые я использую - это проблема всех(ну или почти, за прям все сказать не могу) дистрибутивов и оболочек на Wayland сессии.

А вопрос - зачем тогда впринципе Wayland? В таком случае уж лучше сразу передавать все на x11, а не с Wayland передавать на x11 а потом назад на Wayland.


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

Даже vim поднимает xwayland, потому что в большинстве дистров собран с --with-x. Программам на жаве всем нужен был xwayland. Браузеры тоже приходилось уговаривать его не юзать. Что-то изменилось? Как там работает школо-кде меня не волнует.

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

Даже vim поднимает xwayland

Так запускай его в терминале, который нативно на Wayland работает, в чем проблема? Alacritty, Kitty, Foot, сотни их.

Программам на жаве всем нужен был xwayland

Почему ты связываешь хреновую поддержку Wayland в AWT или что там в жаве юзается с самим Wayland?

Браузеры тоже приходилось уговаривать его не юзать

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

Как там работает школо-кде меня не волнует.

А зря, ибо работает супер прекрасно. Кеды и wlroots сейчас наиболее полноценную и качественную поддержку Wayland обеспечивают.

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

Оконный менеджер это просто иксовый клиент. Все они примерно одинаково работают. Да, можно было при желании поставить какую-то поделку, где не все возможности иксов используются. Я вот dwm использую, там есть некоторые ограничения и костыли. Но любую программу можно запустить и все её функциональность будет доступна точно так же, как в гноме или кде. А вот вейландовые окружения изолированы. Там несовместимость только будет нарастать.

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

Так запускай его в терминале, который нативно на Wayland работает, в чем проблема? Alacritty, Kitty, Foot, сотни их.

Так запускаю, он все равно xwayland поднимает. Ну можно собрать без иксов, тогда не будет. Это просто пример как глубоко иксы прошиты везде.

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

Все они примерно одинаково работают

Нет, это неправда. Mutter и KWin даже на иксах работают по-разному. Первый к примеру все декорации окнам сам рисует.

Но любую программу можно запустить и все её функциональность будет доступна точно так же, как в гноме или кде.

Пример такой функциональности?

Там несовместимость только будет нарастать.

Сам протокол стандартизован, все расширения из набора wayland-protocols - тоже. Реализация везде будет работать одинаково, и клиент, к примеру клиент, использующий ext-data-control (менеджер буфера обмена) будет одинаково работать в любом композиторе с поддержкой этого протокола. А что касается каких-то собственнических, реализующих специфичную функциональность для конкретного композитора - а в иксах такого нету, да? Вот прям все возможности Kwin доступны в Openbox, верно?

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

Это просто пример как глубоко иксы прошиты везде.

Это программа, которая до сих пор собирается под DOS и амигу. Таких немного, на самом деле.

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

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

Сравнил теплое с мягким. В Wayland сейчас проверил - буфер обмена в Vim работает, при чем не только Wayland - Wayland, но и Wayland - Xwayland и наоборот.

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

Да неужели, p из другого окна работает?

Конечно же нет, это X11 clipboard. Работает обычный копипаст текста, при чем как через Ctrl+Shift+V, так и средней кнопкой мыши. Этого разве мало?

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

Но в macOS, Windows, Android, да, блин, везде почти, примерно так всё и работает

Нет, в винде и в макоси сделано как «в иксах», с учётом что у них монополия на свою реализацию, а линукс - это много-WM-мная система.

А где можно найти авторитетное обоснование, почему это нормальная архитектура?

2 + 2 = 4

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

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

Линуксоеды же всегда топили за свободу выбора, ну вот Wayland это она и есть, без нездоровой зависимости от монополиста Xorg.

  • Оконный менеджер поменять нельзя;
  • Композитор поменять нельзя;
  • Фичи DE наглухо прибиты гвоздями к серверу DE;
  • Юзай Pipewire или сиди без скриншотов и записи экрана;
  • DBus обязателен;
  • Для дополнительной «свободы выбора» набор уникальных багов своего диспленого сервера * кол-во DE (зато не как в дедовских иксах!!111);
  • Отсутствие фич вроде глобального позиционирования окон (потому что для этого нужна единая реализация, а в вяленде этого нет.

И это только первое что пришло в голову даже не вникая в другие более глубокие проблемы.

Ты перепутал настоящую свободу выбора с корпоративным гулагом.

Skullnet ★★★★☆
()

И вот, я выяснил, что на Wayland сессии 99% приложений используют XWayland по умолчанию, даже те, у которых есть полная поддержка Wayland - им нужно все вручную долго и муторно менять настройки.

Достаточно 1 раз прописать нужные переменные окружения. У меня это вот так выглядит:

env =  CLUTTER_BACKEND,wayland
env =  QT_QPA_PLATFORM,wayland;xcb
env =  ECORE_EVAS_ENGINE,wayland-egl
env =  ELM_ENGINE,wayland_egl
env =  SDL_VIDEODRIVER,wayland,x11
env =  MOZ_ENABLE_WAYLAND,1
env =  KITTY_ENABLE_WAYLAND=1
env =  GDK_BACKEND,wayland,x11
env =  XDG_SESSION_TYPE,wayland

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

Хотя нет, есть ещё хромоноги, им надо указать

--ozone-platform=wayland --ozone-platform-hint=auto

И всё!

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

я для некоторых стимовских игр включаю wayland через LD_PRELOAD и SDL_VIDEODRIVER.

Подскажи, как это сделать? А то есть одна игра крашится на вяленом SDL. Я конечно указываю в параметрах запуска для игры SDL_VIDEODRIVER=x11, но хотелось бы попробовать подменить LD_PRELOAD именно либу в самой игре, но не соображу как.

А так, игра крашится по причине 0х0 геометрия почему-то возвращается встроенной в игру либой. Скорее всего собрана без вяленного или со старой очень версией SDL(игра с 2019го не обновлялась).

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

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

Начать можно с того, что тот же waybar - это не панель от hyprland'а, а самостоятельный продукт, который и в sway и в niri и вроде даже в wayfire пашет. А продолжить тем, что там ещё куча вариантов - polybar/hyprpanel(это тоже левые чуваки пилят)/nwg-panel. И это только те, что я пробовал.

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

Да неужели, p из другого окна работает?

Вот так - работает.

 let g:clipboard = {
    \   'copy': {
    \       '+': ['wl-copy', '--trim-newline'],
    \       '*': ['wl-copy', '--trim-newline'],
    \   },
    \   'paste': {
    \       '+': ['wl-paste', '--no-newline'],
    \       '*': ['wl-paste', '--no-newline'],
    \   },
    \ }
Loki13 ★★★★★
()
Ответ на: комментарий от eternal_sorrow

слишком большой уж ценой, мне кажется) я не против того, чтобы Wayland развивался как отдельный проект, но я считаю полным бредом выпиливать X и делать их deprecated, когда они прекрасно работают, как это сделали Red Hat в RHEL. ну, собственно, у клоунов свои проблемы

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

Большая часть WM даже всратый EWMH реализуют не полностью

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

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

Не то чтобы тебе лично кто то запрещает использовать иксы. Даже когда иксовая сессия не будет установлена из коробки в большинстве основных дистров, её скорее всего можно будет установить из реп. А даже если нет, будут сторонние репы или целые дистры для поддержки этого добра. Здесь есть люди, которые даже если столкнутся с wayland-only софтом, планируют запускать его в окне композитора внутри иксов. И пожалуйста, столько возможностей. Я лично предпочитаю пользоваться всеми самыми новыми технологиями, а не тащиться в хвосте.

eternal_sorrow ★★★★★
()

Когда-то давным-давно, когда деревья были высокими, в 1984 появились иксы, они были бесплатными, однако в начале нулевых разработчики выкатили платную, улучшенную версию, тогда был создан форк тех оригинальных иксов, швободный и коммунити-драйвен… Но часть разработчиков, помятуя историю с иксами, начали пилить свое неимеющее аналогов поделие, попутно агитируя всех переходить на wayland, многие это понимали и поддерживали копротивление мерзким копро-рациям… И создал вейленд человек «максимально независимый» от копро-фашистов, а поэтому работаюший в Intel… Собственно борьба говна и мочи типичная, в которой сложно принять чью-то сторону, проще заявить, что <название> говно.

Такова краткая история одного из самых главных срачей линупсов, юзернейм…

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