Je ne suis pas sûr que vous sachiez vraiment ce que vous demandez, sinon vous l'auriez formulé de manière à répondre. ... Mais pour faire de mon mieux, en répondant à votre question.
Vous voulez définir un mode et penser à de la «mémoire vidéo»? comme l'ancien mode dos X jours ?? Si c'est ce que vous voulez, vous devez programmer avec le Framebuffer. Cela dit, il serait préférable de travailler avec DirectFB. DirectFB est comme une couche très fine, avec accélération, sur le Framebuffer. Son faible niveau et, à vrai dire, son aussi bas que vous devriez raisonnablement vouloir écrire des applications. Vous seriez en mesure de définir des modes et d'avoir un contrôle dans un style plus bas. Si vous voulez un contrôle direct et direct du style, vous devez écrire Framebuffer brut, vous devez essentiellement sortir un ram vidéo. Si vous pensez que Framebuffer fonctionne mal, je ne saurais trop insister, consultez DirectFB. Si quelqu'un a un pilote KMS chargé, son Framebuffer est défini via KMS / libdrm.
Maintenant, comme pour libdrm, c'est une bibliothèque d'espace utilisateur pour travailler avec le noyau DRM. Ce n'est pas un Framebuffer, ce n'est pas une API d'application, c'est une bibliothèque de périphériques système. Si vous souhaitez créer un nouveau pilote de périphérique, libdrm est le chemin absolu. Par exemple, libdrm-radeon. Linux n'est pas DOS, le seul moyen de communiquer directement avec le matériel est via le noyau. Toutes les applications normales n'envoient jamais de code directement au matériel, il doit être supprimé dans certains appels lib / API /. Il existe des projets qui ont adopté l'approche intégrée au noyau, à des fins académiques / expérimentales, tels que FBUI.
J'espère que j'aurais pu au moins vous orienter dans la bonne direction, sinon vous devriez commenter et mettre à jour votre question. J'ai suivi cette question depuis sa conception, qui était il y a au moins deux migrations et pas plus proche de la réponse. Sans plus d'informations, il n'y a vraiment plus rien à dire.