Eu não tenho certeza se você realmente sabe o que está pedindo, caso contrário você teria formulado de uma maneira que seja responsável. ... Mas para fazer o meu melhor, respondendo sua pergunta.
Você quer definir um modo e extrair alguma 'memória de vídeo'? como o antigo dos modo X dias ?? Se é isso que você quer, você precisa programar com o Framebuffer. Com isso dito, seria muito melhor trabalhar com o DirectFB. O DirectFB é como uma camada muito fina, com aceleração, no Framebuffer. Seu nível baixo, e sinceramente, é tão baixo quanto você deveria razoavelmente querer ir escrevendo aplicativos. Você seria capaz de definir modos e ter controle em um estilo de nível mais baixo. Se você quer um controle de estilo direto e direto, você tem que escrever o Framebuffer raw, você basicamente faz o mmap de algum ram de vídeo. Se você acha que o Framebuffer tem um desempenho ruim, não posso me estressar o bastante, confira o DirectFB. Se alguém tiver um driver KMS carregado, seu Framebuffer será configurado via KMS / libdrm.
Agora, quanto ao libdrm, é uma biblioteca do userspace para trabalhar com o kernel DRM. Não é um Framebuffer, não é uma API de aplicativo, é uma biblioteca de dispositivos do sistema. Se você quiser criar um novo driver de dispositivo, o libdrm é o caminho absoluto a seguir. Por exemplo, libdrm-radeon. Linux não é DOS, a única maneira de se comunicar diretamente com o hardware é através do kernel. Todas as aplicações normais nunca enviam código diretamente para o hardware, ele deve ser lançado em algum lib / API / call. Existem projetos que adotaram a abordagem in-kernel, para fins acadêmicos / experimentais, como o FBUI.
Espero ter pelo menos apontado na direção certa, caso contrário, você deve comentar e também atualizar sua pergunta. Eu tenho seguido esta questão desde a sua concepção, que foi pelo menos duas migrações atrás e não mais próxima da resposta. Sem mais informações, Realmente não há mais nada que possa ser dito.