目前,正在看minigui的newgal; ?禡Y!塢荪
看到是来自sdl,主要难点是framebuffer; 0朰隕Z?
特摘一篇文章,共同探讨framebuffer的使用 ??F骬D蛌
基于Linux核心的汉字显示的尝试 塾峿?麖溍
?1;府朑
僆啷R'}G!
在阐述基于Linux核心的汉字显示的技术细节之前,有必要介绍一下原有linux的工作机制。这里主要涉及到两部分的知识,就是Linux下终端和帧缓冲的实现. f+E???k
?Y?wA'
控制台(console) 3櫊?醷?E
y??T/ラ
通常我们在linux下看到的控制台(console)是由几个设备完成的。分别是/dev/ttyN(其中tty0就是/dev/console,tty1,tty2就是不同的虚拟终端(virtual console)).通常使用热键alt+Fn来在这些虚拟终端之间进行切换。所有的这些tty设备都是由linux/drivers/char/console.c和vt.c对应。其中console.c负责绘制屏幕上的字符,vt.c负责管理不同的虚拟终端,并且负责提供console.c需要绘制的内容。Vt.c把不同虚拟终端下需要交给console.c绘制的内容放到不同的缓存中去。Vt.c管理着这样一个缓冲区的数组,并且负责在其间切换,以指定哪一个缓冲区是被激活的。你所看到的虚拟终端就对应着被激活的缓冲区。Console.c同时也负责接收终端的输入,然后把接收到的输入放到缓冲区。 赋ln〦袵.?
{-?爪?
帧缓冲(framebuffer) 2_ 就磕O?
qh闱?匑Pn
Framebuffer是把显存抽象后的一种设备,可以通过这个设备的读写直接对显存进行操作。这种操作是抽象的,统一的。用户不必关心物理显存的位置、换页机制等等具体细节。这些都是由Framebuffer设备驱动来完成的。 0?Y 鷱E?
?&檐O?
阅读(723) | 评论(0) | 转发(0) |