再起動せずにnvidia-currentとnouveauを切り替えますか?


24

NvidiaのBLOBとNouveauビデオドライバーをオンザフライで切り替えることは可能ですか?

私はできる必要があると思う:

  1. [✓] nvidiaをアンロードします
  2. [✓] nouveauをアンロードします
  3. [✕] nouveau *をアンロードした後、コンソールを復元します
  4. [✓] xorg.confファイルを交換します
  5. [✓]ブラックリストの世話をする
  6. [✓] libglx.soを扱う

*)#nouveauのメンバーと少し話をした後、現在のUbuntuのセットアップ(vesafbに組み込まれている)では難しいか、不可能にさえ思えます。私はそれをuvesafbで動作させようとしていますが、今のところ答えのスクリプトは私が探していたものを実行します。


本当に危険な取引のように聞こえます。
RolandiXor

4
リスクは楽しみを意味します。:P
htorque

念のため、スクリプトに次の行を追加できます。chvt
ericb

私はちょうどあなたが持っているよく構造化されたポストを指摘したいと感じました。お目にかかれて光栄です!:)
リンデ

回答:


12

現在、ドライバーを切り替える2つのスクリプト、xorg.conf、ブラックリストとlibglxの世話をしているので、答えは「はい、可能です」です。

ブラックリストは/etc/modprobe.d/blacklist nvidiaまたはのいずれかを含む1つのファイルで機能しますblacklist nouveau。また/lib/nvidia-current/modprobe.conf、ダミーに置き換えました。そうしないと、nvidiaドライバーは常に/etc/modprobe.d/そのブラックリストnouveauにリンクを作成します。

nouveauに切り替えます。

 #!/bin/bash
 stop gdm

 rmmod nvidia

 sed -i "s/nouveau/nvidia/" /etc/modprobe.d/blacklist-nvidia-nouveau.conf

 update-alternatives --set gl_conf /usr/lib/mesa/ld.so.conf
 ldconfig

 modprobe nouveau

 cp /etc/X11/xorg.conf{.nouveau,}

 start gdm

それを実行した後、nouveauが実行されており、作業コンソール(nouveaufb)があります。

nvidiaに切り替えます。

#!/bin/bash
stop gdm

echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod nouveau
rmmod ttm
rmmod drm_kms_helper
rmmod drm

sed -i "s/nvidia/nouveau/" /etc/modprobe.d/blacklist-nvidia-nouveau.conf

update-alternatives --set gl_conf /usr/lib/nvidia-current/ld.so.conf
ldconfig

modprobe nvidia-current

cp /etc/X11/xorg.conf{.nvidia,}

start gdm

→Nvidiaドライバーは機能していますが、問題があります。nouveauドライバーをアンロードした後、コンソールは使用できません。リセットするか、別のフレームバッファをロードする方法が必要ですが、vesafbはカーネルにコンパイルされているため、どうすればよいかわかりません。


主な目標は達成されているため、誰かが端末の問題の修正を思い付くまでこれを受け入れます。
htorque

これを求める新しい質問があるようです:askubuntu.com/questions/855451/…そこにあなたの答えをリンクしましたが、テストした後、それが機能しないことに気付きました(もう)。たぶん、答えを更新できます。
学生

0

nouvouドライバーのカーネルモード設定とnvidiaの設定ができないだけでなく、nvidiaドライバーはハッキングされたxorgライブラリを使用しているため、Intelドライバーを必要とするマシンで同じインストールを使用することさえ問題になります。(逆さまの要素のバグと質問を参照)


1
だからこそ、彼らは 'gl_conf'の代替を追加したのだと思います。update-alternativesを使用すると、Nvidiaライブラリと「通常の」ライブラリを簡単に切り替えることができます。
htorque

0

http://nouveau.freedesktop.org/wiki/KernelModeSetting/は、テキストモードを復元するためにnouevauをrmmod-ingした後に/etc/init.d/consolefont restartを実行することを提案しています。最近のシステムではconsole-fontに名前が変更されていることに注意してください。Ubuntu13.10では、この方法ではまったく呼び出せませんが、次のようになります。service console-font restart

また、常に機能するとは限りません。場合によっては、Xの開始lightdm start-または使用しているDM)がgfxモードを開始し、vt1(ctrl-alt-f1)への切り替え時に作業テキストモードも提供します。

(nvidiaドライバーをライブCDセッションにインストールするためにこれを使用します)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.