web-dev-qa-db-ja.com

Ubuntu 16.04でOptimusを有効にするには、ハイブリッドグラフィックスシステム用のBumblebeeをインストールする必要がありますか?

この質問をしているのは、いくつかのコンピューターがいくつかの専有グラフィックドライバーでOptimusの技術を有効にしていると基本的に言っている記事を見つけたからです。たとえば、 buntu Wikiページからのこれ および pilot6からのこのもの 、多くの人がまだインターネット経由でバンブルビーをインストールする方法を探しています。だから、私は混乱しました。一方、私のラップトップ、Lenovo Thinkpad P50は、サポートされるシステムとして上記のリンクされたドキュメントにリストされていますが、所有権のあるnvidia-361ドライバーを正常にインストールしていません( この質問 を参照)私のシステムで動作するようにドキュメントから伝えられました。私は文書の権限について少し疑っています。

Ubuntu 16.04が実際にハイブリッドグラフィックス(1枚の統合カードと1枚のディスクリート)をBumblebeeよりもネイティブにサポートしていることを確認するために、信頼できるソース、証拠、および実際の経験(または成功インスタンスが見つからないかどうかを確認する手法)を提供できますか?単純な検索では十分な自信がありません。ありがとう!

9
Xiaodong Qi

現在、あなたは(私の知る限りでは)LinuxでのNvidiaハイブリッドグラフィックス(いわゆるOptimusテクノロジー)に関する3つの可能性を持っています:

  • Bumblebee。このプロジェクトは死んでいるように見えるかもしれませんが、そうではありません(開示者:私は開発チームの一員です)。とても忙しかったので、非常に長い時間をかけてゆっくりと発展してきましたが、最近は状況が良くなっており、新しい貢献者から助けを受けました。 4.0バージョンは順調に進んでおり、ほとんどがバグ修正であり、primusバックエンドがデフォルトになっています(ほとんどの人はすでに使用しているため気づかないでしょう)。 Bumblebeeを使用すると、デスクトップを実行し、統合されたIntelチップで表示しながら、個別のNvidiaカードで選択したアプリケーションを実行できます。 nouveauドライバーまたはnvidiaドライバーのいずれかを使用でき(両方ともサポートする必要がある場合)、電源管理にはbbswitchを使用します(nouveauを使用する場合はvga_switcherooを使用するオプションを使用)。パフォーマンスの面では、Bumblebeeの仕組みにより、PCIeのボトルネックが発生します。つまり、非常に高いフレームレートを達成することはできません(とにかく実用的ではありません)が、専用のNvidiaカードの能力を最大限に発揮することはできません。ラップトップのディスプレイ出力の一部がNvidiaチップに接続されている場合(多くの場合、LenovoラップトップのHDMIの場合)、Bumblebeeを使用できますが、少し設定が必要で、おそらく理想以上であると思われます影響を受けるラップトップを所有しているBumblebee開発者はいないため、すべてテストされていません。それ以外の場合、BumblebeeはDRI2またはDRI3で動作します。
  • PRIME。これはこのテクノロジーの適切なソリューションであり、適切なレベルで実装されています:ドライバー、カーネル、Xorg…PRIMEはBumblebeeと同じセットアップを許可しますが、法的懸念により、nouveauのみサポートされています。それ以外にも、i915ドライバーで必要な変更のために、ティアリングに関するいくつかの問題があります。また、nouveauにはパフォーマンスに関する多くの問題が残っているため、適切なリクロックを取得するまで、Bumblebee + nvidiaのセットアップよりもパフォーマンスが低下する可能性があります(Bumblebee + nouveauでも同じ問題が発生します)。 PRIMEは電源管理のためにbbswitchに依存せず、nouveau/kernel統合されたものを使用します。また、PRIMEを使用すると、Nvidiaチップに配線された出力を非常に透過的に使用できます。 DRI2で実行する場合は、少し構成が必要です(Bumblebee/bbswitchがインストールされているかどうかによって異なりますが、正確な量は異なる場合があります)。 VDPAUもこのモードでサポートされます(ただし、再度nouveauドライバーを使用する場合のみ)。 DRI3で実行する場合、使用することはほとんどありません(おそらく、Bumblebeeは次のリリースでこのモードのサポートを得るでしょう)。ただし、VDPAUのサポートは受けられず、Nvidiaの出力もサポートされていないようです。
  • Reverse PRIME。ここでのアイデアは、デスクトップを含むすべてにNvidiaカードを使用し、ラップトップディスプレイの出力シンクとしてIntelチップのみを使用することです。これは、nouveau(上記と同じパフォーマンスの問題)とnvidia(たとえば、Ubuntuの専用nvidia-primeツール)の両方でサポートされています。つまり、省電力化はまったく行われません(すべての段階で消費電力が増加します)が、PRIMEと同様に、ディスプレイ出力を簡単かつ完全に活用できます。このモードでは、nvidiaドライバーを使用するときに専用のカードを最大限に活用できます。これは、nvidiaドライバーを使用してNvidiaチップでVDPAUを動作させることができる唯一の構成です。ただし、i915ドライバーで必要な変更のために、ティアリングに関する問題もいくつかあります。このモードはDRI2でのみ機能します。実際、これはPRIME + DRI3で出力を使用できない理由と同じ理由です:実際には、リバースPRIMEは別のカード出力を使用するためのサポートの名前です(ここでNvidiaで実行している場合でも、Nvidiaの場合でも上記のIntelで実行している場合)、それは現在DRI3では機能しません。

CUDAやOpenCLのようなものはこれらのツールのいずれも必要とせず、ほんの少しの設定が必要ですが、Bumblebeeは他の利点を得ながらそれらを簡単に使用するモードです。

DRI3を使用する場合、PRIMEとBumblebeeは共存できますが、DRI2またはリバースPRIMEに切り替えるには、構成ファイルの切り替えとXサーバーの再起動が必要です。だから、あなたのニーズに応じて、これは私がアドバイスするものです:

  1. パフォーマンスを気にせず、利用のしやすさ(影響を受ける場合は主に外部出力用)とFLOSSに気を付ける場合は、PRIMEに進みます。
  2. パフォーマンスをもう少し気にしたが、ラップトップをバッテリーモードで使用することが多く、Xサーバーを常に再起動したくない場合は、Bumblebeeに進みます。
  3. パフォーマンスに関心があり、ACに接続したままラップトップを使用する場合(さらにWを節約する必要がない場合)は、Reverse PRIMEnvidiaを使用する(nvidia-primeを使用して、バッテリーでときどき実行しているときにIntel専用モードに切り替えることができますが、このセットアップでNvidiaカードがオフになっているかどうかわかりません)。
16
Archange

Ubuntu 16.04はもちろん、ハイブリッドグラフィックソリューション、特にIntelグラフィックとOptimusをサポートするNVIDIAグラフィックを備えたノートブックをサポートしています。 bumblebeeをインストールしないでください。開発中ではありません。最新バージョンは2013年4月からです。今日の2つのグラフィックを切り替えるソリューションはnvidia-primeです。これはUbuntuの公式リポジトリで利用できます。すべてを適切に機能させるために最も重要なのは、ドライバーのインストール方法です。ここでは、すべてが正常に動作する可能性が高いドライバーをインストールするための指示を見つけます。

NVIDIAドライバーのインストール

3
cl-netbox

Nvidia-primeの代わりにbumblebeeをインストールする理由は、bumblebeeを使用すると両方のGPUを簡単に切り替えることができるためです。 nvidia-primeでは、Xセッションに対して単一のGPUのみを選択できます。つまり、GPUを切り替えるには、Xセッションを再起動する必要があります。 bumblebeeでは、Xサーバーを再起動する必要はありません。
このブログ には、16.04でのbumblebeeのインストール手順が含まれています。コメントセクションでは、nvidia-primeの代わりにbumblebeeをインストールする理由についても詳しく説明しています。

1
KiekerJan

PRIMEは現在NVidia独自のドライバーと完全に連携しているため(私の場合は367)、@ Archangeの回答は非常に広範囲かつ詳細になっていますが、PRIMEはパフォーマンスに影響を与えず、おそらくパフォーマンスの面でおそらく最良の選択肢です。

@Archange、またはnouveauを使用すると、Windowsスタイルで実際に自動的に実行できるということですか?

1
yuranos87