LINUX.ORG.RU
ФорумTalks

[вещества] А что должны уметь иксы?

 


0

0

Представим, что в мире существует только один графический чип, эдакое inviati, кроме которого ничего не существует. Драйвер сообщество осилило (полное 2D+3D), устройств ввода тоже мало (мышка, клава, тачскрин), но тоже все интерфейсы унифицированы. Удаленный доступ осуществляется через простую сериализацию фреймбуффера и событий, расшаривание дополнительных устройств что-то вроде cat /dev/events | grep mouseEvent | gzip -9 | netcat remotehost:12345

Вопрос: а нафига в таком случае будут нужны иксы? Что они должны уметь делать? Рисовать курсор? Окна? Но рисование непрямоугольных окон идет через левые расширения, а менеджментом окон занимается уже WM... Буфер обмена? Но без Klipper многие приложения ниасиляют его... Проверка орфографии на уровне интерфейса клавиатуры? Это уж слишком перебор...

Иксы — основа клиент серверной графики. А пересылка фреймбуфера это не то.

DISPLAY=192.168.0.103:0.0 xterm и я вижу терминал на экране соседнего компьютера.

PolarFox ★★★★★
()

а если на компутере сферическом 5 карт, как ты их буферы соединишь вместе? тут явно понадобятся иксы

dimon555 ★★★★★
()

>а менеджментом окон занимается уже WM.

емнип, при этом программа обращается не напрямую к WM, а к xserver, который является посредником. + xserver умеет рисовать на surface в fb. на голом куске памяти (ака fb) далеко не уедешь.

k0l0b0k ★★
()

Иксы должны уметь блакбокс.

ЗЫ: а если серьезно, то блекджек и шлюх. Все остальное от лукавого.

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

> слушай, а как там новый тру интернет поживает? допилил?

Если ты про http-over-xmpp, то я его пока ниасилил, но мысль эту таки не выкинул...

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

> а если на компутере сферическом 5 карт, как ты их буферы соединишь вместе? тут явно понадобятся иксы

XRandr? Ок, принимается.

EmStudio
() автор топика

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

kmeaw ★★★
()

о да, ща копаюсь с системой на АРМе, Qt + FB, как бы легко и просто... хз зачем иксы..

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

>о да, ща копаюсь с системой на АРМе, Qt + FB, как бы легко и просто... хз зачем иксы..

Расскажи, как делал эту связку.

iZEN ★★★★★
()

Сам xorg-server src.tar.bz2 (естественно без драйверов, без libx11 и т.д.) занимает 4.5Мб

Ты же не думаешь, что это просто запускалка разных драйверов и wmов?

sergej ★★★★★
()

> А что должны уметь иксы?

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

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

Интерфейсные элементы рисуют разный qt/gtk и им подобные, иксы тут не при делах, список окон и так есть в WM, остаются только шрифты, курсоры, роутинг сообщений и виртуальные экраны. Причем последние тоже скорее к WM относятся.

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

> Ты же не думаешь, что это просто запускалка разных драйверов и wmов?

А что там кроме курсоров, шрифтов и роутинга сообщений между устройствами? Ну еще выделение ресурсов, да, ибо аллоцировать плоскость слишком сложно...

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

курсоров и шрифтом там нет

это 4.5 метра _исходников_ в tar.bz2

а что они делают можно почитать тут (http://www.x.org/docs/)

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

> Ты хочешь иксы в ведро?

А что есть другие пути????? Вся эта "сетевая прозрачность" также круто как и бесполезно. Нужна эта "прозрачность" только 0.00001% пользователей.

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

Как же вы утомили...

Прежде чем говорить, следует узнать как работают, иксы когда в переменной DISPLAY нет имени хоста. Прочитать что такое Direct Rendering и Indirect rendering, а также зачем сделали libxcb.

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

ЗЫ - я так понял ты из любителей порассуждать о неэффективности TCP/IP при соединении на DISPLAY=:0 через lo интерфейс, которых на лоре очень много ? :)

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

> ЗЫ - я так понял ты из любителей порассуждать о неэффективности TCP/IP при соединении на DISPLAY=:0 через lo интерфейс, которых на лоре очень много ? :)

Ага. А смысл сначала создавать проблемы а потом отважно их решать? Выкинуть TCP/IP и запихнуть все в ядро. Это повысит эффективность, при этом надежность системы почти не пострадает.

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

Я как бы намекаю, что иксы писали не идиоты.

Все известные недостатки иксов перечислены тут

http://www.x.org/wiki/Development/X12

Рекомендую все таки погуглить по словам, которые я написал на пару постов выше...

(ну если ты Ъ, то скажу, что естественно никакой tcp/ip при соединении с локальной машиной не используется, по сути там даже соединения нет)

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