私はLinuxフレームバッファを探しています。/dev/fb0sudo fbset -i
、Fedora 23のGnome 3(Terminatorを使用)の仮想コンソールで実行すると、フレームバッファサイズは1280x768と報告されますが、Gnomeデスクトップの解像度は1680x1050です。なぜ?FBセットフレームバッファが1280x768であることを教えてください。
フル出力fbset -i
:
mode "1280x768"
geometry 1280 768 2048 2048 32
timings 0 0 0 0 0 0 0
rgba 8/16,8/8,8/0,0/0
endmode
Frame buffer device information:
Name : svgadrmfb
Address : (nil)
Size : 16777216
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 0
LineLength : 8192
Accelerator : No
答え1
短い答えあるディスプレイでコマンドを実行し、fbset が別のディスプレイについて通知します。これら2つのディスプレイはフレームバッファ、ttyを実行するものは何ですか? CLI画面とディスプレイマネージャ、Gnomeセッションを提供します。
より長い答えこれフレームバッファ起動時には通常Alt-F1などを使用してF2アクセスするテキストコンソールに使用されます。
小人はディスプレイマネージャまた、グラフィックアプリケーション用のXサーバーも提供しています。これらはほとんど互いに独立していますが、ほとんどのシステムでは共通の「Direct Render Manager」またはDRMドライバを共有します。これにより、ビデオハードウェアをリセットしたり、奇妙なグラフィックスゴミを見たりすることなく2つの間を交換することができます(数年前にXサーバーが完全にユーザースペースで実行され、ハードウェアと直接通信したときにやらなければならなかったように)。また、フレームバッファベースのスタート画面からディスプレイマネージャベースのグリーティング画面にシームレスに切り替えることができます。
Altフレームバッファtty2コンソールに入ると、F2ログインして試してみるのがfbset
より合理的であることがわかります。いくつかの言葉で警告で終わらなければなりませんが。それでもあなたが想像するように動作しないかもしれません。多くの最新のフレームバッファは、実際にはハードウェア解像度を変更せず、その画面の「ウィンドウ」のみを変更します。したがって、fbset ではより低い解像度を選択できますが、画像は大きくなりません。テキスト出力は、画面の左上隅に配置された小さなブロックに制限されます。誰かがそれを動作させる方法に答えることができれば、私は非常に興味があります。
もっと深く知りたい場合は確認してみてください。このウェブサイト。すべてを一つにまとめる美しい絵があります。
答え2
Gnomeは別のフレームバッファデバイスを使用しており、解像度を変更するのは仮想コンソールが使用することです。