Ubuntu 20.04とnvidia-driver-440でのオンデマンドオプションのリリース以来、私はUbuntuでNvidia Optimusのオプションを調査してきました。特定のプログラムのレンダラー用にQuadro M1000M dGPUに切り替えながら、Intel HD530 iGPUを使用してラップトップを実行できるようになりました。
glxheads
で設定をテストしました:
$ glxheads :1
Name: :1
Display: 0x55afe7f84d80
Window: 0x4200002
Context: 0x55afe7fa4710
GL_VERSION: 4.6 (Compatibility Profile) Mesa 20.0.4
GL_VENDOR: Intel
GL_RENDERER: Mesa Intel(R) HD Graphics 530 (SKL GT2)
$ __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxheads :1
Name: :1
Display: 0x55dda746ffa0
Window: 0x4200002
Context: 0x55dda7510ae8
GL_VERSION: 4.6.0 NVIDIA 440.64
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: Quadro M1000M/PCIe/SSE2
そして、ゲームでも期待通りの性能です。
しかし、オンデマンドを使用すると、外部モニターが機能しなくなりました。つまり、Intel(省電力)ore Nvidia(パフォーマンスモード)を使用している場合、私の外部画面は機能します。しかし、Nvidia(オンデマンド)を使用すると、すべての外部画面が真っ黒のままです。 HDMIとDisplayPort(Thunderbolt)で画面をテストしました。
私の問題は以下に関連していると思います:
Nvidiaがこれに取り組むのを待たずにこの作業を行う方法はありますか?何年もかかるかもしれません。現在、私の解決策は、Intel(省電力)とNvidia(パフォーマンスモード)を切り替えて、その間にラップトップを再起動することです。しかし、すべてのプログラムを閉じて再度開く必要があるため、再起動は面倒です。再起動またはログオフせずに同じことを達成する方法はありますか?たとえば、グラフィカル環境またはXOrgを再起動しますか?
外付けモニターはNvidiaカードに接続されており、オフロードモードでの使用は、Nvidiaドライバーの450ファミリーでのみサポートされています。要約すると、それらを「オンデマンド」で使用する場合は、最新のNvidiaドライバー(執筆時点では450.57)をインストールする必要があります。
Ubuntu用のパッケージはまだありませんが、最終的には Graphics Drivers ppa で数日または数週間でドライバーを見つけることができると思います。