LINUX.ORG.RU
ФорумTalks

Почему иксы будут существовать еще 10 лет, или главная ошибка всех замен X.org

 , ,


0

3

Berlin/Fresco, Y Window System, Wayland, Mir наступили на одни и те же грабли- ни одна замена иксов не является единым целым, как иксы.

  • Иксы - это единое отлаженное целое, работающее сегодня и не требующее лишних ковыряний в системе и костылей.
  • Mir - это иксы без нормального объектно-ориентированного программирования, в результате чего, кроме юнити, оказалось на него ничего не будет, почему Mir и был закопан.
  • Wayland- это без нормальной поддержки оборудования, в результате чего Wayland работает только в Raspbian 9, и то его там не спешат, в отличие от некоторых ставить как дефолт.
  • Y Window System - еще одна попытка выкинуть иксы - никому не нужна, поскольку ее написал студент. А кто такой студент-одиночка в современном мире? Ему можно доверять?
  • Fresco - еще одна попытка выкинуть иксы и тоже R.I.P- никому не нужна, по причине того что это еще одна вариация иксов с сетевой прозрачностью.

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

★★

Последнее исправление: Lowes (всего исправлений: 4)
Ответ на: комментарий от Sunderland93

С чего оно допотопное?

А с чего иксы допотопные? Отличный, современный графический сервер.

Ещё раз - с чего ты решил что гибридное ядро лучше?

С того, что Windows и MacOS на гибридном ядре.

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

Не всем нужен плавный скроллинг.

---

Парочка характерных преимуществ Wayland

«Каждый кадр будет идеальным». Каждый кадр будет представлен в правильном порядке (возможен сброс лишних кадров, но вы не получите кадр 199, затем 205, а затем 200 оттого, что сервер извлёк их в произвольном порядке. Каждый кадр имеет свой timestamp.)

Не всем нужно отсутствие тиринга.

Некоторые заблуждения в плане X и Wayland.

«В X есть сетевая прозрачность» — её нет. Базовый протокол X и DRI-1 имели сетевую прозрачность, но никто не использует ни то, ни другое. Shared-memory, DRI2 и DRI-3000 не имеют сетевой прозрачности и не работают по сети. В наше время X превратился в синхронный, плохо сделанный VNC. Если бы он был плохо сделанным асинхронным VNC, то может быть мы бы и заставили его работать. Но он не такой: XLib синхронная, а переход на XCB медленный, что делает передачу по сети настоящим кошмаром.

«Вейланд не умеет в удалённый доступ» — умеет, и должен справиться с этой задачей лучше чем X, отчасти из-за асинхронности протокола. Скорее всего Wayland станет высокопроизводительной версией VNC, и прототип уже есть. Причём мы ещё ни разу не давали идей по его улучшению, и скорее всего сможем сделать его лучше, если приложим усилия.

Не всем нужна нормальная сетевая прозрачность.

Недостатки X

X имеет четыре подсистемы ввода: базовый протокол X11, Xinput 1.0, Xinput 2.0, Xinput 2.2. Xinput 1.0 канул в Лету, но оставшиеся три остаются взаимосвязанными. Daniel Stone описал это так: «Есть всего три человека, которые действительно понимают, как подсистемы ввода уживаются вместе... И я бы хотел не быть одним из них».

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

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

а допотопное монолитное ядро в пользу гибридного, как у Windows и MacOS - нет?

Что именно тебе так сильно надо вынести в юзерспейс?

ls-h ★★★★★
()
Ответ на: комментарий от Lowes

Отличный, современный графический сервер.

Ох и толстый же ты.

Ещё раз - с чего ты решил что гибридное ядро лучше?

С того, что Windows и MacOS на гибридном ядре.

Всё с тобой и так понятно, ты ещё по прошлым тредам показал свою адекватность. Извиняй, но мне пора приниматься за работу. Но спасибо за весёлый тред, я хоть поржал))

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

Задай этот вопрос лично Линусу

Ну раз уж осовременивать, так начинать с ядра. Ибо рыба гниет с головы.

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

Ну Hurd ещё строится. Так что взлетать ему пока рано.

Мы песком будем сыпать, а Столлман будет в мавзолее лежать, когда оно построится.

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

BSD - это семейство Unix. Но никак не GNU/Linux.

И у *BSD и у GNU/Linux'а одна и таже архитектура как на той схеме.

Кто все эти дистрибутивы?

Free/Open Source Operating systems without systemd in the default installation

GNU/Linux distributions

     * 0Linux (SysVinit)
     * 4MLinux (BusyBox)
     * Absolute Linux
     * AgiliaLinux (formerly MOPSLinux)
     * Alpine Linux (BusyBox/OpenRC)
     * Amazon Linux AMI
     * antiX antiX includes powerful remastering and persistence tools. JWM+iceWM+fluxbox WMs preinstalled
     * Arch OpenRC An Arch Linux OpenRC ISO (and its assorted openrc-specific repos)
     * ArchBang (Arch Linux based lightweight distro using OpenRC)
     * AUSTRUMI (Slackware based bootable live CD, to be run from RAM)
     * Calculate Linux (Gentoo based using OpenRC)
     * ConnochaetOS
     * Crux
     * DeLi(cate) Linux (legacy hardware)
     * Devil-Linux live, firewall distro
     * Devuan
     * Dragora GNU/Linux Libre
     * Elive Linux
     * Exe GNU/Linux
     * Finnix (Debian based lightweight live CD using SysVinit)
     * Funtoo Linux (Using OpenRC)
     * Gentoo Linux
          + While an option is provided to install systemd for those that want it, the default init system in
            Gentoo Linux as of May 2015 is OpenRC. If Portage is pulling in systemd, please read this Gentoo wiki
            article before removing Gentoo from this list. Other suggested reading, [1]
     * gNewSense GNU/Linux
     * GNUinos Libre distro based on Devuan
     * GoboLinux
          + Uses sysvinit + BootScripts. Nice approach to sysvinit!
     * Grml Live Linux
     * GuixSD
     * Kwort Linux
     * Leenux
     * LinuxBBQ
     * Linux from Scratch
     * Linux Console (Lightweight distribution for children and kids)
     * Manjaro OpenRC Forum Wiki
     * Milis Linux based on LFS , Milis Isletim Sistemi (Turkish distro)
     * MiyoLinux (make-it-your-own) Devuan+Refracta+Openbox minimal base system
     * MX Linux ships XFCE desktop; includes antiX remastering n persistence tools
     * NuTyX based on Linux From Scratch
     * Obarun (Arch based booting Runit or S6)
     * Openwall GNU/*/Linux (Owl)
     * Overclockix (architecture: i386, x86_64) based on Debian stable. Project forum @overclockers.com
     * Parted Magic
     * PCLinuxOS
     * Pentoo (Gentoo based security-focused live CD)
     * Pisi Linux (sysvinit + python init scripts)
     * Plamo Linux japanese distro, based on slackware
     * Porteus (Slackware based lightweight modular live CD/USB)
     * Porteus Kiosk (Gentoo based lightweight kiosk using BusyBox)
     * Puppy Linux
     * Puer Linux
     * Refracta
     * RLSD
     * Sabotage Linux
     * Salix
     * Simplicity Linux (Puppy Linux based with LXDE using SysVinit)
     * Slackel
     * Slackware
     * Slax
     * SliTaz (Lightweight live CD/USB using BusyBox/SysVinit)
     * Source Mage GNU/Linux
     * Spark Linux
     * sta.li
     * Star Linux ships Xfce, Fluxbox, Openbox, Jwm, i3
     * SystemRescueCd (Gentoo/OpenRC based system rescue disk)
     * Tiny Core Linux
     * TLD Linux
     * TRIOS Linux (Live, based on Debian jessie, XFCE, rEFInd, OpenRC init, very stable, iso images)
     * Unity Linux (MUSL, OpenRC, BusyBox, RPM5, and YUM)
     * Univention Corporate Server
     * Vector Linux
     * Void Linux (runit, xbps)
     * Volumio (architecture: armhf)
     * wifislax
     * Zenwalk

Кому они нужны?

Много кому.

И что что в Debian он остался?

Ну так его юзеры могут ставить именно sysvinit.

Вангую что в Fedora 30 иксы выкинут из репов.

Ну-ну.

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

Что осовременивать? Тебе уже было сказано, что линакс постоянно совершенствуется. Если ты имел ввиду архитектуру ядра, то тогда тоже огорчу: микроядерная и гибридная архитектуры не такие уж и современные, даже совсем.

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

Ты хоть в курсе кто Linux пилит, а?)) Ему до стадии гниения ещё как раком до Луны.

Как и иксам, и иниту, и Gnome 2/ KDE 3.

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

микроядерная и гибридная архитектуры не такие уж и современные, даже совсем.

Но уж во всяком случае современнее допотопной монолитной архитектуры.

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

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

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

А чем так хорошо допотопное монолитное ядро?

Есть, например, FUSE. Ещё есть Linux UIO. Какой гибридности тебе не хватает?

ls-h ★★★★★
()
Ответ на: комментарий от Lowes

А какая разница? Ядро это ядро. Его задача — абстрагировать железяки от софта. Линукс выполняет это задачу? Выполняет.

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

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

Это к тому, что замшелость есть не только у иксов. В дистрибутивах Linux все замшелое, включая ядро.

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

Монолитные ядра требуют перекомпиляции при любом изменении состава оборудования. Поэтому в них пихают все подряд. Монолитность ядер усложняет их отладку, понимание кода ядра, добавление новых функций и возможностей, удаление «мёртвого», ненужного, унаследованного от предыдущих версий кода. «Разбухание» кода монолитных ядер также повышает требования к объёму оперативной памяти, требуемому для функционирования ядра ОС.

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

Насчёт безграничной расширяемости Wayland, если в сравнении с X - это ложь, чистой воды. Они в этом смысле как близнецы братья, вообще-то. Оба чисто протокол. И оба наступают на такие грабли - со временем количество расширений растёт, уже устоялось что используется потребителями, то есть по сути происходит заморозка api. Далее просто городить расширения без опасности сломать всё нахрен или без опасности - это никому не нужно и не будут использоваться, уже не выйдет.

Разница здесь только двух вещах: X как протокол изначально разрабатывался как учитывающий самые разные платформы, а не только как тупо композитор и X просто банально старее, то есть мы уже видим что сейчас какие-то его части не нужны, но тоже самое будет с вяленым через 10 лет, это вообще естественно для любого софта. И тут решение заключается не в переизобретении, а в отсекании того что не используется и запиливании того что нужно. В этом смысле всю работу можно было проделать в рамках X, если уж очень нужно, можно было форкнуть x org, порешить там всё legacy и тд.

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

Монолитные ядра требуют перекомпиляции при любом изменении состава оборудования.

Про модули ты не в курсе, да?

ls-h ★★★★★
()
Ответ на: комментарий от xoraby

федорка вон выкинула уже

Брехать — не мешки ворочать.

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

В Windows же оконная система реализована крайне хреново, из-за чего можно словить неиллюзорные проблемы даже простым Alt+TAB.

Чего для этого сделать?

ls-h ★★★★★
()
Ответ на: комментарий от saahriktu

По-моему лучше меньше кадров. В идеале достаточно вообще 2 кадра:

И как иксы помогают в этом? Что мешает отрисовывать 2 кадра под вэйландом?

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

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

А чем так хорошо допотопное монолитное ядро?

Ты так и не ответил, что именно надо сделать гибридным. Скучно с тобой.

ls-h ★★★★★
()
Ответ на: комментарий от Lowes

См. картинку

Не вижу тут драйверов в режиме пользователя. Разные подсистемы сделать в режиме пользователя?

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

Разные подсистемы сделать в режиме пользователя?

Да.

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

А все же - зачем в 2017 году допотопное монолитное ядро?

Это самое монолитное ядро работает значительно быстрее микроядерных. Гибридность - это некий компромисс между скоростью и надёжностью. Учитывая, что макоси на серверах нет вообще, а винсерверов дальше внутрисетевых не видать, то с надёжностью у линукса всё в порядке.

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

Ivan_qrt ★★★★★
()

Срач-срачем, но мне интересно, когда будет сетевая прозрачность на уровне тулкитов (где ей и место)?

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

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

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

А никто в этом контексте не говорил ни про иксы, ни про вейланд. Было конкретное утверждение, что не всем нужен плавный скроллинг. А под чем конкретно он не нужен - это уже другой вопрос.

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

Срач-срачем, но мне интересно, когда будет сетевая прозрачность на уровне тулкитов (где ей и место)?

Так уже есть GTK Broadway. У Qt тоже что-то такое было, не помню названия.

ls-h ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Учитывая, что макоси на серверах нет вообще, а винсерверов дальше внутрисетевых не видать, то с надёжностью у линукса всё в порядке.

Сервера - не очень удачный пример. Для пускалки Apache/PHP действительно, чем меньше она умеет, тем лучше. Но с Workstation подход - один ПК - одна задача не пойдет.

Lowes ★★
() автор топика
Ответ на: комментарий от ls-h

FUSE

У нас недостаточно переключений контекста, нам нужно больше переключений контекста!

Shadow ★★★★★
()
Ответ на: комментарий от ls-h

Реально круто-же! Жалко что оно не особо доработано.

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

Монолитные ядра требуют перекомпиляции при любом изменении состава оборудования.

Это, так называемая, ложь. Причём сознательная.

Монолитность ядер усложняет их отладку, понимание кода ядра, добавление новых функций и возможностей, удаление «мёртвого», ненужного, унаследованного от предыдущих версий кода. «Разбухание» кода монолитных ядер также повышает требования к объёму оперативной памяти, требуемому для функционирования ядра ОС.

А это всё зависит не от того, в одном адресном пространстве все модули, или нет, а от архитектора проекта. И у линукса с этим всё отлично.

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

Это, так называемая, ложь. Причём сознательная.

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

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

В гибридном ядре вы просто устанавливайте свежий драйвер с диска и не перекомпилируйте его.


Как-бы в линуксах я так-же делаю.
Разве что может понадобиться перезапуск или rmmod+insmod

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

Ты думаешь, отсутствие необходимости перекомпиляции драйвера вызвано гибридной архитектурой ядра, а не там стабильностью API и ABI? В Шинде совместимость со старыми ОС всегда ценилось, API драйверов не сильно менялось со времён Windows NT 3.1, да и мажорные версии ядра выходят вместе с новым выпуском ОС. В люнексе никто также не запрещает тебе поставить бинарь драйвера на другую систему в пределах мажорного релиза.

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

Сервера - не очень удачный пример.

Противоречит нужным тебе выводам? На серверах надёжность ядра необходима.

Но с Workstation подход - один ПК - одна задача не пойдет.

И монолитные ядра с многозадачностью справляются на ура.

Ivan_qrt ★★★★★
()

какая голимая демагогия

Иксы - это единое отлаженное целое,

ага, а решетные баги в них это типа фичи были. иксы это склад ненужного говна вроде xrender и glx(привет legacy DRI2).

Mir - это иксы без нормального объектно-ориентированного программирования

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

Wayland- это без нормальной поддержки оборудования, в результате чего Wayland работает только в Raspbian 9,

УМВР, ЧЯДНТ?

Y Window System - блаблаблаблабла

блаблаблаблабла. голимая демагогия. линукс написал студент, если что

предлагаю автора забанить и поставить ему клизму со скипидаром

ckotinko ☆☆☆
()
Ответ на: комментарий от Ivan_qrt

Противоречит нужным тебе выводам? На серверах надёжность ядра необходима.

Нет, потому что сервер - не дескоп, и ему функционала монолитного ядра может и достаточно. Но это не про многофункциональный Workstation.

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

Монолитные ядра требуют перекомпиляции при любом изменении состава оборудования.

Ты этот бред когда придумал?

«Разбухание» кода монолитных ядер также повышает требования к объёму оперативной памяти, требуемому для функционирования ядра ОС.

Ну и сколько ОЗУ требуется для функционирования разбухшего ядра Linux в 2017 году?

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

API драйверов не сильно менялось со времён Windows NT 3.1

ты зачем врёшь здесь?

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