以前は、テキストコンソールに切り替えてX.orgを終了したrmmod
後、対応するNVIDIAモジュールをアンインストールし( )、新しいドライバをインストールした直後にNVIDIA独自のドライバを簡単に交換できました。
ただし、NVIDIA では KMS をサポートするドライバを実行することをお勧めします。options nvidia-drm modeset=1
これにより、カーネルモジュールをアンロードできなくなります(「デバイスを使用中」)。
Linuxカーネルを使用すると、次のコマンドを実行してテキストコンソールからグラフィックドライバをバインド解除できます。
echo 0 > /sys/class/vtconsole/vtcon1/bind
ただし、このコマンドはすべてのテキストコンソールを完全に無効にします。彼らは停止し、システムは実行され続けます。
このコマンドの後に別のコマンドを実行してNVIDIAドライバの前にテキストコンソールを駆動する組み込みドライバをカーネルで再度有効にする必要があるように見えますが、インターネットにはこれに関する情報はありません。
質問は〜です。いいえNVIDIAドライバのみ。オープンソースのKMSドライバ(Intel、AMD、またはNouveau)をアンインストールする方法を知っておくとよいでしょう。
起動時に次のように表示されます。
Console: colour dummy device 80x25
printk: console [tty0] enabled
fbcon: Deferring console take-over
fbcon: Taking over console
Console: switching to colour frame buffer device 128x48
これは私のものです.config
:
CONFIG_SYSFB=y
CONFIG_SYSFB_SIMPLEFB=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=200
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_FB_SIMPLE=y
私のコンテンツは次のとおりです/sys
。
$ find /sys -iname '*fb*'
/sys/class/graphics/fb0
/sys/class/graphics/fbcon
/sys/devices/platform/simple-framebuffer.0/graphics/fb0
/sys/devices/virtual/graphics/fbcon
/sys/module/drm_kms_helper/parameters/drm_fbdev_overalloc
/sys/module/drm_kms_helper/parameters/fbdev_emulation
/sys/module/fb
/sys/module/fb/parameters/lockless_register_fb
答え1
~によるとカーネルfbconドキュメント、以下を行う必要があります。
vbetoolをダウンロードまたはインストールしてください。ほとんどのディストリビューションにはこのユーティリティが含まれており、一時停止/再開ツールの一部であることがよくあります。
カーネル構成でCONFIG_FRAMEBUFFER_CONSOLEが「y」または「m」に設定されていることを確認してください。お気に入りのフレームバッファドライバの1つ以上を有効にしてください。
テキストモードで起動し、rootとして実行します。
vbetool vbestate save > <vga state file>
上記のコマンドは、グラフィックハードウェアのレジスタ内容を<vgaステータスファイル>に保存します。ステータスファイルは再利用できるため、この手順は一度だけ実行できます。
fbconがモジュールにコンパイルされている場合は、次のようにしてfbconをロードします。
modprobe fbcon
ここでfbconを切り離します。
vbetool vbestate restore < <vga state file> && \ echo 0 > /sys/class/vtconsole/vtcon1/bind
そうすると、VGAモードに戻ります。 fbconをモジュールにコンパイルした場合は削除できます
rmmod fbcon
。fbconを再接続します。
echo 1 > /sys/class/vtconsole/vtcon1/bind
fbconがバインド解除されると、システムに登録されているすべてのドライバもバインド解除されます。これは、fbconと個々のフレームバッファドライバを自由にアンロードまたは再ロードできることを意味します。ドライバまたはfbconを再ロードすると、コンソール、fbcon、およびドライバが自動的に一緒にバインドされます。 fbconを削除せずにすべてのドライバを削除すると、コンソールはfbconをバインドできなくなります。
このマニュアルでは、サンプルスクリプトも提供しています(前提条件があることを確認する必要があります)。
#!/bin/bash
# Unbind fbcon
# Change this to where your actual vgastate file is located
# Or Use VGASTATE=$1 to indicate the state file at runtime
VGASTATE=/tmp/vgastate
# path to vbetool
VBETOOL=/usr/local/bin
for (( i = 0; i < 16; i++))
do
if test -x /sys/class/vtconsole/vtcon$i; then
if [ `cat /sys/class/vtconsole/vtcon$i/name | grep -c "frame buffer"` \
= 1 ]; then
if test -x $VBETOOL/vbetool; then
echo Unbinding vtcon$i
$VBETOOL/vbetool vbestate restore < $VGASTATE
echo 0 > /sys/class/vtconsole/vtcon$i/bind
fi
fi
fi
done
この手順を実行してもまだ応答がない場合、ipaqmasterは多くのブロック状況を処理します。このスクリプトgpuLockHandler
機能から。
また、ヌーボーKMSドキュメント、CONFIG_VT_HW_CONSOLE_BINDINGも前提条件です(まだ見つからない項目がある場合)。