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