2016-01-20 251 views
2

我有一个RaspberryPi,并希望显示一个没有xserver的全屏图像 - 所以直接写入framebuffer。这里没问题。Linux Framebuffer正确设置分辨率

但设置全屏不起作用。

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变大等

我该怎么办错了吗?

回答

1

试试这个格式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 

如果它不是1920x1200的,更新到1920x200。我认为它位于/boot/cmdline.txt树莓派。对我来说它是/boot/uEnv.txt。