Entendo que o Wayland é um compositor, que de alguma forma está envolvido com eventos, para que o software do próximo nível possa se registrar no Wayland para receber eventos e assim por diante. Mas Wayland não fornece janelas, apenas superfícies para renderizar janelas e outros gráficos.
Eu coloquei um monte de tempo para ensinar-me de programação C e criar gráficos muito básicos com uma mistura de XCB e Xlib, que mistura facilmente: #include <Xlib-xcb.h>
. Gostaria de continuar programando nesse nível, usando eventos xcb, primitivas gráficas xcb, pixmaps, XImages ou xcb_image_t e a extensão MIT-Shm para criar pixmaps de memória compartilhada e ximages de memória compartilhada.
As superfícies mmap'ed de Wayland são atraentes porque me permitem melhor flexibilidade do que o MIT-Shm, que depende da memória compartilhada do SysV.
Existe uma camada de software que fornece o nível de funcionalidade do xcb? Posso depender do suporte a xcb e Xlib, para que um programa X11 possa ser executado como um cliente Wayland?
Não estou interessado em usar GTK + ou Qt como alternativas à funcionalidade do tipo xcb. Eles são para programação sofisticada de GUI e isso não é algo que eu quero - eu quero programação de baixo nível.
Vejo Wayland-egl.h, usado em exemplos. O egl fornece funcionalidade semelhante à que encontro no xcb? Onde posso encontrar tutoriais simples mas abrangentes? Existe alguma documentação tão boa quanto a Xlib? A documentação do Xcb é atroz, mas, tendo os manuais e os tutoriais do Xlib em mãos, aprendi a juntar alguns códigos úteis.
Como programador amador, as informações que encontro on-line são muito enigmáticas, mas sempre acabam sendo uma questão de familiaridade com os vários termos e as bibliotecas relevantes. Na verdade, programar o xcb não é tão complexo, é apenas detalhado e desconhecido.
As informações disponíveis são tão difíceis de analisar e parecem não ter muitos detalhes importantes OU estão escritas em uma linguagem muito obscura e desconhecida para que eu possa entender. Alguém tem algumas dicas para o programador não iniciado, mas razoavelmente bom?
fonte
Respostas:
Isso é embaraçoso: eu deveria ter consultado as Perguntas frequentes sobre Wayland do X.Org mais de uma vez. Encontrei a resposta para a minha pergunta exatamente onde a procurei pela primeira vez ... [wayland.freedesktop.org/faq}[1]
Peço desculpas pela redação da minha pergunta: "O Xlib e o XCB estarão por aí por um longo tempo ainda?" A frase "muito tempo parado" está pedindo uma opinião e eu quis dizer conhecimento factual.
Onde diz que na citação incluída aqui que "sempre haverá" clientes que dependem do X11, eu interpreto isso como "por um longo tempo ainda". É meio vago, eu sei. Talvez como programador eu espere muita exatidão das linguagens naturais.
Outra boa notícia inexata, que vale a pena escrever código que usa o X11 é que há pouca ou nenhuma penalidade de sobrecarga "a sobrecarga de rodar o X em Wayland".
Tudo isso me decidiu: vou continuar
#include <Xlib-xcb.h>
e não vou me preocupar com isso.fonte