Как я могу получить функциональность, предоставляемую xcb и Xlib, при программировании с помощью Wayland на языке C? [закрыто]

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

Я потратил много времени на обучение программированию на C и создание очень простой графики с помощью смеси xcb и Xlib, которые легко смешиваются: #include . Я хотел бы продолжить программирование на этом уровне, используя события xcb, графические примитивы xcb, пиксельные карты, XImages или xcb_image_t, а также расширение MIT-Shm для создания растровых изображений совместно используемой памяти и ximages совместно используемой памяти.

mmap'ed-поверхности Wayland привлекательны, потому что они дадут мне большую гибкость, чем MIT-Shm, который зависит от разделяемой памяти SysV.

Существует ли программный уровень, обеспечивающий уровень функциональности xcb? Могу ли я зависеть от поддержки xcb и Xlib, чтобы программа X11 могла работать как клиент Wayland?

Меня не интересует использование GTK + или Qt в качестве альтернативы xcb-подобным функциям. Они предназначены для сложного программирования с графическим интерфейсом пользователя, и это не то, чего я хочу - я хочу программировать на низком уровне.

Я вижу Wayland-egl.h, использованный в примерах. Предоставляет ли egl функциональность, аналогичную той, что я нахожу в xcb? Где я могу найти простые, но исчерпывающие руководства? Есть ли такая же хорошая документация, как Xlib? Документация Xcb ужасна, но имея под рукой руководства и учебные пособия Xlib, я научился сколачивать полезный код.

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

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

3
задан 3 April 2018 в 00:38

1 ответ

Это является смущающим: Я должен был проверить часто задаваемые вопросы Уэйленда X.Org несколько раз. Я нашел ответ на свое право вопроса, где я искал его в первый раз... [wayland.freedesktop.org/faq] [1]

... существуют некоторые клиенты, которые полагаются на X11 и всегда будут. С этой целью XWayland предоставляет плагин наборщикам Уэйленда, выполняя реальный X-сервер. Это дает клиентам прежней версии реальную и совместимую платформу X11 для работы, отображенный бок о бок с собственными клиентами Уэйленда на сессии Уэйленда

Я приношу извинения за формулировку своего вопроса, "Xlib, и XCB будет вокруг в течение долгого времени все еще?" Фраза "долгое время все еще" просит мнение, и я имел в виду фактическое знание.

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

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

Это все имеет меня решенный: я продолжу #include <Xlib-xcb.h> и не будет волноваться об этом.

0
ответ дан 1 December 2019 в 20:30

Другие вопросы по тегам:

Похожие вопросы: