系统相关
首页 > 系统相关> > Linux Framebuffer正确设置分辨率

Linux Framebuffer正确设置分辨率

作者:互联网

我有一个RaspberryPi,并且希望在没有xserver的情况下全屏显示图像-因此请将其直接写入帧缓冲区.没问题

但是将其全屏设置是行不通的.

cat /sys/class/graphics/fb0/modes

产量:

U:1024x768p-0
U:1920x1200p-0
U:1920x1080p-0
U:608x684p-0

所以我用

fbset -xres 1920 -yres 1200 -match

导致

>>fbset
mode "1920x1200"
geometry 1920 1200 1920 1200 16
timings 0 0 0 0 0 0 0
rgba 5/11,6/5,5/0,0/16
endmode

如果我现在使用fbi来显示图像,或仅填充帧缓冲区/ dev / urandom>> / dev / fb0,仅部分屏幕被填充.显示部分的长宽比等正确,周围只有一个大的黑色边界.

如果我使用其他分辨率,一切都会按预期运行,例如fbi中的stats-line变大等.

我做错了什么?

解决方法:

为fbset尝试以下格式:

fbset -fb /dev/fb0 -g 1920 1200 1920 1200 16 

并检查您是否真正在查看fb0而不是fb1:

fbset -fb /dev/fb0

仔细检查实际设置的内容:

cat /sys/class/graphics/fb0/mode

还尝试使用以下命令运行fbi(同样,确保使用的是fb0):

fbi -d /dev/fb0 image.png

您还可以通过以下操作将设置强制进入fb0:

echo U:1920x1200p-0 > /sys/class/graphics/fb0/mode

从技术上讲,这就是fbset要做的.
只要确保fb1不会搞砸.

最后,确保您的控制台正在使用fb0.我敢肯定

con2fbmap 1

您可能还需要重新启动,因此请检查您的设置是什么:

cat /proc/cmdline

如果不是1920×1200,请更新为1920×200.我认为它位于树莓派的/boot/cmdline.txt中.对我来说,它是/boot/uEnv.txt.

标签:framebuffer,graphics,linux,raspbian
来源: https://codeday.me/bug/20191027/1944553.html