Ich muss einen Cursor (Mauszeiger) auf dem Bildschirm unter Linux ohne X11 zeichnen. Dies ist zur Verwendung in einem eingebetteten System vorgesehen, wo alle anderen Zeichnungen direkt in einem Framebuffer (/dev/fb0
) stattfinden.Müssen Cursor in Linux Framebuffer zeichnen
- Die GUI-Bibliothek, die ich derzeit betrachte, bietet keine Cursor-Unterstützung.
- Ich könnte die Blitting selbst tun, aber ich bin besorgt über Aussehen und Leistung, zum Teil, weil ich nicht in der Lage sein, mit vsync (
FBIO_WAITFORVSYNC
) zu synchronisieren scheinen. - Ich weiß, dass fast jeder Grafikchip da draußen Hardware-Cursor unterstützt, aber DirectFB ist tot, libdrm benötigt X11, und ebenso für Mesa.
In What is hardware cursor and how does it work? behauptet die OP dieses mit ioctl
Anrufen erreicht zu haben, die besagen, dass es war einfach, aber sinkende weitere Details zu liefern, weil sein Code proprietär ist. Ich bin mir bewusst, FBIO_CURSOR
, aber es scheint nicht Standard und gibt immer EINVAL
auf meinem 3.10.0 Kernel.
Was ist der richtige Weg, um einen Framebuffer-Cursor in Abwesenheit von X11 zu zeichnen?
Josh, hast du das herausgefunden? Ich renne heute Abend selbst hinein. Nicht viel da draußen, wenn es um FBIO_CURSOR geht. –
@ Stéphane Bitte sehen Sie die Antwort, die ich gerade gepostet habe. –