web-dev-qa-db-ja.com

Linuxフレームバッファが解像度を正しく設定

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が大きくなるなどです。

私は何を間違えますか?

5
user3696412

Fbsetで次の形式を試してください。

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

そして、あなたが本当にfb1ではなくfb0を見ていることを確認してください。

fbset -fb /dev/fb0

実際に設定されたものを再確認してください。

cat /sys/class/graphics/fb0/mode

また、(fb0を使用していることを確認するために)でfbiを実行してみてください。

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に更新します。 RaspberryPiの/boot/cmdline.txtにあると思います。私にとっては/boot/uEnv.txtです。

5
Jeff DeCola