我怎么知道我是否启用了帧缓冲区?我实际上不太明白帧缓冲区是什么。
我的/etc/initramfs-tools/conf.d/splash文件有这个:(echo FRAMEBUFFER=y因为我正在关注这个答案)。
这显示了检测它是否已启用的两种方法。该ls -l /dev/fb*测试是肯定的,但grep -i "frame buffer" /var/log/syslog检测结果为阴性!哈哈哈哈哈XD
简而言之,内存的一部分负责包含屏幕或“框架”的当前外观,因此称为framebuffer.
在 Linux 下(如果我们还记得“一切都是文件”的 Unix 哲学)您可以(以 root 用户身份)写入的实际帧缓冲设备是/dev/fb0. 图形 X 服务器和其他几个程序,例如fbi和fbterm能够写入它。我在这个网站上用过这里来回答这样的问题:
坦率地说,我不太确定为什么您链接的答案可以通过/etc/initramfs-tools/conf.d/splash. 根据此,framebuffer支持的东西,会在内核模块被激活。例如,这是我的dmesg日志输出:它显示为帧缓冲区分配了内存,尽管我没有/etc/initramfs-tools/conf.d/splash
$ grep -i 'frame.*buffer' /var/log/dmesg
[ 0.847413] vesafb: framebuffer at 0xd0000000, mapped to 0xffffc90001000000, using 3072k, total 3072k
[ 1.016865] Console: switching to colour frame buffer device 128x48
[ 1.185527] fb0: VESA VGA frame buffer device
[ 7.648201] Console: switching to colour frame buffer device 170x48
[ 7.730459] radeon 0000:01:05.0: fb0: radeondrmfb frame buffer device
Run Code Online (Sandbox Code Playgroud)
也许您链接的答案适用于前几年引用的解决方案,但不能保证该信息仍然相关 - linux 内核已添加对许多模块的支持并更改为支持许多不同的硬件,因此可能的解决方案已更改
考虑提出与 Nvidia 图形相关的实际问题。与弄清楚所有小细节相比,它会为您节省更多时间