コンソール モードで解像度を向上させる (nVidia ドライバー)

コンソール モードで解像度を向上させる (nVidia ドライバー)

少し前に、デスクトップ システムを Ubuntu 18.10 から 19.04 にアップデートしようとしたときに、何かが失敗し、グラフィカル環境が動作しなくなってしまいました。

このため、コンソール (Ctrl+Alt+F3) を使用する必要がありましたが、これはうまく機能していました。実際、非常にうまく機能していました。画面は完全に使用され、フォントは鮮明で、小さいながらも、モニターの解像度にぴったり合うため、非常に読みやすかったです。最終的には、非常に広い作業スペースができました。 と連携してtmux、完璧な開発環境でした。

この新しいセットアップでとても快適に感じたので、数週間グラフィカル環境の修復を怠っていました。しかし、テキスト モードに欠けているものの 1 つに Firefox があり、これにアクセスしないとできることが限られていました。そこで、どうやら nVidia グラフィック ドライバーに関連する問題を修正しました。アンインストールして再インストールするだけで問題は解決しました。これでグラフィカル環境は完璧に動作します。

つまり、コンソール モードはもう「必要」ではないのですが、気に入っていたのでもう一度使いたいと思ったところ、残念なことに、解像度がデフォルトの 1024x768 に設定されていました。鮮明なフォントはなくなり、テキストは大きすぎてぼやけているため、作業環境が悪化し、読みにくい状態になっています。

そこで、解決策を探しに行きました。この質問はよく聞かれるようです。同じ答えのバリエーションがいくつも見つかりましたが、どれも を指していますgrub

さて、これは奇妙です。なぜなら、上記のシナリオでは、コンソールの解像度は変更されたのに、grub少しも変更されていないからです。怪しいです。それでも、私はしぶしぶ試してみました。解決策の良いバリエーションgrubは、こちらで読むモニターの解像度を使用して適用しましたが、機能しませんでした。解像度はまだ低く、ぼやけています。

vbeinfoさらに深く掘り下げていくと、 onを使用してリストすることから始まるビデオ モードの選択方法に関するアドバイスがいくつか見つかりましたgrub。これは機能しません。後で、代わりに使用するというメモを見つけましたvideoinfo。これは機能しますが、4x3 形式で 640 から 1280 までの「低解像度」モードのみがリストされます。

ついに、別の答えユーザー モードで使用できる を使用するhwinfoことを提案します。これにはさらに多くのモードがリストされていますが、それでも私のモニターのモードではありません。

sudo hwinfo --framebuffer 
02: None 00.0: 11001 VESA Framebuffer                           
  [Created at bios.459]
  Unique ID: xxxx
  Hardware Class: framebuffer
  Model: "NVIDIA GPU Board"
  Vendor: "NVIDIA Corporation"
  Device: "GPU Board"
  SubVendor: "NVIDIA"
  SubDevice: 
  Revision: "Chip Rev"
  Memory Size: 16 MB
  Memory Range: 0x01000000-0x01ffffff (rw)
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+1024), 8 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+2048), 16 bits
  Mode 0x0315: 800x600 (+4096), 24 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+5120), 24 bits
  Mode 0x0345: 1600x1200 (+1664), 8 bits
  Mode 0x0346: 1600x1200 (+3328), 16 bits
  Mode 0x034a: 1600x1200 (+6656), 24 bits
  Mode 0x0371: 1360x768 (+6144), 24 bits
  Mode 0x0377: 1920x1080 (+7680), 24 bits
  Config Status: cfg=new, avail=yes, need=no, active=unknown

私のモニターは、ネイティブ解像度 1680x1050、16:10 形式を提供しています。このリストには表示されません。これは、グラフィック カードが処理できないことを示しているようです。

しかし、グラフィカル モードでは完全に正常に動作します。さらに奇妙なのは、グラフィック ドライバーの状態が悪かったときに、コンソール モードの 1680x1050 は完全に動作していたことです。どういうわけか、グラフィック ドライバーを修正すると、コンソール モードの状況がさらに悪化しました。

前述のアクションに加えて試すことができることはありますか?

編集: で運試しをしてみましたがrEFInd、 では を通じてより合理的な設定エクスペリエンスが提供されます。つまり、このトリックはもう有効ではないrefind.confということだと思います。とにかく、設定は機能せず、ブートはすぐにそれについて文句を言い、 の選択肢を制限します。したがって、nVidia VGA Bios がサポートするものの制限により、 はその中から 1 つを選択するように制約されていると思います。grub2resolution 1680 1050640x480, 800x600, 1024x768, 1280x1024rEFInd

しかし、コンソールがブートローダーと同じ解像度を「継承」するように制限されているというのは奇妙に感じます。また、グラフィック ドライバーを修正する前は 1680x1050 のコンソールが正常に動作していた理由も説明されていません。

編集2grub:の解像度を に変更すると1280x1024、 で許可されている解像度の 1 つがvideoinfo、Ubuntu tty の解像度を同じ に変更することに成功しました1280x1024。ようやく、何らかの影響が出ました。デフォルトの よりも作業領域は増えますが、フォントはさらに読みにくくなります... nvidia ドライバーがめちゃくちゃになっているのに、なぜ tty を使用すると正常に動作していたのか、1024x768まだ説明がありません。1680x1050

編集3: 私のグラフィック環境が動作していなかった間、グラフィック ドライバーはおそらく によって提供されていたのではないかと考えていますnouveau。残念ながら、私のグラフィック カードは新しすぎたため (RTX2080)、互換性がありませんでした。しかし、どういうわけか、 にはnouveauフレームバッファー実装が機能しており、高解像度のコンソールを利用できるようになりました。これは、公式の nVidia ドライバーには奇妙なことに欠けているものです...

編集4: @Naoyuki Tai のリクエストに応じて、SSH リモート セッション経由で実行します :

sudo fbset -i

mode "1024x768-76"
    # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
    geometry 1024 768 1024 768 32
    timings 12714 128 32 16 4 128 4
    rgba 8/16,8/8,8/0,8/24
endmode

Frame buffer device information:
    Name        : EFI VGA
    Address     : 0x53000000
    Size        : 3145728
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 4096
    Accelerator : No

関連情報