Я понимаю, что 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 не так уж сложно, оно просто многословно и незнакомо.
Мне так сложно проанализировать доступную информацию, и, кажется, не хватает многих важных деталей, ИЛИ она написана на языке, слишком непонятном и незнакомом для меня. У кого-нибудь есть указатели для непосвященного, но достаточно хорошего программиста?
Это является смущающим: Я должен был проверить часто задаваемые вопросы Уэйленда X.Org несколько раз. Я нашел ответ на свое право вопроса, где я искал его в первый раз... [wayland.freedesktop.org/faq] [1]
... существуют некоторые клиенты, которые полагаются на X11 и всегда будут. С этой целью XWayland предоставляет плагин наборщикам Уэйленда, выполняя реальный X-сервер. Это дает клиентам прежней версии реальную и совместимую платформу X11 для работы, отображенный бок о бок с собственными клиентами Уэйленда на сессии Уэйленда
Я приношу извинения за формулировку своего вопроса, "Xlib, и XCB будет вокруг в течение долгого времени все еще?" Фраза "долгое время все еще" просит мнение, и я имел в виду фактическое знание.
Где это говорит, что интервал, который кавычка включала здесь, что там "всегда будут" клиенты, полагающиеся на X11, я интерпретирую его для значения "в течение долгого времени все еще". Это довольно неопределенно, я знаю. Возможно, как программист я ожидаю слишком много точности от естественных языков.
Другая хорошая часть неточных новостей, которые имеют влияние, является ли это стоящим написанием кода, которое использует X11, - то, что нет мало ни к какому служебному штрафу "издержек выполнения X на Уэйленде".
Это все имеет меня решенный: я продолжу #include <Xlib-xcb.h>
и не будет волноваться об этом.