LINUX.ORG.RU
ФорумTalks

Почему иксы надо закопать

 ,


10

6

Как задолбало смотреть на деградантов, агитирующих сидеть на иксах. Для тех, кто хоть немного разбирается в современных GPU - иксы это дикость. Это такое же legacy как терминалы в ядре.

Так получилось, что пока SGI со товарищи занимались ИБД, и надували щеки - вот прям также, как местные ололо, «разбирающиеся в архитектуре иксов», компания микрософт день и ночь думала о том, как сделать графику быстрее. И поэтому майкрософт(а не красноглазые) придумали шейдеры. Поэтому они придумали стандарт на API для ускорения видео. Микрософт а не «опенсорс сообщество» задает направление развития графики.

В невидии, амд и интеле есть подразделения, которые первыми узнают о том, что выйдет новый директХ или новая винда 9. Эти отделы получают список фич, которые будут в винде и бегут к железочникам, чтоб узнать, что есть в железе уже, что будет сделать сложно, а что - дорого по ваттам. После чего начинается перетягивание одеяла между амд, невидией,интелом и микрософтом, где каждая сторона норовит облегчить себе задачу.

А опенсорс идет по остаточному принципу. И главным образом благодарить за это вы должны сраные иксы.

Видите ли, пока микрософт сокращало и упрощало путь от «знаю что рисовать» до железа в линупсе городили, городили, и городили. В седьмой винде приложение создает «адаптер», из него создает «видео-девайс» и настраивает его и начинает скармливать ему GOPы. на выходе оно имеет surfacы, которые можно поставить в очередь «на экран», забрать себе обратно или в текстуру превратить. В ядре только «минипорт» - штука которая умеет готовые пакеты команд скормить в драйвер. Всё. Никаких иксов здесь не задействовано.

То же самое и для 3д: есть api, есть драйвер, есть минипорт. На выходе получаешь surfacы. Их можно поставить в очередь отрисовки(flip queue) откуда их будет подбирать DWM и собирать в окошки.

И то же самое для 2Д. каким надо быть идиотом, чтоб городить всякие XAA/EXA/UXA/XAXAXA вместо того, чтоб дать приложению самому отправлять команды на gpu. Там есть полная поддержка всей графики-2д 3д и видео. тот же интелоGPU можно проинструктировать программой, и он сам будет отдавать команды на blit-функцию, рисовать градиенты, глифы печатать, и кривые малевать.

Вот ровно то же самое делает wayland. он подбирает surfacы из flip queue и собирает их в картинку.

Никакого геморроя с bumblebee и прочими костылями для убогих иксов: surfacы которые видит интегрированное видео - они в памяти. mmapнул памяти, занес ее в GTT интеграшки - есть окно. открыл драйвер мегаgpu, занес в его GTT ту же область. все работает. gpu рисует и блитит, интеграшка под чутким руководством оконного манагера собирает и показывает.

Я думаю, иксмены понимают, что их аргументы «за иксы» - это полный бред. Они отлично понимают, что wayland проще и меньше жрет ресурсов. Они отлично понимают, что рисовать можно и без иксов, и даже удобнее, т.к. нет самодельных проблем с несколькими видяхами. И даже их сетевая прозрачность проигрывает RDP по всем параметрам: флешки звук и даже скорость.

Эти деграданты просто идут на принцип. Все они понимают, поэтому как полоумные повторяют про «сетевую прозрачность»: видят, что ничего больше в активе нет.

☆☆☆

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

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

Картинки в БД - это хорошо и правильно. Надо же быть твёрдо уверенным, что она на распределенное хранилище записалась? А это значит, что нужен write-ahead log, двухфазный комит, репликация и т.д. Тут или БД или распределенная ФС. С точки зрения единообразия доступа - БД это нормальный выбор.

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

Да ну? А не наоборот? От жеж, а пацаны не знали.Как правило, прибегают bsd-дрочеры и начинают кричать что GPL говно. Меня BSD-like лицензии не напрягают, а вот GPL-хейтеры уже поддостали.

WatchCat ★★★★★
()

Давайте со следующего понедельника закопаем Хы, вообще выпилим из всех дистров.

И посмотрим что будет во вторник...

Deleted
()

Такое осталось еще?

Вроде бы, на ARM, MIPS и всяких экзотических архитектурах, часто, нет отдельного ускорителя.

Для таких есть llvmpipe.

Знаю. Сам пользуюсь на своём ноутбуке, ибо под старый Radeon дров нет.

Как правило, прибегают bsd-дрочеры и начинают кричать что GPL говно.

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

Nebuchadnezzar ★★★★
()

Когда будет ПОЛНОЦЕННАЯ замена - можно подумать.

А пока, как грится, «работает - не трожь !!!».

an-ha ★★
()
Ответ на: комментарий от Nebuchadnezzar

Не так уж и редко… правда не всегда сразу. Но взрывы вида «BSD настоящая СВОБОДА, а GPL ограничивает» наблюдаю время от времени.

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

Всё ясно и понятно.

Но есть одно «но»: работающие X'ы есть (подразумеваются работающие свободные и проприетарные драйверы, работающие DE/WM/etc., функционирующие игры [как нативные, так и через Wine],-- в общем, целая работоспособная инфраструктура), а вот работающего Wayland'а пока нет.

Также не ясна ситуация с драйверами: как вендоры отнесутся к написанию дров под Wayland. Это я про Nvidia-блоб. Не секрет, что люди, играющие под Linux (в нативные игры или через Wine), предпочитают именно карты Nvidia и блоб. Тут, кстати, вообще не понятна ситуация с играми и прочими 3D-приложениями.

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

>Но есть одно «но»: работающие X'ы есть […], а вот работающего Wayland'а пока нет.

Я так понимаю, в твоей вселенной софт даруется свыше дядей с бородой на облаке?

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

Для начала: я так тонко намекнул, что 90% ЛОРа - хомячки.

Истину глаголите. Я и сам тот ещё хомяк ;D

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

Есть у меня такое подозрение, что по мере влёта вяленого и DRM, блобопейсатели начнут пережать на сабж.

Надеюсь на это.

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

Поясняю. Это не делает Wayland ненужным. Иначе бы ни одной программы не написали. Её же ещё нет, значит и не нужна по такой логике.

Deleted
()

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

1. 90% приложений не нужны все эти сюрфейсы, шейдеры и прочие обдроченые тобой идеи. Им достаточно fillrect(), drawpixmap(), line(), drawtext(). Как минимум половина таких приложений имеет свойство «должно быть запускаемым в терминальном режиме» - все «офисы», «архиваторы», «адинэсы» и прочее.

Следствие -графическая подсистема должна предоставлять два уровня API: базовый, в котором есть отрисовка примитивов, котороый хорошо «терминализируется» и API для доступа к расширенным возможностям оборудования, типа OpenGL/DirectX и т.п. Наличие двух уровней позволит сохранить целостность графической подсистемы. Использовать «расширенные» API для выполнения «базовых» действий предлагают только полные мудаки, то бишь те, которые кроме своего локалхоста и мобильника-переростка ничего не видели.

каким надо быть идиотом, чтоб городить всякие XAA/EXA/UXA/XAXAXA вместо того, чтоб дать приложению самому отправлять команды на gpu.

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

Они отлично понимают, что wayland проще и меньше жрет ресурсов.

А также привносит кучу даже не рассмотреных ещё проблем с imput method, многомониторными конфигурациями и терминальными решениями и принудительным велосипедингом, когда 100500 приложений копируют типовые действия друг друга. А с учетом того, что единственная работающая хоть как-то реализация вяленда это X-клиент, вообще становится смешно

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

... и в результате всех этих «рисований без иксов» которые реализуют современные тулкиты, мы слышим крики о том что «в линупсе графика тормозит».

поэтому как полоумные повторяют про «сетевую прозрачность»

Потому, что возможность реализации нормальной «сетевой прозрачности» является синонимом хорошо продуманной архитектуры.

И даже их сетевая прозрачность проигрывает RDP по всем параметрам: флешки звук и даже скорость.

Ты клинический идиот. RDP и X11 это протоколы с разными задачами и разной идеологией, и перекрываются они только в твоем воображении, поскольку RDP это протоколу доступа к удаленному сеансу, а X11 - протокол доступа к ресурсам удаленного X-сервера.

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

>принудительным велосипедингом

Авторы каждого тулкита навелосипедили уже. Поздно уже бояться…

Deleted
()
Ответ на: комментарий от no-dashi

drawtext()

В иксах он не нужен и даже вреден. С ним в теории невозможно получить даже базовую поддержку юникода. Лучше через pango.

imput method

Решено недавно.

x3al ★★★★★
()

Ублюдочнее чем в винде графику в системе сделать просто невозможно. Это тупорылое ублюдище даже USB HID дисплеи не может нормально отработать и этого механизма там нет в принципе и прикрутить его просто некуда. Уж не говоря о всяких прочих делах.

Более того, виндовая графика (набор примитивов и операций) была изначально тупо слямзена с Х'ов но коряво и укушенно. Достаточно gdi.dll сравнить с Х protocol. Поэтому виндографика никак не может быть лучше Хов.

Есть вопрос с долбанутыми производителями видеокарт, которые исключительно из-за собственного маразма, долбанутости и говноедства (больше никаких причин нет и не может быть в принципе) не открывают спеки своих сраных поделий и кормят потребителя корявыми блобами, но этот вопрос вовсе не к X'ам.

Так что при всех своих недостатках X'ы являются единственным нормальным рабочим решением которое работает везде - от телефонов до десктопов и позволяет без особых проблем и геморроя использовать любое средство вывода изображения, вплоть до векторных дисплеев. Возможно имеет смысл проапгрейдить протокол (Х12?), но не более. Ещё лет на 20 Х'ов точно хватит.

ЗЫ: Вяленд - столь же тупорылое ограниченное убожище, как и винда.

Stanson ★★★★★
()

Это все замечательно, если бы предложили замену с такой же клиент-серверной структурой, как в иксах. А выбросить половину функционала - тут много ума не надо.

Да, wayland может стать хорошим проектом. Но пока не стал.

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

Не-не-не! Я не говорю, что Wayland не нужен (я вообще практически ни про что так не говорю).

Я хочу сказать, дескать, когда оно [Wayland] станет юзабильным? Чтобы не через всякие там прослойки с X'ами, а само по себе, и чтобы вендоры на него обратили серьёзное внимание / etc.

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

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

>Возможно имеет смысл проапгрейдить протокол (Х12?), но не более.

Об этом Франкештейне иксоводы уже который год вспоминают в срачах вида «иксы говно», но так до сих пор и не начали.

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

Так никто и не призывает уже завтра переезжать, не? Если б всё было так хорошо, уже бы не кричали, а пробовали.

Deleted
()

Так получилось, что пока SGI со товарищи занимались ИБД, и надували щеки - вот прям также, как местные ололо, «разбирающиеся в архитектуре иксов», компания микрософт день и ночь думала о том, как сделать графику быстрее. И поэтому майкрософт(а не красноглазые) придумали шейдеры. Поэтому они придумали стандарт на API для ускорения видео. Микрософт а не «опенсорс сообщество» задает направление развития графики.

В невидии, амд и интеле есть подразделения, которые первыми узнают о том, что выйдет новый директХ или новая винда 9. Эти отделы получают список фич, которые будут в винде и бегут к железочникам, чтоб узнать, что есть в железе уже, что будет сделать сложно, а что - дорого по ваттам. После чего начинается перетягивание одеяла между амд, невидией,интелом и микрософтом, где каждая сторона норовит облегчить себе задачу.

Феерический бред

Freiheits-Sender ★★
()
Ответ на: комментарий от vurdalak

>замену с такой же клиент-серверной структурой, как в иксах. А выбросить половину функционала - тут много ума не надо.

Какая идея была, а реализация… видимо поэтому разработчики тулктитов вертели эти ваши иксы.

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

В иксах он не нужен и даже вреден

А я разве говорю про то, что «иксовая» его реализация единственно правильная?

no-dashi ★★★★★
()
Ответ на: комментарий от KRoN73

Я же говорил, мне пофиг на шашечки. Мне важно, чтобы ехало.

Два чая! Иксы работают, причём стабильно. Для них есть туча тулкитов. Что ещё надо-то?

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

Так никто и не призывает уже завтра переезжать, не?

Как раз призывают. Где-то через годик-полтора будет пробоваться в Fedora'е. А что будет после этого,-- и так все знают.

carasin ★★★★★
()

Не раскрыта самая главная тема:

А почему не заметна разница в скорости между иксами и виндами(и уж темболее вялендом).
А если не видно разницы — выбираю больше возможностей( X ).
// Тема — полнейший бред.

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

Он то недавно, а вот иксы в таком состоянии уже давно. Ты же про иксы (фичу иксов то бишь) писал, когда говорил «выбросить половину функционала - тут много ума не надо». Ну и вообще, чтобы что-то выбросить оно сначала должно работать :}

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

придумали шейдеры

Руки бы оторвать тому, кто нормальный OpenGL этой дрянью пытался заменить!

Всё. Никаких иксов здесь не задействовано.

Так вот почему в мастдайке все так тормозит и тупит!

дать приложению самому отправлять команды на gpu

И будет у тебя одно окошко круглое, другое — овальное, третье — треугольное. И все вырвиглазные!

Я думаю, иксмены понимают, что их аргументы «за иксы» - это полный бред.

Это ты тут бредятину предлагаешь!

wayland проще и меньше жрет ресурсов

Данунафиг!

рисовать можно и без иксов

И как ты будешь по ssh это делать? Каждое приложение заставишь еще и сетевой протокол передачи данных поддерживать? Ладно, если сервер, как и клиент, OpenGL умеют. А если нет?

видят, что ничего больше в активе нет.

Раз ты такой умный, попробуй-ка пожить какое-то время без иксов. Потом поделишься впечатлениями.

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

В том-то и фишка. Я, конечно, многое могу стерпеть/«протестировать»; но если блоб nvidia не будет работать в какой-либо новой версии используемого мной дистра (а на nouveau пока надежды никакой), и вследствие этого, например, не заработает честно приобретённая D3, то я, мягко говоря, несколько разочаруюсь.

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

виндовая графика (набор примитивов и операций) была изначально тупо слямзена с Х'ов но коряво и укушенно.

Сразу видно человека в теме.

gdi.dll

Внезапно, графика в современной венде идёт не только через него.

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

Спеки радеонов давно открыты, свободный драйвер до сих пор медленнее блоба.

X'ы являются единственным нормальным рабочим решением которое работает везде

Тот же gdi умеет рисовать на принтерах. А иксы?

ЗЫ: Вяленд - столь же тупорылое ограниченное убожище, как и винда.

Человек явно в теме.

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

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

Deleted
()

Для тех, кто хоть немного разбирается в современных GPU - иксы это дикость. Это такое же legacy как терминалы в ядре.

Начнём отсюда. Чем тебе не нравятся терминалы в ядре? Как по-твоему ядро должно выводить логи загрузки без терминалов?

У тебя всё чего нет в говновинде — это «устарело» и «не нужно»?

дать приложению самому отправлять команды на gpu.

Что за глупость? Должен быть слой абстракции, независимый от GPU и CPU, который бы позволял одному приложению работать на любой процессорной архитектуре или графическом ускорителе, даже на таком, о котором создатели приложения никогда не слышали.

Винда говно как раз потому что в ней нет нормального слоя абстракции.

И даже их сетевая прозрачность проигрывает RDP по всем параметрам: флешки звук и даже скорость.

Как флешки относятся к сетевой прозрачности? По-моему ты бредишь.

Wayland не нужен, нужен X12

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

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

Ну, проблемой я бы это не назвал. Кто-то ведь должен быть за паровоза.

За исключением указанной выше проблемы с блобами под грядущий Wayland, все остальные новшества мне нравятся (или какие-либо я просто не замечаю, ибо «всё просто работает»©).

Вот когда будет более-менее все уверены, что вот всё, то и дрова нарисуются, я думаю.

Искренне на это надеюсь.

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

Но Wayland не нужен, потому что это урезанный X11, из которого выкинуты все полезные фичи. Если уж брать что-то другое, то лучше DirectFB.

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

Также не ясна ситуация с драйверами

Сейчас Wayland нужен EGL и OpenGL ES (причём EGL выбран разработчиками Wayland только для того, чтобы не зависеть от GLX, т.е. не тянуть Иксы с Wayland).
1. Свободные драйвера поддерживают EGL и OpenGL ES.
2. Catalyst уже поддерживает EGL и OpenGL ES, но либу нужно качать отдельно.
3. Проприетарные драйвера GeForce и Quadro поддерживают OpenGL ES, но только через GLX_EXT_create_context_es2_profile. Поддержки EGL в них нет.
4. Проприетарные драйвера Tegra, PowerVR, Mali, и других мобильных GPU, поддерживают EGL и OpenGL ES.

Иначе говоря для полной поддержки Wayland в проприетарных драйверах на сегодня нужно, чтобы AMD включили поддержку EGL и OpenGL ES в обычные релизы Catalyst, а nVidia добавили поддержку EGL в проприетарный десктопный драйвер (что не должно быть для них слишком сложно, с учётом того, что для Tegra они поддержку EGL уже реализовали).

В будущем, чтобы гонять новомодные игрушки под Wayland без Иксовых либ (GLX) в Wayland должна появится поддержка OpenGL 1-4. Для этого Kronos Group нужно будет либо расширить EGL (маловероятно, т.к. EGL это Portable Layer for Graphics Resource Management) либо создать стандарт (например WaylandGL) который будет поддерживать обычный OpenGL, но при этом не будет зависеть от Иксов (в таком случае драйверописателям придётся реализовывать поддержку этого самого WaylandGL).

Информация отсюда. Если что-то не так понял - пишите.

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

Но есть одно «но»: работающие X'ы есть (подразумеваются работающие свободные и проприетарные драйверы, работающие DE/WM/etc., функционирующие игры [как нативные, так и через Wine],-- в общем, целая работоспособная инфраструктура), а вот работающего Wayland'а пока нет.

Наличие кривой экосистемы не противоречит нужности создания новой, годной. У нас же есть нефтяно-угольная экосистема экосистема, давайте забьём смотреть в будующее и искать альтернативы. Вот на фига мы изобрели говно транзисторы?! Были же офигенные тёплые лампы, и даже смехотворные по вычислительным мощностям компы, размером со здание и с потреблением мегаваттами энергии!!!

erfea ★★★★★
()

Лучше бы ты боролся с эйнштейнистами.

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

Это какие же такие фичи?

DirectFB — зомби, который десктоп не потянет.

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