-コンテンツへスキップこのwebサイトの先進的な機能は、ブラウザーのJavaScriptを有効にする必要があります。1件のコメントXを使わないCUI環境でコンソールの解像度を変更する方法について覚書です。Cyberblade等)のドライバを有効にする方法を調べました。環境まだ動いているのかと言われそうな古いノートPCです(Windows98時代の一品)。CyberBlade用フレームバッファドライバを動かすべく奮闘しました。15年くらい前の機種になるのでしょうか。こんな貧弱なスペックでもCUI環境ならまだまだ動いてくれます。フレームバッファドライバをロードするフレームバッファの状態を確認するまず、コンソール(CUI)で解像度を変更するためにはフレームバッファを有効にする必要があります。環境によってまちまちだと思うので、まずは現在の環境でフレームバッファが有効になっているかどうか確認します。以下のようにコマンドを実行してください。directory"などとメッセージが出るなら有効になっていません。次のパターン2もしくはパターン3に進んでください。デバイスの情報が表示されるようであれば有効になっています。パターン1に進んでください。比較的最近のGPU(nvidia,radeonやintel)が載っているPCが該当します。OSにDRM/KMS対応ドライバが組み込まれていて、何もしなくとも対応するドライバがロードされていると思います。自分の環境でDRM/KMS対応ドライバが読み込まれているかどうかは、dmesgでkernelログを確認すれば分かります(以下はVMWare環境のものです)。0...すでにフレームバッファも有効になっているのでfbsetで情報を見ることが出来ます。NoDRM/KMS対応ドライバが読み込まれている環境で解像度を変更したい場合は、grubの設定ファイルに表示したい解像度を記載します。/etc/default/grubGRUB_GFXMODE=1024x768x32GRUB_GFXPAYLOAD_LINUX=keepgrubの設定を更新します。update-grub2あとは再起動すればコンソールの解像度が変更されます。No(パターン2)vesafbを使用する場合DRM/KMS対応ドライバが無い場合、汎用ドライバであるvesafbを使用するのが最も簡単です。Debianではvesafbはkernelに組み込まれています。DRM/KMS対応ドライバのパターンと同じようにGRUBの設定を以下のように変更します。解像度はご使用の環境にあわせてください。update-grub2あとは再起動すればOKです。このままだと表示がもっさりと重く感じるかもしれません。その場合はカーネルオプションに”video=vesafb:ywrap,mtrr:3”を追加してみてください。/etc/default/grubGRUB_CMDLINE_LINUX=”video=vesafb:ywrap,mtrr:3”(パターン3)GPU固有のフレームバッファドライバを使用する場合さて、15年以上前のレガシーなノートPCをどうにかして活用しようとする奇特な人(私です)にとって本命です。他のパターンより面倒です。目的のドライバを探すLinuxには古いGPU向けのフレームバッファドライバ(DRM/KMS非対応のkernelモジュール)が存在していて、これを使うとvesafbよりもパフォーマンスの向上が期待できるかもしれません。稀だとは思いますがvesafbが上手く動作しないという場合には最後の希望となります。Kernelのドキュメントが参考になります。この中から目的のGPUに対応したものを探してください。Documentation/fbhttps://www.kernel.org/doc/Documentation/fb/00-INDEXこの記事では私の古いノートPCに対応した”tridentfb”を使用します。念の為、以下のようにして目的のドライバがあることを確認しておきます。目的のドライバを見つけたら、次に自分の環境で動作するか確認します。その前準備として別のフレームバッファドライバが読み込まれていないか再度確認してください。-ivesafbが読み込まれている場合は必ず無効にしてください。以降のドライバをロードする際に失敗します。/etc/default/grubの以下のオプションを削除します。GRUB_GFXMODE=GRUB_GFXPAYLOAD_LINUX=kernelオプションで以下のものを指定している場合は削除します。vga=video=設定を変更したら反映/再起動してフレームバッファが無効になったことを確認してください。ドライバの動作確認を行う次に、実際にドライバをロードして動作確認します。画面表示が乱れることがあるので、ssh接続で作業したほうが良いかもしれません。一発で動作すればよいのですが、ドライバオプションの試行錯誤が必要になることもあります。フレームバッファドライバは一度ロードすると削除してもう一度読み込むのに手順が必要になります。(step.1)まず、フレームバッファドライバをロードしていない状態で以下のコマンドを実行します。~/vga_state(step.2)次に目的のドライバをロードします。ここではtridentfbを解像度1024x768、色調16bitに指定しています。上手くいけば解像度が切り替わります。fbsetでフレームバッファの情報も表示されるはずです。BladeXP(step.3)上手くいかない場合は、一旦ドライバを削除してオプションを見直します(dmesgに何かエラーログが出力されているかもしれません)。以下のようにコマンドを実行してください。すると画面の表示が元に戻ります。この状態になればドライバを削除出来ます。tridentfb再びドライバオプションを変更してベストな設定を探します。各ドライバのオプションについては以下にあるドキュメントを参考にしてください。/doc/Documentation/fb/https://www.kernel.org/doc/Documentation/fb/(step.4)上手く動作するオプションを見つけたら、modprobe.dに設定ファイルを追加して書き込みます。/etc/modprobe.d/tridentfb.conf起動時にドライバを読み込むよう設定する最後にブート時にドライバを読み込むように設定します。標準ではtridentfbのようなフレームバッファドライバはブート時にロードしないようblacklist指定されているので、これを修正します。debianの場合、modprobe.dが以下の2箇所に存在しています。このうちブート時に関係するのは"/lib/modprobe.d"です。このディレクトリはinitramfsに組み込まれます。/etc/modprobe.d/lib/modprobe.d(step.1)以下のファイルを修正してください。tridentfbの行をコメントアウトします(トラブルの元になるので必要なドライバだけコメントアウトするのが無難だと思います)。vt8623fb(step.2)initramfsを再構築します(元のinitramfsは念の為バックアップ)。-r)(step.3)PCを再起動してください。問題なく解像度が切り替われば成功です。Dynabookでtridentfbが動作しました。始まりは古い古ーいDynabookを押入れから引っ張り出したことでした。スペックはディスプレイの面積以外で中古のスマートフォンにすら完敗していますが、画面はそこそこ大きいので実験机の棚に乗っけて簡単な自家製計測器をモニタするには丁度よさげだったのです。USB/シリアルで繋いでやり取りするだけなんで、重いXなしでCUI環境にしよう、ということでコンソールの解像度を変更する方法を探しました。vesafbを使うのが一番簡単でしたが、Linuxカーネルの中にTridentのドライバを発見。使ってみようと試行錯誤の結果が本記事です。正直なところ、こんな古い世代のボロいノートPCを持っている人は少ないでしょうし使おうとする人は更に稀だと思いますが、なぜか意地になっていました。いえば学生時代(このDynabookも現役だった)に同じようにTridentのドライバを使おうとして頓挫したような記憶が薄っすらと・・・。十数年越しのリベンジとなりました。参考この記事は以下の内容を参考にさせていただきました。PCsukeについて自転車で日本一周旅行に出ようとー思い立ったエンジニア。ガジェット類やセミナーに目がない。Cyber搭載のPentium(無印)搭載機を動かしているのですが、画面表示がまともにできず困ってたので助かりました!ありがとうございます。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。