2016-01-20 248 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。