フレームバッファデバイスなし:有効にするには?

フレームバッファデバイスなし:有効にするには?

私はDebian Squeezeを実行しているヘッドレスホームサーバーで動作するようにPCMCIAチューナーカードを入手しようとしています。 VLCを使用してビデオをキャプチャ、トランスコーディングし、ネットワークにストリーミングするのに適したコマンドラインを見つけるのが難しいので、最初にローカル出力を処理しながら段階的に実行することにしました。

問題のある場所は次のとおりです。接続された画面にグラフィックを表示するためにアクセスできるフレームバッファデバイス(/dev/fb0)がないようです!私は実際にLinux Penguinのイメージなしで起動したことを発見しました(画面は接続されていますが、常にオフになっていて、とにかくコンピュータの電源がいつもオンになっていたため、これまで気づかなかった)。

私はLinuxグラフィックに精通していないので、次のことを知りたいです。

  • これは私の特定のハードウェアに関連していますか(下記参照)?それともDebian Squeeze /カーネルバージョン/ ...に固有のものですか?
  • 手動でインストール/ロードする必要があるドライバがありますか?

今、いくつかの一般的な情報:

  • このコンピュータには専用のグラフィックカードはありませんが、マザーボード(Gigabyte G31M-ES2L)には内蔵グラフィックチップセット(Intel G31 Express)が組み込まれています。
  • 私はすべての機能を備えたXサーバーをインストールしたくないので、この特定のテスト用のフレームバッファデバイスだけをインストールしたいと思います。

この問題について考え/コメントがありますか?

答え1

以前はLinux FBを使ったことがあるので、あなたの質問に答えることができます。

LinuxはFBをどのように実行しますか?

  1. まず、カーネルにはハードウェアに対応するFrameBufferサポートが必要です。ほとんどの最新のディストリビューションはカーネルモジュールを介してサポートを提供します。ディストリビューションに事前設定された起動ロゴがあるかどうかは問題ではありません。私はそれを使用せず、FBをサポートしています。

  2. 専用グラフィックカードがあるかどうかは問題ではありません。統合グラフィックスは、ハードウェアフレームバッファをサポートする限り動作します。

  3. FrameBufferの最も魅力的な側面であるXは必要ありません。何人かの人々はよく理解していないので、彼らの誤解を解決するために何らかの形のXを擁護しています。

  4. FBを直接使用する必要はありません。これは多くの人がする間違った仮定です。 FrameBuffer開発のための本当に素晴らしいライブラリであり、DirectFBいくつかの基本的な加速サポートも提供します。 FB(Webブラウザ、ゲーム、GUI...)に基づいて完全な機能を備えたプロジェクトを開始する場合は、少なくとも確認しておくことをお勧めします。

お客様のハードウェア固有

  1. モジュールが呼び出されるVesa Generic FrameBufferを使用してくださいvesafb。利用可能な場合は、コマンドを使用してロードできます modprobe vesafb。多くのディストリビューションはこの機能を無効にするように事前設定されており、チェックインできます/etc/modprobe.d/。あるいは、他のブラックリストファイルでそれを使用してblacklist vesafbコメントアウトする必要があるかもしれません。#blacklist-framebuffer.conf

  2. 最良のオプションはハードウェア固有のKMSドライバです。 Intelの主なモジュールはIntel GMAです。モジュール名が何であるかは不明です。展開文書でこれを読む必要があります。これは最もパフォーマンスの良いFBオプションであり、私は個人的に可能であれば常にKMSを最初に選択します。

  3. 古いハードウェア固有のFBドライバを使用することは時々バグを引き起こす可能性があるため、お勧めできません。最後の手段を除いて、このオプションは使用しません。

/dev/fb0私はこれがあなたのすべての質問に対処し、デバイスを使用できるように情報を提供する必要があると思います。より具体的な内容には展開の詳細が必要で、経験がある場合はRTFMだけが必要です。 (この記事を読んだ後)。

私が役立つことを願っています。幸運なことに、私のトピックの1つについて質問することができます!誰もが(意図的に)Linux FrameBufferを使用しているわけではないので、これはUNIX-SEで見落とされるトピックです。

注:UvesaFBまたはVesaFB?

パフォーマンスが良いので、人々が理想を使用uvesafbしていることを読んでください。vesafbこれは通常真ですが、最新のハードウェアを使用する最新のディストリビューションではそうではありません。グラフィックスハードウェアが保護モードVESA(VESA> = 2.0)をサポートし、最新のカーネルを使用している場合は、vesafbより良い選択になります。

答え2

ついに私の問題の解決策を見つけました! !

まず、すべての貢献者、特にTechZillaと彼が提供した詳細な説明に大いに感謝します。この説明がなかったらあきらめたようです!

だから基本的に必要なのはモード設定を有効にするだけですmodeset=1i915カーネルモジュールがロードされたとき。これは一般的な方法で行うことができます。

  • GRUBのカーネルパラメータを介して
  • 構成ファイル経由/etc/modprobe.d
  • またはコマンドラインから:

    # rmmod i915
    # modprobe i915 modeset=1
    

実際にパッケージをインストールすると、何もする必要はなく、含まれているパッケージがxserver-xorg-video-intel作成されます。ただし、誰かがXをインストールしたくない場合(私の場合のように)、KMSは自動的にアクティブになりません。 、FrameBufferデバイスが生成されない理由を説明します.../etc/modprobe.d/i915-kms.confoptions i915 modeset=1

答え3

アドオンと標準のカーネルを持たない標準のDebianインストールでは、「vga = 792」(24ビット1024×768など)などのカーネルパラメータを持つフレームバッファデバイスを使用してVGAコンソールを取得できます。 。もちろん、カーネルでは廃止されたと報告していますが、動作します。

バラよりhttp://www.kernel.org/doc/Documentation/kernel-parameters.txtカーネルパラメータの場合。興味深いことに、「vga =」パラメータテーブルは廃止されたとマークされていません。

変更後は必ず update-grub(2) などを再実行してください。

また確認してみてくださいhttp://packages.debian.org/squeeze/svgalib-bin完璧ではありませんが、コンソールで素晴らしいグラフィック操作を実行できます。

答え4

Xvfb(X Virtual Framebuffer)などの仮想フレームバッファを試すことができます。

Squeezeのxvfbパッケージの説明

関連情報