On Wed, Mar 28, 2012 at 10:30:20AM -0700, Jesse Barnes wrote:
On Tue, 27 Mar 2012 16:57:29 +0200 David Herrmann dh.herrmann@googlemail.com wrote:
Hi
Motivated by Jesse's letter to the lazyweb [1] I worked on a kmscon program. It provides a terminal-emulator similar to the in-kernel terminal-emulator based on DRM. It is written from scratch and needs as external dependencies only mesa (libdrm, libgbm, libEGL, libGLESv2), udev, xproto (build-time dep), libxkbcommon, freetype2 and currently glib (only for unicode support). It uses a very recent version of libxkbcommon but it should be easy to fix ./src/kbd_xkb.c if you use an older version (or use --disable-xkbcommon to use a very basic keyboard handler).
Awesome! Now get the distros to pick this up and turn off CONFIG_VT! :)
Ville's comment about a texture atlas is a good one, if nothing else I think it should improve cache behavior.
You could also render a large batch of glyphs with just a single glDrawElements()/glDrawArrays() call. Looks like the current code does a glDrawArrays() for each glyph.