web-dev-qa-db-ja.com

APUを無効にして、代わりにGPU(AMD Radeon)オープンソースドライバーを使用する方法は?

Ubuntu 1410(Kernel v3.13)を使用しています

#uname -r
3.13.0-27-generic

APU(Intelのグラフィックソフトウェアドライバー)を無効にし、代わりにGPU(RadeonのXorgオープンソースドライバー)を使用しようとしましたが、失敗しました。

私が訪れたすべてのリンクから、GPUが無効になっていることがわかりました(つまり、DynOff

#Sudo cat /sys/kernel/debug/vgaswitcheroo/switch
[Sudo] password for mgelbana: 
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :DynOff:0000:01:00.0

DIS:ディスクリートグラフィックスカード

IGD:統合グラフィックスカード

また、カーネルパラメーターでradeonの動的電源管理(DPM)を有効にしました(つまりradeon.dpm = 1

GRUB_CMDLINE_LINUX_DEFAULT="drm.debug=0xe plymouth:debug radeon.dpm=1"

現在動作しているドライバーを知るために、UbuntuのSettings > Detailsおよび概要セクションの次の情報を確認します。

Graphics: Intel® Ivybridge Mobile

それでは、どのようにしてオープンソースのRadeonドライバを有効にできますか?

1

必要なときにのみ動的にアクティブにする方法を見つけました。この答えは、以前の2つの答えを言い換え/再構成したものです here および here ---これらはATIカードの温度センサーに重点を置いていたため、この回答をここに投稿してください。

最近の(3.13以降)カーネルでは、通常、ディスクリートドライバーは無効になっています。

[:~/Pictures/2014] 1 % Sudo cat /sys/kernel/debug/vgaswitcheroo/switch
0:DIS: :DynOff:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0

...必要なときに開始する準備ができました。グラフィカルタスクのディスクリートカードへのオフロードを有効にするには、 前に有効にする にする必要があります。

  1. グラフィックプロバイダーを一覧表示します。

    xrandr --listproviders
    

    与えるもの:

    Providers: number : 2
    Provider 0: id: 0x79 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 4 associated providers: 0 name:Intel
    Provider 1: id: 0x53 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 0 associated providers: 0 name:radeon
    

    ...また、同じidを持つエントリが重複する場合があります。 id 16進コードを書き留めて、

  2. それらをアクティブにします:

    xrandr --setprovideroffloadsink 0x53 0x79 
    

    (ATIおよびIntelプロバイダーのコードをこの順序で置き換える必要があります---少なくとも私は思う)

これで、DRI_PRIME環境変数を設定して、グラフィカルアプリケーションのカードをアクティブにできます。例えば、別のウィンドウを開いて、その中でglxgearsを開始することにより:

DRI_PRIME=1 glxgears -info

上記の実行中にをもう一度チェックしてください

[:~/Pictures/2014] % Sudo cat /sys/kernel/debug/vgaswitcheroo/switch
0:DIS: :DynPwr:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0

これは、カードがオンであることを意味します。

多くの情報がこれからです Archフォーラムエントリ および このArch docページ (ドキュメントの品質と最新版のためにArchに敬意を表します。 。)。

1
Rmano