web-dev-qa-db-ja.com

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

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

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

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

  1. optimusを無効にし、内部グラフィックのみを使用します
  2. optimusを無効にし、nvidiaのみを使用します
  3. optimusを有効にし、bumblebeeを使用します( homepage )/ ironhide

(1)DVI /ビューポートが技術的には使用不可内部グラフィック経由であることを読んだ(そして経験した)ため失格

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

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

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

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

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

13
jan groth

私はThinkpad W520を持っていますが、これを大々的にいじりました。 W520とT420Sの共通点はわかりませんが、ブログの投稿を書いています here 全体像の概要といくつかの提案をしています。

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

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

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

5
Zach

Ubuntu 14.10以降:はるかに簡単です。 この回答 および以下の私のコメントを参照してください。

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

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

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

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

他のソリューションに対する主なbenefitは、すべてのディスプレイが(一見)同じ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の最新の patch を選択します。ファイルをクリックし、「Raw」ボタンをクリックして、ブラウザで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のscreencloneのフォーク とその依存関係を取得し、コンパイルします。

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

  • Rootとしてテキストエディターでファイル/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も)。

screencloneをCtrl + 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
    
  • 代替オプション:My scriptletsのコレクション には、2番目と3番目のモニターを有効または無効にする2つのスクリプト、extmon-startおよびextmon-stopが含まれています。構成に合わせてextmon-startスクリプトを編集します。

参照資料

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

7
krlmlr

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

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

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

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

2
John

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

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

症状:T420は、Dockの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 Server Display Configuration」で、「Detect Displays」をクリックします。これで外部ディスプレイを見ることができます。 5.同じページで、設定を「TwinView」、解像度「Auto」、またはT420のネイティブ解像度、たとえば1600x900に変更します。 6. [適用]をクリックすると、外部ディスプレイのデスクトップが表示されます。 7.「X構成ファイルに保存」をクリックします。新しい/etc/X11/xorg.confが作成されます。

[更新]

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

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

2
New Gumin

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 を参照してください。

2

T520のVGA出力は、Integrated Graphics(Intel BIOS設定)を使用して(ぼやけずに)うまく動作しますが、1920x1200モニターで幅1600ピクセルのみを表示するように設定する必要があるため、両側に黒い縞が表示されます。この設定がないと、モニターは1920画面全体で1600ピクセルを拡大します。そうすると、物がぼやけて見えます。

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

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

1
OpenPrivacy