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)
Ответ на: комментарий от PolarFox

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

Сейчас драйвер tty занимает дохрена строк кода и копаться в нём сравнимо с копанием в помойке. В своё время была драма, что мейнтейнер его начал перепиливать, в итоге получил по шапке от Линуса мол «юзерспейс ломать не моги»(что с одной стороны правильно), после чего послал Линуса со всей подсистемой tty нахрен.

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

Да, надо срочно написать петицию за массовый выпуск мониторов с 600 ppi, только для того чтобы ты и дальше мог и дальше облизывать свои прозрачные иксы. Монитор 15.6" будет иметь ~600 ppi при разрешении 8K, при этом требуется канал в 50+ Gbps и соответствующая видеокарта.
Хвала богам, к тому времени как это появится, линукс уже избавится от этого гигантского костыля на букву Х.

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

С 600 dpi у Х11 другая проблема — ограничение разрешения.

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

раз такой спец по raster vs native в qt, будь так добр расскажи отчего у меня растер аццки тупит по сравнению даже с native.

скрин

выводы с консоли:

$ gtkperf 

(gtkperf:15960): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

(gtkperf:15960): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
GtkPerf 0.40 - Starting testing: Thu Jul 19 18:30:02 2012

GtkEntry - time:  0,04
GtkComboBox - time:  0,35
GtkComboBoxEntry - time:  0,14
GtkSpinButton - time:  0,04
GtkProgressBar - time:  0,06
GtkToggleButton - time:  0,14
GtkCheckButton - time:  0,09
GtkRadioButton - time:  0,22
GtkTextView - Add text - time:  0,08
GtkTextView - Scroll - time:  0,01
GtkDrawingArea - Lines - time:  0,59
GtkDrawingArea - Circles - time:  0,76
GtkDrawingArea - Text - time:  0,32
GtkDrawingArea - Pixbufs - time:  0,11
 --- 
Total time:  2,98
$ qtperf -graphicssystem native
Unable to load library icui18n "Cannot load library icui18n: (libicui18n.so.49: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога)"

#GTK+ style 
QLineEdit - 0.097 s
QComboBox - 0.213 s
QComboBoxEntry - 0.149 s
QSpinBox - 0.007 s
QProgressBar - 0.064 s
QPushButton - 0.045 s
QCheckbox - 0.009 s
QRadioButton - 0.019 s
QTextEdit add text - 0.127 s
QTextEdit scroll - 0.046 s
QPainter lines - 7.598 s
QPainter circles - 7.793 s
QPainter text - 0.525 s
QPainter pixmap - 0.029 s
Total: 16,720999 s

#Clearlooks style
QLineEdit - 0.201 s
QComboBox - 0.522 s
QComboBoxEntry - 0.461 s
QSpinBox - 0.008 s
QProgressBar - 0.056 s
QPushButton - 0.01 s
QCheckbox - 0.019 s
QRadioButton - 0.049 s
QTextEdit add text - 0.117 s
QTextEdit scroll - 0.008 s
QPainter lines - 8.184 s
QPainter circles - 9.463 s
QPainter text - 0.514 s
QPainter pixmap - 0.032 s
Total: 19,644000 s

#Motif style
QLineEdit - 0.059 s
QComboBox - 0.785 s
QComboBoxEntry - 0.634 s
QSpinBox - 0.008 s
QProgressBar - 0.151 s
QPushButton - 0.004 s
QCheckbox - 0.008 s
QRadioButton - 0.042 s
QTextEdit add text - 0.188 s
QTextEdit scroll - 0.076 s
QPainter lines - 8.714 s
QPainter circles - 9.693 s
QPainter text - 0.497 s
QPainter pixmap - 0.03 s
Total: 20,888999 s
$ qtperf -graphicssystem raster
Unable to load library icui18n "Cannot load library icui18n: (libicui18n.so.49: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога)"
#GTK+ style 
QLineEdit - 0.11 s
QComboBox - 0.252 s
QComboBoxEntry - 0.199 s
QSpinBox - 0.01 s
QProgressBar - 0.064 s
QPushButton - 0.044 s
QCheckbox - 0.01 s
QRadioButton - 0.023 s
QTextEdit add text - 0.075 s
QTextEdit scroll - 0.015 s
QPainter lines - 24.695 s
QPainter circles - 24.575 s
QPainter text - 2.462 s
QPainter pixmap - 0.246 s
Total: 52,779997 s

#Motif style
QLineEdit - 0.049 s
QComboBox - 0.381 s
QComboBoxEntry - 0.292 s
QSpinBox - 0.012 s
QProgressBar - 0.02 s
QPushButton - 0.009 s
QCheckbox - 0.007 s
QRadioButton - 0.016 s
QTextEdit add text - 0.103 s
QTextEdit scroll - 0.01 s
QPainter lines - 26.16 s
QPainter circles - 26.178 s
QPainter text - 2.619 s
QPainter pixmap - 0.262 s
Total: 56,117999 s

qt 4.8.2 сливает gtk 2.24.10 в native в 6 раз, в растер более 15, КАК ? тестировалось в e17 с текущего свна с включенным модулем композита.

P.S. поставить kde для того чтобы обрести скорость в растер не предлагать =)

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

если вырубить композитинг, скорость упадёт у гтк на 0.5 секунды аналогично для qt - внезапно сливать оно не перестаёт

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

Это что за говно мамонта? вменяемые открытые дрова начинаются ЕМНИП с R300, если не с R200

ATI Radeon Xpress 200M

Спасибо ATI и Samsung за кривую поделку, поддержку которой дропнули через два года.

Nebuchadnezzar ★★★★
()

В невидии, амд и интеле есть подразделения, которые первыми узнают о том, что выйдет новый директХ или новая винда 9.

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

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

Ваши представления убоги. Если вы всерьёз считаете, что железячники ждут разинув рот, какое API для них придумают в мелкомягких, то вы считаете неправильно. Разработка всегда идёт в тесном сотрудничестве.

И поэтому майкрософт(а не красноглазые) придумали шейдеры.

А вот тут мы имеем пример так называемой лжи. И попытки ревизии истории. Шейдеры как класс придумали в Pixar, откуда они перекочевали в видеокарты. И двигателем этого процесса были именно Nvidia и ATi, а вовсе не Microsoft. Самые ранние поползновения на этом фронте представляли собой мультитекстурные эффекты (с простыми формулами уровня сложить, умножить). Соответствующее расширение EXT_texture_env_combine оказалось доступно уже в апреле 1999, в то время, как первая версия DirectX 7, поддерживающего необходимый для такого мультитекстурирования API вышла только сентябре того года.

Тема была развита и в ноябре 2000 года вышел DirectX 8 с поддержкой первой версии шейдеров. Впрочем, смотреть их было особо негде, т.к. карт, способных обсчитывать их аппаратно не было. Впрочем, только странный человек мог бы сказать, что M$ вынудила к чему-то железячников. API был разработан совместно под готовящиеся к выходу карты. И в 2001 вышли GeForce 3, а позднее Radeon 8500. Что же OpenGL? Версия 1.3 не поспевала и поддержка была обеспечена проприетарными расширениями: NV_vertex_program с момента выхода, весной 2001. В июне, на конференции обсуждается ATI_vertex_program (напомню, Radeon 8500 тогда ещё не вышел, а нет карты - нет нужды и в поддержке). Он появился осенью, вместе с новой картой. А уже в 2002 расширения перекочевали в ARB.

Впрочем, вся эта возня оказалась не нужной. Большинство разработчиков продолжали ориентироваться на DirectX 7 и перешли с него только уже на 9-ю версию, вышедшую в том же 2002 году.

Казалось бы, причём здесь Open Source? Да, практически не причём. Открытых драйверов с поддержкой 3D ускорения тогда не было, в связи с отсутствием спецификаций, производители предпочитали писать драйвера сами и обеспечивали их собственной поддержкой OpenGL, разработчики Mesa не занимались програмной реализацией потому что процессоры того времени такое не потянули бы. (Проекты эмуляции шейдеров начались практически сразу по их появлении, но тогда же и заглохли в основном, потому что на скорость работы без слёз было смотреть нельзя.)

Поэтому они придумали стандарт на API для ускорения видео.

Для ускорения чего? Xv появился в 1991 году. За год до того, как M$ смог похвастаться своим Video for Windows.

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

И правда, на фига нам GDI/DirectDraw/GDI+/Direct2D,DirectWrite?

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

Чем тебе не нравятся терминалы в ядре?

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

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

Должен быть слой абстракции, независимый от GPU и CPU

Я полагал, что очевидные вещи не надо будет разжевывать. Для тупых еще раз: для того, чтоб рисовать что-то в видеопамять, иксы не нужны вообще. Достаточно драйвера, большая часть которого(>90%) работает в юзерспейсе. Никаких иксов, с юзермодного драйвера все cmdbufы идут прямо в минипорт.

Так кстати Direct Rendering работает - это то,без чего красноглазики бегают держась за жопу и орут что все тормозит :)

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

В винде вообще-то Direct2d/Direct3d/Dxva/etc. Тут у меня видео играет с аппаратным декодированием, игры всякие, эффекты накладываются. А вы бедные. А у вас вечно тормозит :)

Как флешки относятся к сетевой прозрачности?

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

Я ответов на эти вопросы не слышал. Все что пока иксмены смогли выдавить: иксы нужны потому что сетевая прозрачность, а сетевая прозрачность нужна потому что другая идеология и это же целый протокол доступа к иксам. В итоге иксы ради иксов. Не нужно.

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

Да, надо срочно написать петицию за массовый выпуск мониторов с 600 ppi, только для того чтобы ты и дальше мог и дальше облизывать свои прозрачные иксы. Монитор 15.6" будет иметь ~600 ppi при разрешении 8K, при этом требуется канал в 50+ Gbps и соответствующая видеокарта.

Мда, я похоже начинаю понимать, откуда в 21 веке всякий дурдом типа x86, RAM измеряется гигами и её всё равно мало.NET/Mono, всякие ведроиды тормозящие на 4-хядерных процах и прочий бред.

Потому что вместо решения проблемы в корне дебилы тупо наращивают мегабайты, мегабиты и мегагерцы.

Ну какая ещё видеокарта, какой нахрен канал в 50+Gbps? Монитор на 600dpi - это вообще не похоже на говномонитор у которого просто пикселей больше. Едрить, а для CGH тоже будет предложен мегаговномонитор с мегаговновидеокартой и каналом в 500+Tbps?

Ваще пипец деградация. Такими темпами каменный век наступит весьма скоро.

Хвала богам, к тому времени как это появится, линукс уже избавится от этого гигантского костыля на букву Х.

Ну-ну, мечтайте, любители ара-тюнинга...

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

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

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

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

Как только так сразу.

Не переживай в абанте он будет первым.

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

Да-да-да. Особенно на AMD radeonSI. С интел история вообще отдельная, ив своём посте я про неё упомянул.

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

А вот будет смешно, если внезапно начнут фигачить мониторы с 600dpi. :) Вот где все эти сраные и ненужные пиксмапство, алиасинг и вялендство по полной программе обделаются, да так, что мало не покажется.

Потому что вместо решения проблемы в корне дебилы тупо наращивают мегабайты, мегабиты и мегагерцы.

Ну ты понел

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

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

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

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

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

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

Дык, это проведи рефакторинг и разработай новый протокол. Только вот беда, главный разработчик иксив (Кейт Паккард) заниматься этим не хочет (нужен пруф - погугли его выступления на конференциях за последние пару лет). Но почему-то есть разработчики, пилящие wayland. И как мне кажется, начали они его только потому, что это сделать проще, чем написать X12 с нуля.

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

Чем тебе не нравятся терминалы в ядре?

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

Как это не нужен? Вот сейчас можно написать init=/bin/sh и работать когда кроме ядра и sh ничего не загружено. Если убрать терминал, это будет возможно?

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

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

В винде вообще-то Direct2d/Direct3d/Dxva/etc. Тут у меня видео играет с аппаратным декодированием, игры всякие, эффекты накладываются.

То есть ты виндузятник? Так иди на винфак, что ты на ЛОРе-то делаешь?

Ну хорошо, я зашел через Х на удаленный сервер. Включил там плэер, хочу проиграть музыку у себя в наушниках. как мне это сделать в иксах?

По-моему в таком случае как раз фишка в том чтоб запускать медиаплеер на удалённом сервере, например ты сидишь с нетбука, но у тебя есть дорогие колонки и постоянно включенный медиацентр. Берёшь, запускаешь на медиацентре плеер, а окно выводишь на нетбук — и управляешь воспроизведением прозрачным образом.

Если ты хочешь наоборот — чтоб звук с удалённого сервера звучал у тебя — для этого монтируешь файловую систему (NFS или лучше 9p) и запускаешь плеер локально.

А заодно, как мне воткнув флэшку тут, работать с ее содержимым на удаленном сервере?

1) Если ты хочешь работать с содержимым флешки, почему бы не работать с ним локально?

2) Что мешает смонтировать флешку по сетевому протоколу типа NFS или sshfs?

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

А должен? Вы через USART на фреймбуфер чтоль смотрите?

И не должен. Может я чего-то в сообщении не понял, но отладка выводится не только на консоль, но ещё и на USART. Это скорее к вопросу о том, нужны ли tty в ядре.

Dark_SavanT ★★★★★
()

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

Либо крестик снимите, либо штаны наденьте...

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

А может переименовать Wayland в X12 и дело с концом? Латекс-фетишистам - по-барабану, зато ретрограды будут довольны.

И вот тут я проиграл с подливой.

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

Если убрать терминал, это будет возможно

а почему нет-то? если код терминалов будет в какой-нибудь libterminal.so.

Не нужно что-то рисовать в видеопамять

ну не рисуй в видеопамять, вообще видеокарты выкинь и в libastral передавай вывод программы. кто ж тебе запретит-то:)

нужно что бы был слой абстракции

В винде он есть. Я могу благодаря ему в игрушки играть и видео смотреть. Иксов там нет. Как им это удается? :)

который бы позволил реализовать всякие полезные фишки, типа сетевой прозрачности

не нужно

сменных оконных менеджеров

не нужно

Кроме того, приложение не должно напрямую лезть в видеопамять

На радеонах оно физически не может лезть в видеопамять :)

потому что оно может своими багами вызвать зависание графической системы.

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

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

То есть ты виндузятник?

УМВР. Давайте я вам анекдот расскажу бородатый: вопрос армянскому радио: сможет ли линукс догнать и обогать винду по количеству установок на десктоп? ответ армянского радио: догнать-то догонит, а обогнать не сможет-стыдно бежать впереди всего мира с голой жопой

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

И не должен. Может я чего-то в сообщении не понял, но отладка выводится не только на консоль, но ещё и на USART. Это скорее к вопросу о том, нужны ли tty в ядре.

Это замена виртуальных терминалов и фреймбуферной консоли. Реальных терминалов никак не коснется.

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

Systemd - системный демон, который интегрируется со всем на свете, X - графика и HID. Если кому и позволительно быть потолще, так это первому.

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

А сколько тот же raster просирает native если включить _простую_ тему в Qt, без алиасинга?

Ни сколько, отрыв сокращается, да.

Ну не думали создатели X-ов, что НТП выродится в унылое говно и вместо дисплеев с разрешением в 600dpi мы будем пялится в убогое говнище с теми же 96dpi. А чтобы это убогое говнище покупали как новизну навороченную, а не технологию 20-тилетней давности, надо всякие извраты с алиасингом и шейдингом народу впаривать.

Создали иксов не думали... А мне хочется нормальную, современную оконную систему...

Реализуют в X12 алиасинг и альфу в DrawLine всяких - и всё, проблема с говномониторами будет решена. И native в qtperf будет показывать крутые попугаи даже на темах с рюшечками.

На вяленом уже можно запускать разные приложения, его уже поддерживают многие фрейм ворки. Когда я смогу запустить хоть что-то поверх x12? Лет через сто?!

ЗЫ: Вяленый, кстати, в лучшем случае станет очередным расширением Xов, на большее ему рассчитывать не приходится.

Сам то понял, что вбросил? Прими разупорин.

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

Как это не нужен? Вот сейчас можно написать init=/bin/sh и работать когда кроме ядра и sh ничего не загружено. Если убрать терминал, это будет возможно?

init=/usr/bin/fbterm. И если терминал не нужен, то он не будет в памяти.

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

а почему нет-то? если код терминалов будет в какой-нибудь libterminal.so.

А как его загружать, если нет initrd и корневая файловая система ещё не смонтирована?

В винде он есть. Я могу благодаря ему в игрушки играть и видео смотреть. Иксов там нет. Как им это удается? :)

В винде есть нормальный слой абстракции? Хорошо, предположим есть исходники виндового приложения. Как их скомпилировать под GNU/Linux без winelib?

Или другой пример — как в винде поменять оконный менеджер на другой не перезапуская приложений? Да вообще, поменять? Как в винде увидеть логи загрузки вместо графической заставки? Как в винде запустить голую cmd.exe без декорации окна на весь экран и чтоб больше ничего кроме ядра и неё не было запущено (про полноэкранный режим по alt-enter знаю, но это не то, так как это просто полноэкранное окно)? Можно ли в винде полностью выкинуть DWM и Explorer и использовать KDE с Kwin? А в игрушки играть и видео смотреть можно во фреймбуфере, так что это не аргумент.

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

не нужно
не нужно

Что в винде не работает, то не нужно? Стабильность не нужна? У тебя аргументация на уровне ролика про «Шиндовс»

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

А они лезут?

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

А как его загружать, если нет initrd и корневая файловая система ещё не смонтирована?

Эм. Ты и /bin/sh без смонтированной (хотя бы в ro) ФС не запустишь.

Как их скомпилировать под GNU/Linux без winelib?

Сфигали мелкомягкие должны поддерживать какой-то там линукс? Но есть mono, компилируй.

Или другой пример — как в винде поменять оконный менеджер на другой не перезапуская приложений?

В венде нет оконных менеджеров в нашем понимании. С другой стороны, венда спокойно меняет драйвер на видеокарту вгорячую.

Как в винде увидеть логи загрузки вместо графической заставки?

Осилить ман.

Как в винде запустить голую cmd.exe без декорации окна на весь экран и чтоб больше ничего кроме ядра и неё не было запущено (про полноэкранный режим по alt-enter знаю, но это не то, так как это просто полноэкранное окно)?

Эм. Без winapi?

Консоль восстановления давно придумана, впрочем. Но там не cmd.exe. Предназначена для тех же задач, что и родной линуксовый виртуальный терминал. Всё равно без нормальной i18n оно не годится ни на что ещё, а i18n без графики не сделать.

Можно ли в винде полностью выкинуть DWM и Explorer и использовать KDE с Kwin?

Explorer можно, но не нужно. DWM — можно выключить и его не будет. Kwin может работать декоратором, может раскидывать окна, в общем-то.

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

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

Кстати, да. systemd умеет расширяться плагинами? Похоже, без этого не достичь долгой жизни после устарения.

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

я понял, что пояснить вывод qtperf ты не сможешь.

Могу лишь сказать что цифры у тебя какие-то дикие, видать на i386 запускаешь... Ну и прямое сравнение qtperf - gtkperf без упарывающих веществ врядли кто-то будет. Сравни glxgear с каким нить DX бенчмарком для комплекта, чо...

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

Если у тебя initramfs помер

С чего бы ему помирать?

Драйвера-то на ФС — тю-тю.

Драйвера терминалов можно статически вкомпилировать. В отличие от гипотетической libterminal.so

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

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

да нет же. просто я, как умный пользователь, воспользуюсь RDP, где из коробки УМВР принтер, файловая система, музыка, видео и т.д.

вот и всё. и мне не нужно будет что-то настраивать на серваке, на клиенте и т.д. оно просто работает.

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

Внятные доводы есть в списках рассылки wayland (сегодня там интересные вещи про ограничение прав нашёл, см ниже). Ну и ключевой довод - огромные размеры протокола иксов. Да, проблема кажется надуманной, но она одна порождает целую кучу неприятных следствий:

  • необходимость поддержки всего, что есть, в драйверах - вон, xrandr в нвидиевском блобе только недавно появился
  • сложности на неожиданных поворотах вроде hot-plug'а видеокарт; кодовая база такая, что поддержка хотплага в иксах появляется через 3 года после возникновения проблемы, и то в виде нового API для драйверов
  • низкая скорость протокола, и для обхода часто просто пересылают массив пикселей, по сути исключая иксы из процесса - но это тоже не идеал. Заметить на глаз этого не получится вообще никак, потому что программисты имеют свойство тестировать свои программы и проверять, чтобы хоть какая-то плавность, да была - и делают её в ущерб графике. Но wayland даёт добро мониторам со сверхвысоким разрешением и DPI, приложениям с обилием графики и просто более плавной отрисовке.
  • Сетевая прозрачность иксов по пропускной способности уступает сетевой прозрачности, сделанной в rdp в обход API иксов.

Но что мы всё о раздутости да раздутости... Поговорим о том, чего в иксах нет. А в иксах нету ни защиты системы, ни защиты пользователя от хорошенько зависшего приложения. В Wayland есть.

Я привожу только 1 фичу, известную мне, но вы можете поискать ещё в списках рассылки. Плюс, даже эта единственная фича уже говорит о серьёзности намерений авторов wayland - они действительно продумывают протокол, учитывая в том числе опыт авторов winapi и mac os x.

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

Могу лишь сказать что цифры у тебя какие-то дикие, видать на i386 запускаешь...

$ cat /proc/cpuinfo | grep "model name"
model name	: Intel(R) Pentium(R) M processor 2.13GHz

Ну и прямое сравнение qtperf - gtkperf без упарывающих веществ врядли кто-то будет.

я с ним и не сравнивал впрямую, ты про qtperf то не ответил почему такая разница между native vs raster в пользу native ?

Сравни glxgear с каким нить DX бенчмарком для комплекта, чо...

мне это сравнение не нужно

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

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

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

ты про qtperf то не ответил почему такая разница между native vs raster в пользу native

Может, потому что ты их придумал?! У меня на AMD 1090T значения 0,04 - 0.9. На древней амдешке (одной из самых первых 64 разрядных) что-то раза в два больше было. А у тебя какие-то невообразимые 16-64...

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

от создателей QT

http://labs.qt.nokia.com/2010/01/11/qt-graphics-and-performance-the-cost-of-c...

на первой же картинке иксы сливают вдвое. на последнем случае не полное время отрисовки(item-cache-это отправили команды а иксы продолжили рисовать и на график их тормоза не попали)

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

да нет же. просто я, как умный пользователь, воспользуюсь RDP, где из коробки УМВР принтер, файловая система, музыка, видео и т.д.

Ну завернули МС все в одну упаковку, а я тебе завтра дам скрипт который делает тоже самое и что RDP вдруг лучше чем все остальное? Херня! Твои доводы на уровне эмоций, можешь вещать гуманитариям.

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

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

Ну, если мужики отрицают собственную историю и собственных коллег, то это их сугубое дело.

как ARB просрали все полимеры. из принципа.

И мы знаем как звали этот принцип. С большим менком бабла.

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

Стабильность не нужна?

идите в жопу с вашей единой россией.

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

не даш ты мне скрипт. нету у тебя скрипта :)

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