Lenovo T420SでDVI /ビューポートを介して2番目のディスプレイをセットアップするにはどうすればよいですか?


13

Lenovo T420Sには、nvidia optimusテクノロジーを搭載した個別のグラフィックカードがあります。私が基本的に達成しようとしているのは次のとおりです。

  • DVI /ビューポートを介して接続された2番目のディスプレイを職場で使用する(VGAはぼやけている)
  • 旅行中に中程度から良好なバッテリー性能を達成する(2時間)

私が知る限り、次のオプションがあります。

  1. Optimusを無効にし、内部グラフィックのみを使用します
  2. Optimusを無効にし、nvidiaのみを使用します
  3. Optimusを有効にし、バンブルビー(ホームページ)/ ironhideを使用します

(1)DVI /ビューポートが技術的に内部グラフィックスを介して使用できないことを読んだ(そして経験した)ため失格

(2)これまでのところ実際には試していませんが、nvidiaドライバーを追加した後、黒い画面起動する簡単なテストインストールだけです:-(

(3)このブログをフォローし、アイアンハイドの代わりにマルハナバチを使用しました。Bumblebeeは動作しました(glxgearsで印象的なFPSを見ることができます)が、2番目のディスプレイが認識されませんでした。また、nvidia-driver-hellで迷子になり、nvidia-xconfigがインストールされていないという理由だけで実行する機会がありませんでした。箱から出して2番目のディスプレイが認識されることになっているかどうかはわかりませんか?さらにインストールする必要がありますか?xorg.confをいじる必要がありますか?多くの質問、いくつかの答え。

それで、目標を達成するために何ができますか?どのパスをたどり、次のステップは何ですか?

どんなヒントでも大歓迎です:-)

更新:答えてくれたすべての人に感謝します。作業環境を「個別の」インストールに移行し、並列プレイプロジェクトとして「optimus / bumblebee」を使用して、どこまで到達するかを確認します...今後の質問を新しいスレッドに投稿します。

回答:


5

私はThinkpad W520を持っていますが、これを大々的にいじりました。W520とT420Sがどれだけ共通しているかはわかりませんが、ここにブログの記事を書いて、全体像をまとめ、いくつかの提案をします。

nvidiaカードと専用ドライバーをフルタイムで使用すると、2時間のバッテリー寿命が得られるはずです。これはおそらく、外部ディスプレイを追加するときに最も手間がかからないオプションにもなります(これにはプログラム "disper"が非常に役立ちます)。T420sのカード用のnvidia独自のドライバーがW520の場合と同じように機能する場合、カードが完全に使用されていないときに自動的にアンダークロックします(この「Power Mizer」と呼ばれます)恐ろしい。正直なところ、nvidiaカードをオフにすると、バッテリー寿命が25〜30%しか伸びません。また、Bumblebeeがインストールされていると、nvidiaカードは既に「ボンネットの下」でXサーバーを実行しているため、外部モニターを使用できない可能性があると思います。要約すると、オプション(2)をさらに追求することをお勧めします。

Bumblebeeをインストールしてアンインストールしたとき、nvidia独自のドライバーを再び動作させるのに少し苦労しました。ここにいくつかの検討事項があります:(a)W520には、使用されているグラフィックススキームに関連するBIOSオプションがあります。T420オプションが何であるかはわかりませんが、ThinkPadディスプレイでnvidiaグラフィックスを使用する場合は、おそらく「ディスクリート」モードにする必要があります。(b)ubuntuの「jockey」プログラムをいじって、独自のドライバーを使用する必要がある場合があります。

幸運を!これが助けになることを願っています。


...それは間違いなく助けになります、答えてくれてありがとう!
ヤングロス

このスレッドに関する他のコメントを読んだ後、T420はW520と同じように構成されていないようです-統合カード VGA出力に接続されています(W520とは異なり-これはT420ができる理由も説明していますW520は2)しかサポートできませんが、3つの外部モニターをサポートします。
ザック

質問は、T420で使用可能なBIOSモードです。@ Johnの投稿から、少なくともOptimusモードとディスクリートモードがあるようです。オプション(2)を追求している場合は、@Johnのような離散モードにあることを確認する必要があります。Optimusモードの場合、内部Thinkpadディスプレイと外部デジタルディスプレイはおそらく異なるグラフィックカードで制御されているため、xorg.confをいじって操作する必要があります。
ザック

@Zach:ブログ投稿をありがとう。フォローアップバージョンSagar Karandikarの書き直しの両方から恥知らずに盗まれ、Ubuntuの最新バージョンに関連するいくつかの更新を回答に追加しました。
krlmlr

7

Ubuntu 14.10以降:はるかに簡単です。この回答と以下の私のコメントをご覧ください。

:これはUbuntu 13.04でのみ機能します。13.10にはいくつかの違いがあります。

Optimus(「切り替え可能なグラフィックス」)を有効にして(リストのオプション3)、Ubuntu 13.04のThinkPad T430に2つの外部モニター(組み込みパネルに加えて)を接続できました。モニターはDVIインターフェイスを介して接続され、そのうちの1つが回転します。他のソリューションとは対照的に、すべてのモニターは同じウィンドウマネージャーに接続されているため、モニター間でウィンドウを自由に移動できます。これにより、切断されている場合はバッテリー寿命を延長し、接続されている場合は外部モニターを使用するという目標を達成します。

ここでの重要なアイデアは次のとおりです。

  • 内部グラフィックアダプターは、実際に表示される画像(ビットマップ)の管理を担当します。
  • デフォルトでは、すべてが内部グラフィックスアダプターでレンダリングされます
  • GPU加速アプリケーションはディスクリートグラフィックアダプターを使用し、出力は内部グラフィックアダプターにコピーされます。
  • 各外部モニターに対して、内部グラフィックアダプターは「仮想」ディスプレイを提供します
  • 外部モニターへの出力は2番目のXサーバーを使用して行われ、「仮想」ディスプレイのコンテンツは常に2番目のXサーバーにコピーされます

他のソリューションに対する主な利点は、すべてのディスプレイが(一見)同じXセッションの一部であるため、ディスプレイ間でウィンドウを自由に移動できることです。

これまでのところ、パフォーマンスの低下は見られませんでした。

説明書

以下を行う必要があります。

  • PPAからBumblebeeをインストールする
  • カスタムIntelビデオドライバーをビルドしてインストールする
  • 小さなプログラムをダウンロードしてコンパイルし、最後にインストールします
  • 2つの構成ファイルを編集する
  • 数回再起動する

ほとんどのアクションには、ターミナル、テキストエディター、およびルートアクセス(sudo)が必要です。詳細な手順を以下に示します。

Bumblebeeをインストールする

手順の「基本セットアップ」セクションに従ってください。ルートとして実行すると、最後のコマンドが実際に再起動を開始します。

add-apt-repository ppa:bumblebee/stable
apt-get update
apt-get install bumblebee virtualgl linux-headers-generic
reboot

nouveauドライバーのみでbumblebee実行しようとしないでください。私の経験からは、少なくともこの設定では機能しません。

検証

実行できるはずoptirun glxgearsです。

のパッチを適用したバージョンをインストールする xserver-xorg-video-intel

オプション1:PPAからインストールする(現在はUbuntu 13.04のみ)

ルートとして次を実行します。

add-apt-repository ppa:krlmlr/ppa
apt-get update
apt-get install xserver-xorg-video-intel

オプション2:独自のパッケージをビルドしてインストールする

の最新のパッチを選択してくださいxserver-xorg-video-intel。ファイルをクリックし、「未加工」ボタンをクリックして、ブラウザでURLをコピーします。執筆時点では、これはhttps://raw.github.com/liskin/patches/master/hacks/xserver-xorg-video-intel-2.20.14_virtual_crtc.patchでした。

sudo apt-get build-dep xserver-xorg-video-intel
cd ~
apt-get source xserver-xorg-video-intel
cd xserver-xorg-video-intel
# replace the URL below with the one you have noted, if necessary
wget https://raw.github.com/liskin/patches/master/hacks/xserver-xorg-video-intel-2.20.14_virtual_crtc.patch
patch -p1 < *.patch
# The next command will ask for a change log message. Supply something meaningful,
# this will later allow you to distinguish your patched package from the distribution's.
dch -l+virtual
dpkg-buildpackage -b
cd ..
sudo dpkg --install xserver-xorg-video-intel_*.deb

検証(1)、両方のオプション

コマンド

apt-cache policy xserver-xorg-video-intel

パッチが適用されたバージョン(+virtualサフィックス)と元のUbuntuバージョンが表示されます。

両方のオプションで13.04に必要

に以下を追加し、/etc/X11/xorg.conf必要に応じて作成します。

Section "Device"
    Identifier "intel"
    Driver "intel"
    Option "AccelMethod" "uxa"
    Option "Virtuals" "2"
EndSection

検証(2)、両方のオプション用

再起動後、xrandrターミナルで実行します。出力には、2つの追加の仮想ディスプレイが表示されます。

スクリーンクローンをダウンロードしてビルドする

スクリーンクローンのpuetzkのフォークとその依存関係取得し、コンパイルします。

sudo apt-get install libxcursor-dev libxdamage-dev libxinerama-dev libxtst-dev git build-essential
cd ~
git clone git://github.com/puetzk/hybrid-screenclone.git
cd hybrid-screenclone
make

検証

ファイルscreencloneが存在し、実行可能です。(ただし、まだ実行されません。)

編集 xorg.conf.nvidia

  • /etc/bumblebee/xorg.conf.nvidiaルートとしてテキストエディターでファイルを開きます。
  • 読み取る行をコメント化または削除するUseEDIDか、UseDisplayDevice
  • Section "ServerLayout"、エントリを追加しますScreen "Screen0"
  • ファイルの最後に、次を追加します。

    Section "Screen"
        Identifier     "Screen0"
        Device         "Device0"
        DefaultDepth    24
        SubSection     "Display"
        Depth       24
        EndSubSection
    EndSection
    
  • リブート

テスト中

私のセットアップでは、ドッキングステーションの最初のDVIポートに接続されたランドスケープモニターと、2番目のDVIポートに接続されたポートレートモニターを想定しています。screencloneが配置されているディレクトリからターミナルで次のコマンドを実行し、必要に応じて調整します。

xrandr --output LVDS1 --output VIRTUAL1 --mode 1920x1200 --right-of LVDS1 --output VIRTUAL2 --mode 1920x1200 --right-of VIRTUAL1 --rotate left
./screenclone -b -x 1:0 -x 2:1 &
sleep 1
xrandr -d :8 --output DP-2 --right-of DP-1 --rotate left
fg

ディスプレイの回転を2回定義する必要があることに注意してください。xrandr回転が必要ない場合は、2番目の呼び出しを省略できます(もちろん、--rotate left最初の呼び出しでは)。

screencloneCtrl + C(これはを使用して再び前面に配置されています)で終了することによりfg、ディスクリートグラフィックアダプターはシャットオフされます。これはで確認できcat /proc/acpi/bbswitchます。それでも、画面スペースは、現在切断されている2つのモニター用に予約されています。ノートパソコンのディスプレイのみに戻すには、次を使用します

xrandr --output LVDS1 --output VIRTUAL1 --off --output VIRTUAL2 --off

掃除

  • (たとえば)screencloneにあるディレクトリにコピーしますPATH/usr/local/bin

  • bash外部ディスプレイの起動とシャットダウンを自動化するスクリプトを作成します。このスクリプトは、起動時に外部ディスプレイをセットアップし、終了時にのみラップトップディスプレイに切り替えます(たとえば、Ctrl + Cを押すことにより)。

    #!/bin/bash
    set -m
    xrandr --output LVDS1 --output VIRTUAL1 --mode 1920x1200 --right-of LVDS1 --output VIRTUAL2 --mode 1920x1200 --right-of VIRTUAL1 --rotate left
    trap "xrandr --output LVDS1 --output VIRTUAL1 --off --output VIRTUAL2 --off" EXIT
    screenclone -b -x 1:0 -x 2:1 &
    sleep 1
    xrandr -d :8 --output DP-2 --right-of DP-1 --rotate left
    fg
    
  • 別のオプション:スクリプトレットのコレクションには、2番目と3番目のモニターを有効または無効にする2 つのスクリプトextmon-startとが含まれていますextmon-stopextmon-start構成に合わせてスクリプトを編集します。

参照資料

私の答えは、主に次のリソースから得られます。


これは私にとって本当にうまくいきます、ありがとう。このソリューションで仮想デスクトップとCompizを使用すると、多くの遅延に問題がありますか?
デイモン

@blackrobot:Gnome Shellを使用しています。非常にわずかな遅延がありますが、これは私を邪魔しません。
krlmlr

@krlmlr:13.10でこれとまったく同じ設定を取得する機会はありますか?
flx

@flx:13.10では、「仮想」CRTCがストックxorg-xserver-video-intelドライバーに組み込まれているため、PPAまたはパッチを使用する必要はありません。また、編集する必要もありませんxorg.conf。「仮想」CRTCはオンデマンドで作成されます。残りは似ているはずです。に代わるツールもあり、これはscreenclone呼び出されintel-virtual-output、デスクトップのディスプレイ構成とよりスムーズに統合されます。回転機能を備えたトライヘッドのセットアップが適切に機能するようになったら、書き上げを行います。
krlmlr

1
@flx:モードを追加する必要があり(xrandr --newmode; cvtツールはモードラインの計算に役立ちます)、これを仮想ディスプレイに割り当てます(xrandr --addmode)。モードは実際のディスプレイのモードと一致する必要があります。2番目の仮想ディスプレイが自動的に作成されるかどうかを確認します。これがintel-virtual-outputツール自体の機能であり、そこにある最後の問題は修正されたか、まもなく修正される予定です。
krlmlr

2

T420Sについて知らないが、私のT420は最大9時間

  1. 暗いモニター
  2. numbleがbumblebee / bbswithで無効になっています
  3. pm-utilsによる追加のチューニング

はい、これはデフォルトのバッテリーです。したがって、2時間を簡単に取得できるはずです。

(2)/etc/X11/xorg.confでnvidiaドライバーのオプション「ConnectedMonitor」「DFP-0」を試してください。

(3)2番目のディスプレイを使用するには、変更されたbumblebee xorg.confが必要です。詳細については、https://github.com/Bumblebee-Project/Bumblebee/issues/77を参照してください。


1
回答ありがとうございます。2番目の(DVI)画面を使用していないことを確認しましたか?正直に言うと、あなたがリンクした問題を解決するのは驚くほど複雑だと思います-私は確かに試してみますが、何を変更するべきか(そしてなぜ)を少しでも理解するまでには数時間かかります。実際、これは仕事用のラップトップであり、機能させたいだけです。2番目のディスプレイ接続するようなタスクでは、1週間前には聞いたこともないソフトウェアの未解決の問題を追いかけられないことを願っています... :
jan groth

github Issueのように本当にシンプルで、/ etc / bumblebee / xorg.conf.nvidiaとbumblebeeから行(改行)オプション「UseEDID」「false」(改行)オプション「ConnectedMonitor」「DFP」(改行)を削除するだけです。ディスプレイポートで出力を生成します。開始時に空白の画像が表示されます。たとえば、export DISPLAY =:8.0(newline)xtermを使用して、xtermを取得できます。(wtfここでEnterキーを押すと、改行を作成する代わりにコメントが送信されます)
匿名のward

2

4438型のドッキングステーションで職場でT420を使用しています。ドッキングステーションのDVIポートを使用して、2つのワイドスクリーンモニター(メインモニターなし)またはメインモニター付きの1つのワイドスクリーンモニターを使用できます。

オプティマスを無効にし、常にNVIDIAカードを使用するように設定しました。次に、nvidia-xconfigを実行し、nvidia-settingsを使用してデュアルモニターをセットアップし、設定をxorg.confファイルに保存し、マシンを再起動しました。

この方法で2時間強のバッテリー寿命を得ることができます(バッテリー寿命を延ばすためのその他の変更なし)。私が抱える主な問題は、ドッキングステーションから再起動したり、ドッキングステーションから取り外したりしても、自動的に1つのモニターに切り替わらないことです。しかし、これを調べる時間はありませんでした。

今週後半にBumble Beeを試して、動作させることができるかどうかを確認します。機能することができたら、ここに投稿することを忘れないようにしよう。


2

私は同じ問題を抱えています。私はいくつかの研究を行い、それを部分的に解決しました。私はまだ完全なソリューションに取り組んでいます。

ハードウェア:Nvidia 4200M搭載のThinkpad T420 + Intel HD 3000グラフィックスThinkpadドック。

症状:T420は、ドックのDVIポートに接続している外部ディスプレイを認識できません。ドックのVGAポートを介して外部ディスプレイを認識できます。ただし、品質は良くありません。

根本原因:1. T420にはDVIポートに接続するNvidiaカードがあり、IntelカードはドックのVGAポートに接続します。2. Win 7とは異なり、UbuntuはNvidiaカードとIntelカードを切り替えることができません。デフォルトでは、Intelカードのみが使用されています。

解決策:0。T420をドッキングし、外部ディスプレイをDVIポートに接続します。1. BIOSに移動し、[ディスプレイ]を見つけて、構成を[ディスクリートカード]および[無効にするNvidia Optimus]に変更します。現在、T420はNvidiaカードの使用を強制されています。2. Linux用のNvidiaドライバーをダウンロードしてインストールします。Googleの詳細な手順。3.インストール後、「sudo nvidia-settings」を実行します。4.ポップアップウィンドウ[Xサーバーディスプレイの構成]で、[ディスプレイの検出]をクリックします。これで外部ディスプレイを見ることができます。5.同じページで、設定を「TwinView」、解像度「Auto」、またはT420のネイティブ解像度(1600x900など)に変更します。6. [適用]をクリックすると、外部ディスプレイのデスクトップが表示されます。7.「X構成ファイルに保存」をクリックします。

[更新]

ディスパーを使用して、T420sディスプレイと外部ディスプレイを手動で切り替えることができます。まだ最善の解決策ではありませんが、私にはそれで十分だと思います。

Nvidiaの個別グラフィックスとディスパーの組み合わせをお試しください。


...離散カードに問題が...それは本当に速いバッテリーを消耗ということです
ジャン・グロス

ここで説明する方法を使用して、ディスプレイポートをnvidia optimusモードで使用できるはずです:zachstechnotes.blogspot.com/2012/04/post-title.htmlこれにより、バッテリーの寿命を延ばし、外部モニターを使用できますディスプレイポート(あなたはかかわらず、Intelのカードでレンダリングされますので、品質はあなたが希望としては良いようではないかもしれない
ザック

1

T520のVGA出力は、統合グラフィックス(Intel BIOS設定)を使用して(ぼやけずに)うまく機能しますが、1920x1200モニターで幅1600ピクセルのみを表示するように設定する必要があります。この設定がないと、モニターは1920画面全体で1600ピクセルを拡大します。そうすると、物事がぼやけて見えます。

私は数日前に同様の質問をしましたが、これらの答えに戸惑っています。@Anonymous Cowardは外部モニターのみを実行しているように見えますが、私(およびOP)は、DisplayPort / DVI(nvidia)を介してラップトップディスプレイ(インテル)と外部モニターを実行できるようにしたいと考えています。だから、オプティマス/バンブルビーが必要かもしれないと思う。

この表示の問題を見つけたら、確かに私の調査結果を投稿します。最初にフィニッシュラインに達した場合も同じようにしてください。


1
回答ありがとうございます!外付けモニターの解像度を1600x1200に下げると、ディスプレイはさらに悪くなります...ところで、ディスプレイの製造元の不鮮明さを非難します。デジタル接続を使用します。ああ、そして私は確かにこのチケットを更新し続けます。
ヤングロス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.