Графика в *nix
#1
В общем случае, как обстоит работа в графикой в никсоподобных системах?

Linux закапывает X Window в пользу Wayland. Работа с фреймбуфером идёт через /dev/fb0.
*BSD ещё работает с X Window, работа с фреймбуфером не подразумевает стандартного устройства, пишут о SVGALib, но он остался там же, когда работали с фреймбуфером.
Mac OS X и Android предоставляют свои особые библиотеки, в макоси поддержка X Window остаётся доступен (вроде xwayland в Linux?).

Замечания, уточнения?
#2
gedisdone post_id=887 time=1591192675 user_id=110 Написал:Linux закапывает X Window в пользу Wayland.

Нуачо, модно же! Вот только что на Wayland выбора особо нет — это почему-то никого не волнует. Есть не особо гибкий GNOME, не всегда рабочий KDE, пара менеджеров окон (FIXME: я кроме sway снова ничего не помню) и небольшая горстка софта либо на регулярно выпиливающем фичи GTK+3, либо на не очень популярном Qt5 (не путать с тем софтом, что требует KDE-специфичные библиотеки поверх Qt5!).

X11 пока ещё жив, и умирать не собирается. Даже потихоньку развиваться умудряется, вяло, но всё же.
Даже если (когда?) его выкинут из Linux, это никак не повлияет.

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

gedisdone post_id=887 time=1591192675 user_id=110 Написал:работа с фреймбуфером не подразумевает стандартного устройства

Это в serial оно не подразумевает, а в vt — очень даже.

Про macOS ничего сказать не могу, оно там глубоко проприетарное, и поковырять никто не даст.
Правила форума
[Новичкам] Как правильно задавать вопросы, чтобы Вам помогли

«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
#3
mord0d post_id=889 time=1591207696 user_id=57 Написал:а в vt — очень даже
Но как работать с vt как с фреймбуфером? Мануалы молчат.

mord0d post_id=889 time=1591207696 user_id=57 Написал:Есть не особо гибкий GNOME, не всегда рабочий KDE, пара менеджеров окон
Пока что речь идёт о непосредственном обращении с графическими системами, без библиотек вроде GTK, Qt, FLTK и т.п.
#4
gedisdone post_id=891 time=1591255883 user_id=110 Написал:Пока что речь идёт о непосредственном обращении с графическими системами, без библиотек вроде GTK, Qt, FLTK и т.п.
Для работы с Wayland тебе нужно писать композитор. Т.е. в X11 есть сервер, а в Wayland ты как бы сервер (композитор) пишешь сам.
It's time to kick gum and chew ass. And i'm all out of ass.
#5
Первое: XWayland - это всего лишь Xorg запущенный как wayland-клиент никуда не девается, как и аналоги для винды и мака, и прочее. Но состояние иксовых прослоек для других систем хуже чем вяленных, и по возможности предпочтение будет отдаваться Wayland. Microsoft пишет свой Wayland композитор.

Wayland для Linux будет дефолтом, FreeBSD из-за софта тоже, рабочие юзабельные wayland-окружения там есть уже сейчас. Хотя часть сообщества там будет сильно сопротивляться. По прочим OpenBSD, NetBSD скорее будут оставаться с иксами еще долго. DragonflyBSD вроде есть подвижки в работе Wayland. В некоторых Linux-системах: Sailfish, Tizen - это уже безальтернативный дефолт.

Иксы будут постепенно отмирать. Не потому что их кто-то будет выкидывать, просто забросят поддержку, в том числе в либах свежих. GTK4 уже имеет Wayland-ориентированные изменения. У Qt рынок - In-Vehicle Interfaces всякие, где тоже Wayland. Крупный софт, игры через XWayland будут еще долго работать и в приличном состоянии, что для пользователя не будет иметь значения что оно через XWayland работает. Просадки производительности XWayland тоже не дает от слова совсем. Мелкие приложения не потянут на себе костыли по покрытию проблем с заброшенными либами и либо перекатится на Свежие wayland-совместимые версии либ, либо медленно так же будет отмирать ввиду других причин.

Производительность Wayland, X11, XWayland почти что одинаковая. Но у иксов тиринг, который на производительном железе ценой производительности решается, на слабом вообще не решается.
#6
Цитата: небольшая горстка софта либо на регулярно выпиливающем фичи GTK+3, либо на не очень популярном Qt5 (не путать с тем софтом, что требует KDE-специфичные библиотеки поверх Qt5!).

KDE-шный софт на Qt тоже работает нативно без проблем. Плюс еще игры на SDL2.
#7
mord0d post_id=889 time=1591207696 user_id=57 Написал:Теперь они благодарно выбросят X11.

И в благодарность подарим BSD Wayland.
#8
Гость post_id=894 time=1591262858 user_id=1 Написал:KDE-шный софт на Qt тоже работает нативно без проблем
Там проблема в разных багах в окружении. Они мелкие, но раздражают. Уведомления, которые появляются не там, где должны, разные размеры курсора (что чинится выбором размера в настройках, но всё же), Yakuake не скрывается при потере фокуса (хоть это и стороннее приложение), вместо индикатора раскладки - заглушка. Раньше ещё был эпик в виде "это приложение захватывает курсор, вы согласны?" в играх (иногда это вообще напрочь отрубало курсор в играх, когда они переставали его лочить, помню такое в Mad Max при переходе в режим просмотра карты).
It's time to kick gum and chew ass. And i'm all out of ass.
#9
ozz post_id=896 time=1591264774 user_id=2 Написал:Они мелкие, но раздражают. Уведомления, которые появляются не там, где должны, разные размеры курсора

Ранние релизы гнома под Wayland этим тоже страдали. В KDE замечаю, что все больше людей начинают пробовать Wayland-сеанс плазмы. Значит дейсвительно, остаются неприятные мелочи.
#10
Гость post_id=897 time=1591265940 user_id=1 Написал:Значит дейсвительно, остаются неприятные мелочи
Да, вот буквально чуть-чуть, и можно уже переезжать. Причём кеды не падают (такое было, но только на первых релизах), приложения не падают, всё в принципе стабильно.
It's time to kick gum and chew ass. And i'm all out of ass.
#11
gedisdone post_id=891 time=1591255883 user_id=110 Написал:Но как работать с vt как с фреймбуфером? Мануалы молчат.

Что значит молчат? *vt(4)* — вполне нормальный мануал.

gedisdone post_id=891 time=1591255883 user_id=110 Написал:Пока что речь идёт о непосредственном обращении с графическими системами, без библиотек вроде GTK, Qt, FLTK и т.п.

В Wayland без композитора (он же менеджер окон и всё остальное) всё равно ничего не выйдет. А больше я о Wayland ничего не знаю.

С X11 проще: есть xlib, xcb, можно извратиться и писать на sdl/gl (но нафига?).
Правила форума
[Новичкам] Как правильно задавать вопросы, чтобы Вам помогли

«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
#12
mord0d post_id=899 time=1591277776 user_id=57 Написал:vt(4) — вполне нормальный мануал.
Для драйвера консоли виртуальаного терминала, может быть, и нормальный.
В примере мне предлагается поменять цвет текста, установить видеоразрешения для консоли, установить белый и чёрный цвет. Но меня интересует, как я в нём нарисую пиксель - и на это я ответа не вижу.
#13
gedisdone post_id=900 time=1591278830 user_id=110 Написал:предлагается поменять цвет текста

А нет там пикселей, есть только *символы*. ☺
Правила форума
[Новичкам] Как правильно задавать вопросы, чтобы Вам помогли

«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
#14
mord0d post_id=901 time=1591282165 user_id=57 Написал:А нет там пикселей, есть только *символы*. ☺
Вот. А мне интересно поуправлять пикселями. Не int 10h, но в этом роде.
#15
Гость post_id=893 time=1591262506 user_id=1 Написал:Но у иксов тиринг, который на производительном железе ценой производительности решается, на слабом вообще не решается.
Я на иксах не видел тиринга ниразу. Правда, у меня включен Vsync. В любом случае мне не надо отображать кадры быстрее, чем FPS монитора.

Перейти к форуму:

Пользователи, просматривающие эту тему: 1 Гость(ей)