No estoy seguro de que realmente sepa lo que está pidiendo, de lo contrario, lo habría expresado de manera responsable. ... Pero para hacerlo lo mejor posible, respondiendo a tu pregunta.
¿Desea establecer un modo y generar algo de 'memoria de video'? como el viejo modo dos días X ?? Si esto es lo que desea, debe programar con Framebuffer. Dicho esto, sería mucho mejor trabajar con DirectFB. DirectFB es como una capa muy delgada, con aceleración, en Framebuffer. Es de bajo nivel y, sinceramente, es tan bajo como razonablemente debería desear ir escribiendo aplicaciones. Podrías establecer modos y tener control en un estilo de nivel más bajo. Si desea un control de estilo directo y directo, debe escribir Framebuffer sin formato, básicamente debe asignar un poco de ram de video. Si cree que Framebuffer funciona mal, no puedo enfatizar lo suficiente, consulte DirectFB. Si alguien tiene un controlador KMS cargado, su Framebuffer se configura a través de KMS / libdrm.
Ahora, en cuanto a libdrm, es una lib de espacio de usuario para trabajar con el kernel DRM. No es un Framebuffer, no es una API de aplicación, es una biblioteca de dispositivos del sistema. Si desea crear un nuevo controlador de dispositivo, libdrm es la mejor opción. Por ejemplo, libdrm-radeon. Linux no es DOS, la única forma de comunicarse directamente con el hardware es a través del núcleo. Todas las aplicaciones normales nunca envían código directamente al hardware, debe ser procesado en alguna lib / API / call. Hay proyectos que han adoptado el enfoque en el núcleo, con fines académicos / experimentales, como FBUI.
Espero que al menos te haya señalado en la dirección correcta, si no, deberías comentar y también actualizar tu pregunta. He seguido esta pregunta desde su concepción, que fue hace al menos dos migraciones y no está más cerca de la respuesta. Sin más información, realmente no hay más que pueda decirse.