以前使用过Linux FB,我可以解决您的问题。
Linux如何执行其功能块。
首先,您需要在内核中具有与硬件相对应的FrameBuffer支持。大多数现代发行版都通过内核模块提供支持。您的发行版是否预配置了启动徽标都没关系,我不使用一个并具有FB支持。
如果您有专用的图形卡,则无关紧要,只要支持硬件帧缓冲,集成的显卡就可以工作。
您不需要X,这是拥有FrameBuffer的最诱人的方面。有些人并不了解,所以他们提倡某种形式的X来解决他们的误解。
您不需要直接使用FB,许多人错误地认为。一个非常出色的使用FrameBuffer开发的库,DirectFB
它甚至还提供了一些基本的加速支持。如果您要启动一个功能齐全的基于FB的项目(Web浏览器,游戏,GUI ...),我总是建议至少检查一下
特定于您的硬件
使用Vesa通用FrameBuffer,其模块称为vesafb
。您可以使用命令加载它(如果有) modprobe vesafb
。许多发行版已将其预配置为禁用,您可以签入/etc/modprobe.d/
。blacklist vesafb
可能需要与被注释掉#
,在一个blacklist-framebuffer.conf
或其他黑名单文件。
最佳选择是特定于硬件的KMS驱动程序。英特尔的主要产品是英特尔GMA,不确定其模块的名称。您将需要从发行文档中阅读有关它的信息。这是性能最好的FB选项,如果可能的话,我个人始终会优先选择KMS。
使用特定于旧版硬件的FB驱动程序,不建议使用,因为它们有时有故障。我将避免使用此选项,除非需要最后的手段。
我相信这涵盖了您的所有问题,并应提供信息以使该/dev/fb0
设备可用。任何更具体的内容都需要分发详细信息,如果您有一定的经验,那么RTFM应该就是您所需要的。(阅读本文后)。
希望我有所帮助,幸运的是您询问我的一个主题!在UNIX-SE上,这是一个被忽略的主题,因为并不是每个人(都知道)都使用Linux FrameBuffer。
注意:UvesaFB或VesaFB?
您可能已经读过人们uvesafb
对over的使用vesafb
,因为它具有更好的性能。这通常是正确的,但在具有现代硬件的现代发行版中却并非如此。如果您的图形硬件支持保护模式VESA(VESA> = 2.0),并且您的内核较新,vesafb
则是更好的选择。
/dev/fb0
启动并运行,请务必接受我的回答。很少有在不太常见的主题上有实际经验的人,到处给出总部的答案。它们确实存在于UNIX-SE上,这是一个相对不常见的主题,因此专家较少。