Posté par freem .
En réponse au message server X et frame buffer..
Évalué à 5.
Dernière modification le 29 juillet 2019 à 23:10.
Plusieurs choses: le framebuffer est une interface mise à disposition par le noyau, et relativement simple à utiliser. Donc, sans noyau, pas de framebuffer, juste du VESA ou autres joyeusetés bas niveau.
Le nom du fichier de framebuffer est /dev/fb0 sur mon linux. Il est probablement possible d'en avoir plusieurs, pour gérer du multi-écran, mais j'ignore comment.
Il faut faire partie du groupe video, et pour gérer les entrées, du groupe input, sous Debian.
Pour aider plus sur la question réelle, voici un lien qui explique comment utiliser les framebuffer de linux, entres autres, et sans bibliothèque.
Pour info, la SDL gère de manière expérimentale et super foireuse le framebuffer, et ce, en s'appuyant sur le bloatware non maintenu qu'est directfb. Pour avoir essayé, je déconseille fortement.
Tu trouveras aussi des informations (en plus du lien que j'ai passé plus haut) dans le fichier /usr/include/linux/fb.h. Pour les entrées, je te conseilles l'usage de libinput, un peu galère a utiliser, et l'usage sans udev est pas franchement bien documenté, mais ça juste marche pour moi jusqu'à présent. Restera le problème du curseur texte qui reste affiché, pour ça, /usr/include/linux/kd.h te sera utile: il faut passer le TTY en KD_GRAPHICS si ma mémoire est bonne. Le problème étant que cet appel de ioctl nécessite d'être root, je n'ai pas trouvé comment résoudre ça autrement, peut-être avec les capabilities, mais vu comment c'est documenté... bonne chance. Il doit y avoir moyen de faire autrement, c'est sûr, mais j'ai pas encore cherché. Une piste serait d'analyser le code de logiciels de ngetty ou fgetty.
# sans noyau, pas de framebuffer...
Posté par freem . En réponse au message server X et frame buffer.. Évalué à 5. Dernière modification le 29 juillet 2019 à 23:10.
Plusieurs choses: le framebuffer est une interface mise à disposition par le noyau, et relativement simple à utiliser. Donc, sans noyau, pas de framebuffer, juste du VESA ou autres joyeusetés bas niveau.
Le nom du fichier de framebuffer est /dev/fb0 sur mon linux. Il est probablement possible d'en avoir plusieurs, pour gérer du multi-écran, mais j'ignore comment.
Il faut faire partie du groupe video, et pour gérer les entrées, du groupe input, sous Debian.
Pour aider plus sur la question réelle, voici un lien qui explique comment utiliser les framebuffer de linux, entres autres, et sans bibliothèque.
Pour info, la SDL gère de manière expérimentale et super foireuse le framebuffer, et ce, en s'appuyant sur le bloatware non maintenu qu'est directfb. Pour avoir essayé, je déconseille fortement.
Tu trouveras aussi des informations (en plus du lien que j'ai passé plus haut) dans le fichier /usr/include/linux/fb.h. Pour les entrées, je te conseilles l'usage de libinput, un peu galère a utiliser, et l'usage sans udev est pas franchement bien documenté, mais ça juste marche pour moi jusqu'à présent. Restera le problème du curseur texte qui reste affiché, pour ça, /usr/include/linux/kd.h te sera utile: il faut passer le TTY en KD_GRAPHICS si ma mémoire est bonne. Le problème étant que cet appel de ioctl nécessite d'être root, je n'ai pas trouvé comment résoudre ça autrement, peut-être avec les capabilities, mais vu comment c'est documenté... bonne chance. Il doit y avoir moyen de faire autrement, c'est sûr, mais j'ai pas encore cherché. Une piste serait d'analyser le code de logiciels de ngetty ou fgetty.
Bonne chance.