gpt4 book ai didi

Linux Framebuffer 正确设置分辨率

转载 作者:IT王子 更新时间:2023-10-29 01:13:36 26 4
gpt4 key购买 nike

我有一个 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 中的统计行变大等。

我做错了什么?

最佳答案

为 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。

关于Linux Framebuffer 正确设置分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34904763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com