web-dev-qa-db-ja.com

Bumblebeeを使用した外部ディスプレイ

BumblebeeとOptimus構成を使用して、外部モニターを(VGAケーブル経由で)ラップトップに接続しようとしています。

Intel GMA HD 3000とNvidia Quadro 2000Mを搭載したLenovo W520を使用しています。 BIOSには、グラフィックカードに関する3つのオプション(統合、個別、オプティマス)があります。

ユースケースは非常に簡単です。仕事では、統合カードとラップトップディスプレイを使用します。映画を見るときは、プロジェクターを使いたいです。さて、この場合に私がしなければならないことは:

  • リブート
  • スタートウィンドウ
  • 映画を観賞する

Bumblebeeのおかげで、常にOptimusとしてセットアップを維持できます。

BBの前は、映画を見るたびにBIOS設定を変更する必要がありました。ウィンドウ内でも、統合グラフィックスを使用すると、プロジェクターがシステムによって検出されなかったためです(これは一般的に「ハードワイヤード」出力」、およびVGA出力がディスクリートカードに配線されていること)。

さて、私がやりたいことは、O/Sを切り替えることなく、つまりUbuntuで使用するために外部モニターを接続できるようにすることです。

出来ますか?

現在、Ubuntuで外部モニターを使用する場合、唯一のオプションは、BIOSを個別のグラフィックスを使用するように変更してから、nvidia-settingsを使用することです。

代わりにOptimusセットアップを使用すると、「optirun nvidia-settings -c:8」を使用して実行した場合でも、外部モニターのオプションが表示されません。

私にできることはありますか?

14
Marcus

W520を持っています。 T420と同じ設定ではありません-VGA出力はnvidiaカードに配線されているため、Samsagaxからの「this」リンクは機能しません。ブログの投稿を準備しました here オプションの概要を説明します。どちらの外部モニターもBumblebeeで動作させることはできませんでしたが、W520では可能だとは思いません。ただし、最適化モードでは外部モニターを使用できますが、xineramaを使用するか、外部モニターで別のXスクリーンを開く必要があります。

8
Zach

(linux-hybrid-graphicsリストからリダイレクト)

私はThinkpad T420を持っていますが、これは似ているかもしれません(そうではないかもしれません)。

T420では、VGAはIntelに接続され、Display-PortはNVIDIAに接続されています。したがって、VGA出力には通常のxrandrを使用できます。

Display-Portは別の話です。そのためには、/ etc/bumblebee/xorg.conf.nvidiaのbumblebeeからxorg.confを変更する必要があります。

オプションConnectedMonitorからDFP(デフォルト)からDisplayPortのDP1へ。

4

Intelドライバーの新しいバージョンには、intel-virtual-outputと呼ばれるプログラムが含まれています。このプログラムは、W520でのダブルおよびトリプルディスプレイのセットアップを大幅に簡素化します。

intel-virtual-outputコマンドは、Intelカード上のXサーバーが別のXサーバーに画面を複製する方法を提供します。リモートディスプレイ上の使用可能な画面を確認し、Intel Xサーバー上でVIRTUAL1、VIRTUAL2などとして表示します。

次のスクリプト(ルートとして実行)が機能しますが、ほとんどの場合、微調整する必要があります。

#!/bin/sh

# Power on the nvidia card with bumblebee.
modprobe bbswitch
echo ON > /proc/acpi/bbswitch

# Run X display :8 on the nvidia card.
optirun true

# Tell the intel card to create virtual screens on :0 and
# copy whatever they're displaying to equivalent screens on :8
intel-virtual-output

# Configure my monitors the way I like them.
xrandr --output VIRTUAL3 --auto
xrandr --output VIRTUAL1 --auto --right-of VIRTUAL3
xrandr --output LVDS1 --off

この設定により、左側のDisplayPort-DVIケーブル(VIRTUAL3)と右側のVGA(VIRTUAL1)が有効になります。また、ラップトップ画面を無効にします。

これらはドライバーからの単なる仮想画面であるため、理論的にはintel-virtual-outputを実行した後にGUIのディスプレイ構成ツールがそれを把握できるはずです。

実際には、xubuntuのディスプレイ構成ツールは実際には一貫性のあることを行いませんでした。そのため、これらのxrandrコマンドがあります。 gnomeまたはkdeを実行している場合、xrandrをいじる前にGUIツールを試す価値があります。それ以外の場合、これを実行する前に、実際に使用している設定に合わせていくつかの調整を行うことをお勧めします。 xrandrだけを実行すると、現在接続されているディスプレイがわかります。モニターを接続および切断して、どのプラグがどのVIRTUAL [0-9]ディスプレイに接続されているかを確認できます。ノートパソコンの画面はLVDS1です。その後、--right-of--left-of--belowなどを使用してxrandrコマンドを実行し、適切な場所に物事を置くだけです。

再びモバイルにしたい場合は、これを実行できます(再び、rootとして)

#!/bin/sh

# Turn on the laptop screen.
xrandr --output LVDS1 --auto

# Turn off my the other screens.
xrandr --output VIRTUAL1 --off
xrandr --output VIRTUAL3 --off

# Kill the xorg server running on the nvidia card.
kill $(ps ax | grep Xorg | grep :8 | awk '{print $1}')

# Wait plenty of time for it to die.
sleep 5

# Remove the nvidia kernel module so we can shut down the card.
# If you're running another driver this might be something different.
rmmod nvidia

# Use bumblebee to turn off the nvidia card and save power.
echo OFF > /proc/acpi/bbswitch

独自のnvidiaドライバーバージョン337.25を使用してxubuntu 14.04を実行しています。 https://launchpad.net/~bumblebee/+archive/ubuntu/stable からbumblebeeパッケージも入手しました。

興味深いことに、このセットアップは通常のOptimusセットアップの逆です。通常、nvidiaカードでプログラムを選択的に実行し、nvidiaカードから実際にモニターと通信するintelカードにバッファーをコピーします。この場合、Intelカードですべてを実行し、関連する画面バッファーをnvidiaカードにコピーします。

あなたが疑問に思っているなら、はい、これはnvidia加速アプリケーションの実行を難しくします。ゲームのパフォーマンスを向上させる方法はまだわかりません。HDビデオでも時間の経過とともに遅くなります。かなり高解像度のビデオをしばらく再生した後、上下左右のスキャンが見えるため、ダブルバッファリングではないようです。とはいえ、ほとんどのプロジェクターはおそらく大丈夫でしょう。

3
Hans

たぶん this を試してください。

しかし、ハードワイヤリングに依存しています。

0
Samsagax