web-dev-qa-db-ja.com

Mesaドライバーを正しく更新するには?

グラフィックカードのドライバーでOpenGL 4.5をサポートする必要があります。また、Mesaが実際に実行できることを知っている限りは。
glxinfoは私にこれを与えます:

$ glxinfo | grep "OpenGL"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.0.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 13.0.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 13.0.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

つまり、これはOpenGL 3.0のみを実行できるということです。だから私はそれを更新しようとしましたが、私はいくつかの問題に遭遇しました:

aptを使用して更新しようとした場合、つまりSudo apt-get upgrade libgl1-mesa-dri -t testing、 これは壊れています:

$ Sudo apt-get upgrade libgl1-mesa-dri -t testing
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libsnmp30 : Depends: libsensors4 (>= 1:3.0.0) but it is not going to be installed
 mesa-va-drivers : Depends: libsensors4 (>= 1:3.0.0) but it is not going to be installed
 mesa-va-drivers:i386 : Depends: libsensors4:i386 (>= 1:3.0.0) but it is not going to be installed
E: Broken packages

さて、しかし:

$ apt-cache policy libsensors4
libsensors4:
  Installed: 1:3.4.0-4
  Candidate: 1:3.4.0-4
  Version table:
 *** 1:3.4.0-4 900
        900 http://ftp.ru.debian.org/debian stretch/main AMD64 Packages
        100 /var/lib/dpkg/status

したがって、それはlibバージョン> = 1:3.0.0に依存しますが、私はバージョン1:3.4.0-4を持っています。これは本当に奇妙です。

一般に、Mesaをどのようにアップグレードすればよいかわかりません。 aptを使用している場合、どのパッケージを更新すればよいかわかりません。ソースからの場合、それがaptとどのように相互作用し、アップデートによって元に戻されないかはわかりません。

私はDebian 9 Stretchを使用していますが、私のグラフィックカードはIntel HD Graphics 5000です。

2
Verloren

安定版に直接テストをインストールしようとしないでください!または FrankenDebian (せいぜい)になるか、非現実的な依存関係のために多くのパッケージが失われます。

良いニュースは、これらの更新されたパッケージ 利用可能stretch-backports です。 Debianのメサには、テストでいくつかのパッケージングの変更があり、ストレッチバックポートでも ベンダーニュートラルのGLディスパッチライブラリ に関連して、これは重要ではありません)に関連しています。また、 AMD64i386の両方のパッケージでマルチアーチを使用する場合これらのパッケージはロックステップでアップグレードする必要があります。あなたが見たエラーの.

したがって、すべてをアップグレードせずにメサのみをアップグレードする方法について正確なコマンドを伝えることはできません(これはしないでください(== --- ==)しないでくださいしないでください:stretch-backports doesセキュリティサポートはありません)が、手順を説明します。

まず、stretch-backportsを適切に追加する方法について Debianの指示 に従ってください。ここに簡単な要約を示します。

# echo 'deb http://deb.debian.org/debian/ stretch-backports main contrib non-free' >> /etc/apt/sources.list.d/stretch-backports.list
# apt-get update

追加した場合は、バスター/テスト/ SIDエントリを削除してください。

一部のパッケージが消えた可能性があります(たとえば、libgles1-mesaは提供されなくなりました)。 one単一のapt-getコマンドで関連するすべてのパッケージをアップグレードする必要があるため、最初に、最も関連するパッケージを現在のパッケージで確認する必要があります。バージョン、および依存関係リゾルバーが欠落している部分を選択するようにします(例:libdrm2)。悪いことが起こらないことを確認する必要があるため、スクリプトではなく、手動で処理を行う必要があります(apt-getで100個のパッケージを削除するなど)。だからこのようなもの:

dpkg -l | fgrep 13.0.6-1+b2

あるいは:

dpkg -l | awk '/^.i/ && $3 == "13.0.6-1+b2" { print $2 }' | xargs

パッケージのリストの主要部分を取得します。インストール済みのマルチアーチパッケージの場合、AMD64パッケージ(デフォルトでは追加の:AMD64は必要ありませんが、カット/ペーストからそのままにしておくことができます)とagain同じi386パッケージ(パッケージ名に:i386を追加したものを使用)も以前のdpkgコマンド。したがって、最終的なインストールコマンドは次のようになります。

apt-get -t stretch-backports install libgl1-mesa-dri:AMD64 libgl1-mesa-dri:i386 mesa-opencl-icd:AMD64 mesa-opencl-icd:i386 ...

あなたはアイデアを得ます。ここで、提供される削除されるパッケージの数を確認します。削除するメサ関連パッケージがいくつかある場合(例:libgles1-mesa)、それらの大部分または多くの関連しないパッケージを削除するように提案されている場合は、中止して、不足している可能性のあるものを熟考します。もちろん、他にも多くのものがアップグレードとして提供される必要があります(例:libdrm2およびlibdrm2:i386)。マルチアーチが原因で引き続き問題が発生する可能性があるため、apt-getが十分にスマートでない場合は、拡張するワンライナーリストに手動で2回(アーチごとに1回)追加する必要があります。

@Stephen Kittが示唆しているように、グラフィックサポートを含むハードウェアの使用法の改善に対処する他の有用な関連パッケージもストレッチバックポートで利用可能であり、おそらくアップグレードする必要もあります。その中で:

  • linux-image-AMD64は現在linux-image-4.19.0-0.bpo.2-AMD64をプルします
  • さまざまなファームウェアパッケージ(現在インストールされているものはすべてアップグレードする必要があります)。アップグレードされたグラフィックサポートが含まれている可能性があり、最良の結果を得るには新しいカーネルの(おそらく非表示の)依存関係としてアップグレードする必要がある可能性があるfirmware-misc-nonfreeなど。
6
A.B