Опубликован выпуск пакета wayland-protocols 1.32, содержащего набор протоколов и расширений, дополняющих возможности базового протокола Wayland и предоставляющих возможности, необходимые для построения композитных серверов и пользовательских окружений...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59377
По мне - протокол на каждый чих это упорото. Может безопасно, не знаю.
Протокол - это последовательность действий.Раньше в книжках писали, что для работы с файлами в Си есть разные функции: fopen(), fread(), fclose(). Читателю приходилось думать, в каком порядке их вызывать.
Теперь можно сказать, что протокол чтения файлов это fopen(), fread() и fclose(). Можно уже не думать о порядке. ;)
Только файлы, как-то и без протокола читались. А вот вейленда всё нет и нет.
> А вот вейленда всё нет и нет.Что значит - нет? Вон там разработчик Asahi Linux уже прямым текстом призвал зак@пать xorg, популярно объяснив что не считает трату времени и сил на потуги багфикса ЭТОГО чем-либо перспективным.
Можете пытаться перевирать факты сколько угодно - но тогда будущее предъявит себя внезапным е-сом по черепушке. Это единственное отличие. Как угодно но мир изменился и никто не будет считать тирингующий лагающий позор нормальным выводом графики.
Головой подумай, если бы вейленд был чем-то реально работающим никому бы не пришлось ни к чему призывать.
Он банально хайпует. Типа он такой умный и его призыв рулит Вселенной. И без него даже Wine переходит на Wayland. Это неизбежность. Есть, конечно, нюансы с VRR (Variable refresh rate) и может ещё какие всплывут.
ты бы думал иногда прежде чем глупости писать
> ты бы думал иногда прежде чем глупости писатьЗачем мне для этого думать? Достаточно тебя процитировать.
> Головой подумай, если бы вейленд был чем-то реально работающим
> никому бы не пришлось ни к чему призывать.Судя по тону его спича ему просто надоели багрепорты вокруг Xorg которые некому чинить. Так просто и банально, хоть оборитесь - патчите свое нечто сами или идите нахрен, имхо.
Непонятно чем плохи багрепорты которые медленно чинятся против того что просто не работает в полном объеме.
> Непонятно чем плохи багрепорты которые медленно чинятся против
> того что просто не работает в полном объеме.Желающих чинить ЭТО осталось примерно 0. Поэтому единственным достижением становится захламление багтрекера висяками. Этим такие багрепорты и плохи. Если вы хотите пользоваться иксами - окей, превосходно, чините свои баги сами, не надо делать мозги посторонним людям для которых это просто СПАМ. Вот если вы хотите фиксить эти баги - тогда, конечно, врядли людей напряжет использование их багтрекера. Если это не трансформируется в вечные висяки без шансов на починку.
Почему если иксы "работают в полном объёме" в гномшеле да и в кедах на иксах анимации окон дерганные и с артефактами, а под Wayland все плавненько и никаких артефактов?
Wayland не может работать или не работать! Wayland - это набор соглашений ака протокол.Все вопросы по работе относятся к конкретной реализации. Реализаций, кстати, несколько.
> если бы вейленд был чем-то реально работающим никому бы не пришлось ни к чему призыватьC семейством ОС Linux на десктопе тоже так работает?)
А если серьёзно, то определённый "маркетинг" для продвижения даже Open Source решений требуется. Люди консервативны в большинстве своём, а в мире открытого ПО так и подавно, поэтому да, приходится призывать.
Правильней было бы закопать Asahi, вместе с вейландом. А то не успели вылупиться, а уже права качают.
А таки имеют весьма валидный технический пойнт. Вполне грамотно обоснованный в тексте того призыва. И почти все девы вокруг графики думают примерно так же. Так что не надо спамить свомими багами по иксам в багтрекеры, если вы не готовы стать их fixer'ами. Как-то так по состоянию на данный момент уже.
Указующий перст Линуса всегда с нами.
линукзоиды странный народ, боготворите какого то самодура
Балмер и Гейтс не самодуры? Их тоже что-то вантузники боготворят.
> тирингующий лагающий позорКак по мне, костыли для реализации дробного масштабирования с последующим мылом - гораздо больший позор. Вроде это недавно починили. Надеюсь, не подпорками...
глупый пример
> глупый примерСогласен. Из этих двух слов не понятно, что такое протокол.
>>fopen(), fread(), fclose(). Читателю приходилось думать, в каком порядке их вызывать.да уж, язык Си уж очень небезопасен %)
Протокол на каждый чих - этикет :)
Меня пугает только, что они пошли по пути COM обьектов в Windows, Сейчас будет
сотня другая протокоолов v1, v2, v3 и рано или поздно их надоест поддерживать и они начнут отмирать и нужно будет помнить какой из них уже все, а какой еще нет. Хорошо бы переложить это на разработчика системы, но тогда нужен какой-то простой и понятный API для рисования и мы возвращаемся к универасльным оберткам (API) для рисования.
> Сейчас будет сотня другая протокоолов v1, v2, v3Вообще-то такая фигня во всем софте, протоколах и проч. А с иксами проблема в основном в том что менять их под современные фичи стало практически невозможно - они под совсем другие реалии деланы.
>но тогда нужен какой-то простой и понятный API для рисования и мы возвращаемся к универасльным оберткам (API) для рисованияSystemDGDI
>Меня пугает только, что они пошли по путиГоворите о "них" как о какой-то неизбежности :) Вымрут
> Говорите о "них" как о какой-то неизбежности :) ВымрутВсе когда-то вымирает. Вон там извозчики устарели и теперь вместо них такси. Вон там паровозы с линий сняли. А вот тут Xorg свое уже почти отлетал. Если сравнивать с паровозами, теперь на новых станциях уже просто не ставят резервуары с водой и не кладут уголь или дрова. Что хотите то и делайте.
По не так из-за этого никакого вейленда на десктопе и нет.
если попить водички и поспать - начнёшь попадать по клавишам
Ну если думать о "протокол"-е как об интерфейсе, то норм.
Тогда если думать, об испражнениях как о чисто золоте, то это тоже норм.
> Тогда если думать, об испражнениях как о чисто золоте, то это тоже норм.Прикинь, кому-то и д@рьмо - клад! По крайней мере я разок видел как сельские разворовали кучу д@рьма (коровьего) просто в хлам.
не понимаю, зачем оно, когда есть прекрасный, проверенный временем X11 и чёткий Xorg
Все стареет, даже проверенный временем.
не стареет, а проходит проверку временем
проблема вейладна это в принципе проблема всего человечества - развитие ради развития
Ну не совсем так. Проблемы в X11 есть и они явные. А дальше приходит кучка погромистов (которые да, писали X11) и говорит, а зебе^W "сделаем красиво !", но не всё, всё нам делать лень, а только напишем протокол, а все остальные потом подтянутся. Но остальные тянуться не захотели, потом силёнок у авторов было не столько много как у поттеринга (но место происхождения одно - RH).
Ну и имеем то, что имеем ... Вяленый - набор протоколов, причём разный для KDE и Gnome, а приложения, по старинке, работают через прослойку X11.
> Проблемы в X11 есть и они явныеблин, не знал. как это я мог не заметить такие явные проблемы? пойду снесу иксы и накачу вайленд
В вялом тех "которые да, писали X11" полтора землекопа. И прославились они вандализмом иксовской репы.
> В вялом тех "которые да, писали X11" полтора землекопа.
> И прославились они > вандализмом иксовской репы.Можете форкануть и откатить все что угодно и вообще переделать как вам угодно. Но ведь языком трындеть - не мешки ворочать. Ну а вон те работы работали как умели. Если вы думаете что смогли бы лучше - ну и где оно?! Бы - в этом мире не считается.
ничегонеделание - путь к нирване.Может бы, когда руки у погромистов зачесались переделать X11, налили бы им рюмочку и они задвинули идею с вяленым подальше ... М.б. тогда у нас был бы красивый, вылизанный X12 и никаких вяленых нытиков.
> ничегонеделание - путь к нирване.Значит фанатам нирваны прижется жить в мире с Wayland - а Xorg постепенно вымрет. Потому что желающих кодить Xorg не осталось. Даже баги фиксить уже некому.
> Может бы, когда руки у погромистов зачесались переделать X11, налили бы им
> рюмочку и они задвинули идею с вяленым подальше ...Довольно много кому надоела тормознутая, лагающая, дерганая графика без современных фич которые есть в других системах. И тут еще понятен повод повкалывать. К рюмочкам это отношения не имеет.
> М.б. тогда у нас был бы красивый, вылизанный X12 и никаких вяленых нытиков.
X12 был бы если бы кто-то смог изобразить нормальную архитектуру и заимплементить ее. И если бы это работало бы лучше - а не являло собой очередных более быстрых лошадей, когда Форд уже конвейер запустил.
Не очевидно? Если технология не имеет желающих ее поддерживать, то она умирает. При этом сама технология может быть хорошей.
Чтобы получить интерфейс на рабочем столе нормальными плавными анимациями без артефактов и вменяемым откликом.
Народ, а подскажите-ка мне дистрибутив, "искаропки" нативно работающий с вейландом, без всяких иксовых подпорок и прослоек. Хочу посмотреть что это за чудо. Есть такой?
вопрос некорректный, с вайлендом в принципе ничего не может работать
Зачем сразу дистр искаропки? Ведь Гном и КДЕ давно отчитались, что Вэйланд у них нативно работает.Лучше самому приготовить. Я например приготовил окружение на основе Sway WM. Работает стабильно.
1. Нужно именно исаропки -- настроенное, готовое к работе, чтобы можно было потыкать палочкой. Устанавливать ничего не хочу, т.к. пользоваться этим добровольно всё равно не буду.2. Тайловые WM не нужны.
> 1. Нужно именно исаропки -- настроенное, готовое к работе, чтобы можно было
> потыкать палочкой. Устанавливать ничего не хочу,Ну и будет тебе какая-нибудь гномощель, где авторы лучше тебя знают даже как твой ноут в спячку укладывать. Зато все готовое и ничего самому не надо. И таки более-менее работает. Даже с вэйландом.
> 2. Тайловые WM не нужны.
Да вообще-то их обладатели зачастую могут дать мастеркласс на тему эффективного man-machine interface. Эффективного - это не в 2 раза быстрее 200 файлов проклацывать, а автоматизировать, чтобы это все не требовалось и обрабатывалось бы машиной, с околонулевыми затратами времени.
Fedora, недавно пробовал в Live режиме
Буквально только что поставил федору с гномом -- никакого вейланда там в упор не вижу. чянд?
>никакого вейланда там в упор не вижу. чяндслепнешь, БРАТ, слепнешь...
А зачем там это:xorg-x11-server-common-1.20.14-21.fc38.x86_64
xorg-x11-server-Xorg-1.20.14-21.fc38.x86_64
xorg-x11-server-Xwayland-22.1.9-1.fc38.x86_64
xorg-x11-xauth-1.1.2-3.fc38.x86_64
xorg-x11-xinit-1.4.0-17.fc38.x86_64
а что, наличие этих пакетов в системе гарантирует, что гном запускается исключительно под иксами?а нужны они для того, чтобы такие вот легаси людишки как ты могли выбрать сессию с гномом на иксах в GDM
Другими словами, дистрибутива, работающего на чистом вейланде и без помощи иксов за полтора десятка лет так и не появилось... Ну что же, вопрос закрыт, всем спасибо.
Хоть в теме разберись!Wayland - протокол и на нем не возможно работать. Используют реализацию этого протокола, а их, кстати, несколько. Это раз.
В Fedora Workstation по умолчанию сессия с использованием протокола Wayland. Иксы же подгружаются для конкретных приложений, которые в данный момент поддерживают только их. Для этого используется xwayland. Если таких программ нет, то можно смело удалять иксы и ко. Это два.
Без иксов ничего не работает. Я уже понял, спасибо.
Без иксов не работает только софт не умеющий в вайланд, и такого софта становится все меньше и меньше.
У тебя небось видюха от невидии?
Ubuntu 22.04
>захват ввода в приложениях XWaylandПоследовательно переносят в вяленый всё то что критиковали в иксах. Отключения vsync уже протащили. Теперь вот можно будет сделать легендарный захват ввода диалоговым окном с последующим зависанием.
Ну а в конце, вишенкой на торте, реализуют сетевую прозрачность.
Уже есть waypipe.
Дык включенный vsync это такой же костыль, как и xorg, чисто прокладка для устаревших устройств отображения. Не всем приятны дополнительные 20 мс задержек для 60 Гц монитора ценой отсутствия тиринга. А еще vsync при малейшем перегрузе дропает время кадра в N-число раз, вместо просадки до 59 кадров прыгнет сразу на 30, 20, 15, и т.п. Нужны мониторы и протоколы с железом, способным работать от нуля герц, в android смартфонах, если не ошибаюсь, уже были представлены первые такие дисплеи.
vsync не нужон?) вот допустим у меня интерфейс в 3000 фпс (ну вот видеокарта моя так могет в 2d..).. ааш монитор отрисует столько? нет? а зачем я трачу ресурсы на 3000 кадров, если мне нужно столько сколько поддерживает мой монитор? (это VSYNC, алилуя..)
Ты уверен, что 60 фпс монитор не может отрисовать больше 60 фпс? При 3000 фпс на 60 фпс мониторе у тебя грубо говоря каждая отрисованная строка на мониторе будет актуальна, а не взятая с отрендериного 20 мс назад кадра. Грубо говоря, 60 Гц монитор может отрисовать половину экрана в 120 Гц, четверть в 240 Гц и так далее. Это ни коим образом не заменяет монитор с большей герцовкой, но дает ощущение меньшей задержки. Или геймеры такие тупые, и просто так лочат фпс на уровне в 2-3 раза выше чем фпс монитора?
> Ты уверен, что 60 фпс монитор не может отрисовать больше 60 фпс?Почитайте, как происходит передача кадра по HDMI/DVI, будете так же уверены.
> 60 Гц монитор может отрисовать половину экрана в 120 Гц,
> четверть в 240 Гц и так далее.Не может. А вот экранный буфер видеокарты может измениться в неподходящий момент в процессе передачи информации о кадре. Отсюда и дефекты изображения ("тиринг"), когда на экран попадают части от разных кадров.
Если успевать подавать монитору каждую новую строку, а не взятую со статичного кадра, то как раз будут 3000 фпс (между соседними строками). А как с черестрочного 30 Гц видео делается 60 Гц прогрессивное вам тоже не знакомо? А как же роллинг шатер в фотокамерах?
> Если успевать подавать монитору каждую новую строку, а не взятую со статичного
> кадра, то как раз будут 3000 фпс (между соседними строками).Куда именно в монитор Вы её подавать собрались, в "вон тот провод"? Монитору требуется знать, в каком месте экрана отображать эту строку. Для чего и служат сигналы кадровой и строчной синхронизации. Без них придётся передавать номера строк, что повлечёт смену формата передачи данных и увеличит их объём.
Ещё раз - читайте описание протокола и в дополнение про VRR (FreeSync и т.п.), что частично решает вопрос с FPS.
> как с черестрочного 30 Гц видео делается 60 Гц прогрессивное вам
> тоже не знакомо?В отличие от Вас, мне знакомо даже как на бордюре Спектрума рисовать.
> А как же роллинг шатер в фотокамерах?
А это аж два приёма демагогии: "доказательство по аналогии" и "переложить бремя доказательства на оппонента".
> Если успевать подавать монитору каждую новую строку, а не взятую со статичного
> кадра, то как раз будут 3000 фпс (между соседними строками). А
> как с черестрочного 30 Гц видео делается 60 Гц прогрессивное вам
> тоже не знакомо? А как же роллинг шатер в фотокамерах?Вы гоните, имхо. Display Controller 60 раз в секунду берет фреймбуфер и начинает синтез протокола и таймингов. В случае CRT это летело в DAC'и. В parallel RGB - DAC'и убрали и данные полетели по проводам как есть (у ряда LCD панелей вот такой интерфейс "нативно"). В комповый монитор 24 или сколько там линий было непрактично тянуть. И туда летит сериализованная версия вот этого. Иногда с разбивкой на 2 lanes (dual-link DVI). HDMI является DVI с одним набором дифференциальных линий и другим разъемом.
LVDS в ноутах примерно то же по смыслу, но электрически эти дифференциальные линии иные чем в DVI/HDMI и lanes может быть более 1-2, вплоть до 4, чтоли. Структура протокола и таймингов однако подразумевает полный кадр, по сути "в стиле CRT". Хоть всякие h/v sync и пустые регионы и не нужны физически, есть определенная польза: во время V-blank самое время заполнить буфер кадра или переключить регион памяти на другой, с подготовленной картинкой ("page flip" при двойной буферизации).
А вот всякие DisplayPort уже несколько более продвинутые штуки. И там в провод летят таки пакеты, но вообще, их тайминги более-менее повторяют вон то. Потому что у LCD такого размера нет своей памяти - и картинка держится лишь потому что ячейка держит заряд до следующего фрейма. Это накладывает определенные лимиты на рефреш "всей площади". Тем не менее эти лимиты не такие уж и жесткие и возможны нестандартные FPS (например старый HDMI можно пюзать как 4K@30FPS вместо 1080p@60FPS) - или даже переменный FPS как это в FreeSync реализовано, чтобы дать GPU закончить рендер фрейма до того как слать его в провод, даже если он и не успевает к фиксированным таймингам. Сие позволяет рисовать без тиринга даже если в тайминги не уложились. Тем не менее, это не доступ к конкретным строкам в любой момент времени.
И кстати у камер интерфейс обычно выдает примерно такой же сигнал с такими же таймингами, только источник и назначение инвертированы. И FPS там как правило подразумевается фиксированный, а скан конкретных строк быстрее чем остального не предусмотрен. FPS может зависеть от разрешения - с одними и теми же фундаментальными таймингами битов передать 320x240 получается быстрее чем 1920x1080 и как таковой FPS в допущении что шина всегда работает без idle может быть выше. В случае дисплеев они обычно работают близко к топовой возможности линка, или же электроники дисплея, но фокусы типа 4K@30FPS намекают что да, это до некоторой степени можно переигрывать. Но ни там ни там нет доступов в конкретные строки, как максимум программируется регион/разрешение, а шина не станет работать быстрее ее характерных таймингов. Ну а rolling shutter как таковой внутреннее дело камеры как оно там реализует сканирование своей матрицы.
Посмотрите пример видео с роллинг шаттером, 30 фпс видео выглядит гораздо плавнее чем 30 фпс без роллинг шаттера, именно из за роллинг шаттера достигается эффект большего фпс, конечно же ценой искажений изображения. С монитором абсолютно те же процессы, тиринг это тот же роллинг шаттер, чем больше фпс выдает видеокарта, тем больше в одном кадре становится разрывов, и эффект всё ближе к роллинг шаттеру. Разница в плавности на 60 Гц мониторе, если отрендерить ему 120 кадров с тирингом - огромна, не заметить её невозможно. Выше 240 Гц уже нету смысла, это уже 4 мс задержка, дальнейшее понижение будет просто незаметно.
> Посмотрите пример видео с роллинг шаттером, 30 фпс видео выглядит гораздо плавнее
> чем 30 фпс без роллинг шаттера, именно из за роллинг шаттераВ конечном итоге 30 FPS это 30FPS - максимум 30 разных картинок каждую секунду. Они вообще совсем никак не станут 60, или сколько там. Прямо на уровне потока с камеры по щине - идет очередной кадр, строка за строкой, и так пока весь кадр не улетит в провод. Потом начинается новый. И FPS такой какой есть. Как кадр формировался внутри чипа - вопрос номер два, сие может влиять на некоторые артефакты, но добавить число кадров в секунду - это как?
> достигается эффект большего фпс, конечно же ценой искажений изображения.FPS камеры чаще всего ограничен шиной и потоком данных/таймингами - особенно на жирных матрицах. Можно поменьше картинку и FPS повыше, или побольше картинку и FPS пониже. Выше возможностей шины не прыгнешь. У мониторов однако электроника обычно не готова жрать FPS более энного, заявленного как максимальный/нативный т.к. это еще и тайминги рефреша LCD матрицы заодно, они не могут быть бесконечные. Можно немного придержать эти тайминги в сторону замедления и обычно за это ничего не будет - но это все. А какой нибудь 320x240 хардварно апскейлится в полный размер матрицы, хоть там как, и тот лимит в силе.
> С монитором абсолютно те же процессы, тиринг это тот же роллинг шаттер,
Тиринг - это когда вы слали буфер кадра в провод, по вон тем таймингам, и тут в процессе действа в буфер прилетела новая картинка. Так что в провод улетела половина старого и половина нового кадра. Возможны разные варианты, в зависимости от скорости writer'а vs скорость scanout. Может как writer обогнать отрисовку, так и отрисовка обогнать writer'а. В обоих случаях в провод летит часть старого и часть нового кадра.
Есть технологии достаточно радикально лечащие это, скажем page flip. Это когда буферов два, и writer рисует в неактивный буфер, а железка рисует активный. Потом - как правило в V-blank драйвер переключает указатель на фреймбуфер железке, и та рисует из второго буфера. А первый отдается writer'у. Недостатками является повышенный лаг и нужда чтобы софт который writer мог в достаточно прецизионные тайминги - с чем у иксов до сих пор проблемы, они под такое не делались.
> чем больше фпс выдает видеокарта, тем больше в одном кадре становится разрывов,
...потому что writer (например GPU завершивший рендер) переписывает буфер аж несколько раз за время передачи кадра в провод. Поэтому то что пришло в дисплей состоит из кусочков нескольких кадров, с разрывом в месте где writer догнал позицию scanout на данный момент - ведь кадры выглядели по разному.
> и эффект всё ближе к роллинг шаттеру. Разница в плавности на
> 60 Гц мониторе, если отрендерить ему 120 кадров с тирингом -
> огромна, не заметить её невозможно. Выше 240 Гц уже нету смысла,
> это уже 4 мс задержка, дальнейшее понижение будет просто незаметно.А таки FPS хотят лишь потому что движки ввод и сеть обрабатывают с привязкой к времянкам кадров. Это не очень умное и эффективное решение но переделывать кучу движков никто не хочет. Это обрекает желающих FPS выше мониторного на тиринг. Ну как, если writer догоняет и обгоняет scanout?
> Не может. А вот экранный буфер видеокарты может измениться в неподходящий момент
> в процессе передачи информации о кадре. Отсюда и дефекты изображения ("тиринг"),
> когда на экран попадают части от разных кадров.Геймерам похрен - "зато латенси обработчи событий ниже". В том числе и ввода и его отправки на сервер. Особенность ряда игровых движков такая - считать все и вся в привязке к кадрам. В этом месте правильный wayland встает на пути не совсем правильного - но существующего - и довольно распостраненного - легаси. По уму конечно стоило бы движки переписать, но переписать игровое двигло с цатилетней историей дело ни разу не простое. И вот тут игроки заметили определенный подвох.
А если современная графическая подсистема клещится с реально существующими играми - упс, так быть не должно. Ну и вот появляются странные расширения позволяющие испортить картинку, если FPS важнее. И да, в провод оно полетит черти-как при этом, но игроманам FPS важнее, чтобы хедшот на миллисекунду раньше противника навесить. Ведь кто первый выстрелил и не промазал тот и прав.
> Отключения vsync уже протащили.Это для гамес обсчитывающих все с привязкой к кадрам. Геймеры хотят 500+FPS и ниипет, чтобы еще несколько миллисекунд лага убавить. Актуально для всяких любителей шутеров с крутым шмотом и мощной системой, желающим в топе чарта быть.
А когда добавят принтсервер и сервер шрифтов? В иксах вот есть, отличная оконная система, а в вейланде нет
>> В иксах вот естьУже давно её там нет, с разморозкой.
Протокола, позволяющего расшаривать в каком-нибудь зуме отдельно взятое окно (а не весь экран) у них в планах нет? Едва ли не единственное что мешает мне окончательно выбросить иксы.
пока нет. но ты жди...
> Протокола, позволяющего расшаривать в каком-нибудь зуме отдельно взятое окно
> (а не весь экран) у них в планах нет?KVM :))). Заодно и файлы кроме как с своей виртуалки стырить не сможет.
Конечно, сможет. Ты всё не так понял, там было про KVM switch. Это аппаратная приблуда.
> Конечно, сможет. Ты всё не так понял, там было про KVM switch. Это аппаратная приблуда.Я про подсистему виртуализации KVM. Спереть через виртуалку файло с хоста можно только если вы сами это сдуру позволите. И его окна тоже не видно.
Еще можно кормить зумоту и прочий шит виртуальной камерой. Для софта она как настоящая, только источником данных воооон тот файл.
Программа детектит виртуализацию и дальше делает всё что хочет на хосте, её никто не остановит. Тут безопаснее запускать сразу на хосте, хоть как-то контролировать поведение можно, да и сесурити хоста обычно повыше. Виртуалки это очень опасная тема, не только стырит, но и бэкдор в биос прошьёт. Кстати, это всё не теория.
> Программа детектит виртуализацию и дальшеЕсли вообще детектит. Гипервизор может показывать гуесту что хочет. Особенно если сорц есть.
> делает всё что хочет на хосте, её никто не остановит.
Агащас. У меня VM сконфигурены так что доступ к ресурсам хоста минимальный, только то что нужно для задачи, ничего лишнего.
> Тут безопаснее запускать сразу на хосте,
А свобода это рабство, видимо.
> хоть как-то контролировать поведение можно,
Виртуализатор дает более крутой контроль. VM даже с недружественным кернелом (!!!) напакостить не может, не то что апликухой. Абстракция такая: гуест не имеет привилегированого доступа в хост. Даже если выглядит как будто это работает, это лишь фикция под арбитражем гипервизора. На самом деле эксепшн в непривилегированой программе + эмуляция гипервизором что якобы-прокатило.
А бонсуом у меня есть god-mode debugger. Я на уровень выше кернела VM. Могу остановить их на время. Пошагово пощелкать. Память сдампить или пропатчить. Типа жытага, только силами гипервизора. Даже если кернел виртуалки помер, виртуализатор дебаг-хост реализует сам, это пофиг. Контроля при этом более чем. Я над кернелами ОСей...
> да и сесурити хоста обычно повыше.
С чего? Если недружественная программа нанесет урон системе в VM, это затронет только виртуалку с ней. А если хосту - все что там было.
Вот вы видите меня. А на самом деле контейнер. Показывающий браузуеру иной системный view, в нем только Downloads и есть. Так что сломав браузер сможете спереть аж недавние даунлоады. Они из интернета слиты, смысла возиться нет. А больше ничего и нет.
Если допустить что вы сможете прошибить кернел (гуеста) и обойти тот контейнер, вы обнаружите что это "VM для запуска браузера". Ее доступ к хосту ограничен счетом, RAM, показом картинок и оооочнь маргинальным доступом в сеть. Очень интересно как вы собираетесь хост с нее долбануть. Теоретически, в гипервизоре тоже могут быть баги, но теперь это все же 2 барьера изоляции и арбитража а не 1.
> Виртуалки это очень опасная тема, не только стырит, но и бэкдор в биос прошьёт.
Каким бы чудом? Для этого ну вот например тут надо пробить сперва контейнер и кернел виртуалки, потом гипервизор. Кстати, даже если чисто теоретически допустить что вы сможете пробить гипервизор эскалировав с гуеста в хост, вас будет ждать интересный сюрприз. Не, BIOS не перешьется.
Даже прошивалка легитимно пущеная на хосте от рута - выкуривает бамбук. Знакомьтесь, режим Lockdown. Он не дает физическую память трогать даже руту. И вот вам а не перешивка соответственно. И ключи подписи модулей ядра - вот лично мои. И настроено так что отключается не в раз не тривиально и незаметно не выйдет. Это _моя_ система. Она работает на _меня_.
> Кстати, это всё не теория.
Хотите поучить капитана звездного крейсера правильной конфигурации силовых щитов в его кастомном дизайне? Удачи. Но эта штука таки выдерживает довольно жесткий й0пс. Просто потому что я сам умею в атаки. А потому неплохо понимаю от чего и почему защищаюсь.
SMM передаёт привет любителю изоляции через виртуализацию. Ну а вообще, о чём ты говоришь, если даже qubes os регулярно ёкают хорошенько? Посмотри, как используют виртуализацию инженеры антивирусных компаний. Какой-нибудь Bochs берут, да, но не будешь же ты его использовать для реального ПО. Изоляция на хосте не существует, если тебе пробили виртуалку (чаще всего через кривые дровишки криво сэмулированного железа) и у гипервизора слишком много прав. Рут не понадобится, если уже есть полный доступ к оборудованию (например, изоляция шин только недавно начала входить в тренд, когда понадобилось DRM железо и возможность прикрывать трояны от атак).
> SMM передаёт привет любителю изоляции через виртуализацию.1) Внезапно, SMM в виртуалках - виртуальный! Более того - у меня и тот BIOS опенсорсный, так что его обработчик виртуального SMM при желании и пропатчить можно. Правда, смысла особо нет.
2) Хостовый SMM вообще не особо в курсе насчет виртуалок, он для хоста работает, арбитраж виртуалок ни разу не по его части.
3) Если вы про то что гипервизор может поиметь виртуалку, вызвав виртуальный SMM... он и так арбитрировал все доступы и мог иметь ее более 9000 иных способов. Ну вот например поменяв ее RAM по своей инициативе, поставив на паузу, сменив состояние vCPU. См выше про god mode debugger, он следствие фич гипервизора. Отношения такие же как кернел vs юзермод. Ну вот линукскернел подпихивает прогам виртуальный DSO для ускорения некоторых вызовов. По сути хакая программу. Гипервизор может так же, относительно кернела, но там абстракции низкоуровневее.
4) И кстати что такое SMM на вооооое том ARM или RISCV? В их терминологии вообще нет этого понятия. Поэтому вы при всем желании не сможете там SMM# дернуть.
> Ну а вообще, о чём ты говоришь, если даже qubes os регулярно ёкают хорошенько?
Я говорю о том что у меня кастомная структура подобного плана разумеется :). И один из пойнтов заморочиться это как раз усиление безопасности и минимизация урона. Типа задраиваемых переборок на корабле. Чтобы 1 пробоина не была фатальной.
> Посмотри, как используют виртуализацию инженеры антивирусных компаний.
Мои дизайны шли по той же дороге но прошли этот путь дальше.
> Какой-нибудь Bochs берут, да, но не будешь же ты его использовать для реального ПО.
Я могу и поинтереснее. Можете попробовать сломать вот этот RISCV или ARM, при том что он из x86 синтезирован. Добро пожаловать в мир бесконечных абстракций. А вон та камера в принципе может быть довольно точной эмуляцией, если я линух на одноплатнике попрошу вывесить класс UVC на OTG интерфейсе, это отличить от любой другой камеры станет напряжно. Ну вот например у меня "сетевая карта" от "длинка". Правда на самом деле это конечно одноплатник с usb косит под usb-ethernet адаптер :). Очень умный адаптер - имеющий свое мнение что, кому и почему можно.
> Изоляция на хосте не существует, если тебе пробили виртуалку (чаще всего через
> кривые дровишки криво сэмулированного железа)Проблемы драйверов гуеста не выходят за проблемы гуеста. Гипервизор оперирует иными абстракциями. Сейчас таковой вообще virtio часто бывает, при этом гуест таки знает что это виртуальная штука и может сильно более короткий маршрут использовать - не эмулируя железки от и до на уровне регистров. Через этот интерфейс нанесение урона хосту не предусмотрено, а гуест как бы не знает как это на уровне бэкэнда вообще реализовано. Вы видите virtio-blk какой - но понятия не имеете как оно там на хосте реально рюхается. Может быть дюжина вариантов чем это было на самом деле.
> и у гипервизора слишком много прав.
У него by design прав "больше чем у кернела VM". Тем не менее, его абстракции простые, низкоуровневые, и хотя в этом тоже можно облажаться, но во первых это случается довольно редко, а во вторых это второй уровень изоляции "над кернелом" его отсутствие с полной халявой для атакующего не может быть фичой.
> Рут не понадобится, если уже есть полный доступ к оборудованию (например,
> изоляция шин только недавно начала входить в тренд, когда понадобилось DRM
> железо и возможность прикрывать трояны от атак).У меня реальное железо в общем случае не вывешивается в виртуалки, так что и изолировать его не требуется. Виртуалкам вообще не видна конкретика железа хоста. Они даже на x86 проц получают
$ cat /proc/cpuinfo
processor : 0
...
model name : Common KVM processor
Ну вот такой вот процессор. Да, конечно, сильно замороченный софт по нему может догадаться что это VM. Но можно и поменять - в qemu длиииинный список процов которые можно вывесить гуесту.
А через вложенный Weston не получится?
С разморозкой https://ibb.co/YDZWp96 :)
Управления своими окнами как не было, так и нет.
Пользуюсь случаем срача по поводу wayland, скажу.
Сегодняшняя ситуация, когда всё комьюнити линухолюбов сидит в огромной яме между объявленным небезопасным, не поддерживаемым создателями X11 и сырым, малоподдерживаемым кем либо(включая вендоров некоторых карточек) wayland, считаю провалом со всех сторон.
А что самое смешное, юзеры использующие wayland(такие как я), в 90% случаях всё равно используют x11 через то или иное приложение, которое пришлось запустить в xwayland режиме
Хоть в криоген себя окунай на 10-15лет, чтобы избавить себя от этой дилемы выбора
>Хоть в криоген себя окунай на 10-15летТема интересная. Уверен, что на 10-15 лет - это мало. Проснувшись, вы не заметите никаких изменений. Усните хотя-бы на 50 лет и тогда, когда проснётесь, поймёте, что никто уже просто не в теме.
А может просто CreateWindowEx? :)) Зачем изобретать заведомо overengineered хрень, когда можно сделать СНАЧАЛА протокол для людей (с их локалхостным Линуксом) и потом уже корпорасты будут лепить свои гиперпротоколы а-ля X11?
> А может просто CreateWindowEx? :))Легко. Ставите WinE и вызываете CreateWindowEx(). При том какой там по факту бэкэнд вообще не ваша проблема.
> Зачем изобретать заведомо overengineered хрень, когда можно сделать СНАЧАЛА протокол для
> людей (с их локалхостным Линуксом) и потом уже корпорасты будут лепить свои
> гиперпротоколы а-ля X11?Вэйланд примерно так и сделан. Проблема в том что вот как раз для локалхостной графики требования стали очень даже. Погодите, скоро еще и Chromecast какой-нибудь захотят. Это то как сетевая прозрачность случается в современном мире. А та #$%нутая блевотина которая на эту тему есть в иксах - мало кому в таком виде нужна, кукуйте.
Простите, у меня тут был большой перерыв в посещении данного сайта. Так вот я хочу снова спросить: Линукс.., то есть, Вейлянд уже готов для десктопа?
Даже в отстающем во всем Дебиане используется по дефолту.
Путаешь дистрибутив и гном?
Нет. Дефолтное ДЕ в Дебиане это Гном.
В планы бы рескалинг
У меня есть ноут с 2 выходами Type C для 2х мониторов 49" и 27". Подключаю их, закрываю ноут и ставлю в подставку. Все работает хорошо но вот одно условие - отключение мониторов с последующим открытием ноута и проверки окон на своих виртуальных рабочих столов, приводит Wayland в замешательство. Теперь поглубже, подключаем обратно оба монитора и ставим ноут на подставку - все еще хуже. С такими вещами может справиться только X11, это факт. Поэтому еще нужно выпить несколько контейнеров смузи, прежде чем заявлять про замену иксов.
Багрепорт запили. У меня с одним дополнительным монитором таких проблем нет.
Да мне еще нужен шаринг экрана а у Wayland с этим большие проблемы.
У вайланда нет проблем с шарингом экрана, если бы ты им действительно пользовался то ты бы это знал. Все успешно шариться через порталы.