web-dev-qa-db-ja.com

Ubuntu 17.10およびNvidiaドライバー

OSのない新しいマシンを入手しました。私が最初にしたことは、Ubuntu 17.10をインストールすることでした。

以下にいくつかの仕様を示します。

i7 7700HQ

GTX 1060 6 GB

Samsung EVO 960 PRO m2 + 2 TB Seagate HDD

インストールはかなりスムーズに進みました。終了すると、いくつかのエラーが発生して黒い画面に落ちるだけで、再起動ボタンがかなりハングします。

ACPI Error: [_UPC] Namespace lookup failure, AE_ALREADY_EXISTS(2170531/dswload-378)
0.031925 ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog (2070531/psobject-252)
0.031958 ACPI Exception: AE_ALREADY_EXISTS, (SSDT:xh_rvp11) while loading...
0.033744 ACPI Error: 1 table load failures, 12 successful (20170531/tbxflo....)

[6.745929] Couldn'tget size: 0x8000000000e
[6.745943] MODSIGN: Couldn't get UEFI db list
[8.908673] sd 0:0:0:0: [sdb]] No Caching mode page found
[8.908674] sf 0:0:0:0: [sdb] Assuming drive cache: write through
[8.922136] print_req_error: critical medium error, dev sr0, sector 16368
[8.928612] print_req_error: critical medium error, dev sr0, sector 16368
[8.928612] Buffer I/O error on dev sr0, logical block 2046, async page read
[8.950494] print_req_error: critical medium error, dev sr0, sector 16360
[8.956755] print_req_error: critical medium error, dev sr0, sector 16360
[8.956756] Buffer I/O error on dev sr0, logical block 2045, async page read
[8.969426] print_req_error: critical medium error, dev sr0, sector 16344
[8.975715] print_req_error: critical medium error, dev sr0, sector 16344
[8.975716] Buffer I/O error on dev sr0, logical block 2043, async page read
[8.995095] print_req_error: critical medium error, dev sr0, sector 16336
[9.001279] print_req_error: critical medium error, dev sr0, sector 16336
[9.001280] Buffer I/O error on dev sr0, logical block 2042, async page read
[10.812098] nouveau 0000:01:00.0: secboot: error during falcon reset: -110
[10.812118] nouveau 0000:01:00.0: gr: init failed, -110

もちろん、ハードリセットが行われ、さらに掘り下げて、いくつかの追加のヘルプとこれ link を使用して、Ubuntu 17.10を起動してログインすることができました。

しかし、X.org X Serverの代わりにNvidiaドライバーを選択した瞬間、ログイン画面にさえ到達できませんでした。黒い画面があり、数秒ごとにいくつかのテキストが点滅していました。

[0.000000] ACPI Error: [_UPC] Namespace lookup failure, AE_ALREADY_EXISTS(20170831/dswload-378/dswload-378)
[0.000000] ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog (20170831//psobject-252)
[0.000000] ACPI Exception: AE_ALREADY_EXISTS, (SSDT:xh_rvp11) while loading table (20170831/tbxfload-228)
[0.000000] ACPI Error: 1 table load failures, 12 successful (20170831/tbxfload-246)
/dev/nvme0n1p5: clean, 199274/15269888 files, 3415948/61047808 blocks

[ OK ] Started Hostname Service.
[ OK ] Started Network Name Resolution.
[ OK ] Reached target Host and Network Name Lookups.
[ OK ] Created slice User Slice of gdm.
       Starting User Manager for UID 121...
[ OK ] Started Session c1 of user gdm.
[ OK ] Started User Manager for UID 121.
       Starting WPA supplicant...
[ OK ] Started WPA supplicant.
       Starting Manage, Install and Generate Color Profiles...
[ OK ] Started Manage, Install and Generate Color Profiles.

これ以上テキストはありません。画面が真っ暗になり、それらのテキストで一瞬点滅します。 10〜15分以上放置して、運が変わらないかどうかを確認します。

TTYに移動して、nvidiaのものをパージして、再び動作するようにしなければなりませんでした。考えられるすべての利用可能なドライバを試しましたが、どれも機能しませんでした。 bumblebeeを試し、Nvidiaのドライバーページから直接シェルスクリプトをダウンロードしました。なし。

ukuuをインストールし、最新のカーネルがこの問題を修正することを期待して、最新のカーネルに更新しました。運がありません。

通常、Nvidiaの代わりにIntelのままにしますが、1 x mHDMIとHDMIはNvidia専用です。 Intel用のmHDMIは1つしかありません(デュアルブートを持っているのでLinuxにNvidiaがないので十分です) `21:9ウルトラワイド4Kスクリーンで解像度を変更することはできません。毎日最小。

もちろん、解像度を追加してxrandrcvtをだまして考えることも考えましたが、うまく再生できませんでした。

16.04 LTSでチャンスを試すことにしました。それをダウンロードしてインストールし、小さなフープを飛び越えた後、動作するようにしました。

  • アドバンストモード、より低いカーネルバージョンを取得します。
  • tTYで$ ubuntu-drivers autoinstallを実行しました
  • コンピューターを再起動すると、コンピューターはNvidiaで動作します。

18.04 LTSにこの問題が発生しないことを期待しています。私の恐怖は、同じ問題があるかもしれないということです。ただし、この問題は修正されないのではないかと心配する必要があるため、この問題を解決する方法を模索しています。すでに3日間を費やして、AskUbuntuに戻ってきました。

間違っていない場合、ここでは2つの問題が表示されます。1つはディスク関連、もう1つはグラフィックスに関する問題です。これに関する助けを本当に感謝しています。

PS。先にデュアルブートについて述べましたが、Windows 10は問題なく動作します。

参考までに、Windows 10は必要な悪としてインストールされています!

1

nVidia driversのどのバージョンを使用していますか?次のLaunchpad PPAsのいずれかにアクセスしましたか:

https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa

https://launchpad.net/~mamarley/+archive/ubuntu/staging

https://launchpad.net/~ricotz/+archive/ubuntu/red

多くの場合、これらのPPAで公開されているグラフィックスドライバーでさえ、最新のLinuxカーネルに必要なパッチを欠いています...

カーネル4.15.0を実行しているXenial 16.04でnvidia-390ドライバーバージョン390.25を問題なく使用しています。これは、カーネル4.15および4.16に必要なパッチでnVidiaドライバーを再コンパイルしたためです。

Linuxカーネル4.15および4.16をサポートするnvidia-390バージョン390.25を含むPPAへのリンクは、これらの新しいLinuxカーネルに特定のパッチを適用したためです。

https://launchpad.net/~anton+/+archive/ubuntu/miscellaneous

[注]: 擬似公式PPA専有GPUドライバー のnVidiaグラフィックドライバーは、Bionic 18.04以外のリリースではLinuxカーネル4.15のサポートがまだ不足しています... PPAの両方にサブスクライブすると、アップデートとしてインストールされ、システムのnVidiaドライバーが強制終了されます。 tisを回避する1つの方法は、これらのパッケージの更新をロックすることです。

nvidia-390ドライバーの更新をブロックするbashスクリプトは次のとおりです。

#!/bin/sh
#
# Add nvidia-390 package to update blacklist
# Run script as super user i.e. Sudo ./block-upd-nvidia-390.sh
#

if [ $(id -u) != 0 ]; then
   echo "This script requires root permissions"
   Sudo "$0"
   exit
fi
echo "nvidia-390 hold" | dpkg --set-selections
echo "nvidia-390-dev hold" | dpkg --set-selections
echo "libcuda1-390 hold" | dpkg --set-selections
echo "nvidia-opencl-icd-390 hold" | dpkg --set-selections

実行可能にするには:

$ chmod a+x block-upd-nvidia-390

次に、単に実行します(Sudoパワーが必要なためパスワードを要求します):

$ ./block-upd-nvidia-390

更新のブロックを解除するには、次のbashスクリプトを使用します。

#!/bin/sh
#
# Remove nvidia-390 package from update blacklist
# Run script as super user i.e. Sudo ./block-upd-nvidia-390.sh
#

    if [ $(id -u) != 0 ]; then
       echo "This script requires root permissions"
       Sudo "$0"
       exit
    fi
    echo "nvidia-390 install" | dpkg --set-selections
    echo "nvidia-390-dev install" | dpkg --set-selections
    echo "libcuda1-390 install" | dpkg --set-selections
    echo "nvidia-opencl-icd-390 install" | dpkg --set-selections

最新のカーネルをインストールすると、この種の癖にさらされる可能性があります...

まだ数日前にカーネル4.15が1か月間公開された後、Ubuntu Launchpad PPAのいずれにも使用可能なnVidiaグラフィックスドライバーがありませんでした...

OK。次に、UbuntuでnVidiaグラフィックドライバーを更新する方法を説明します。

NVidia Graphics Driversは、dkmsを介して各Linuxカーネルにインストールされます。 nVidiaドライバーをインストールすると、現在使用されているLinuxカーネルとインストールされている最新の(最新の)カーネルにインストールされます。現在、Ubuntu用のLinuxカーネル4.15です。システムにインストールされている最新のLinuxカーネル内にnVidiaグラフィックドライバーをインストールする場合、このLinuxカーネルにのみインストールされます。 Ubuntu 17.10はデフォルトでLinuxカーネル4.13を使用しています。

Ubuntuシステムでは、昨年2月にリリースされた4.15のような最新のLinuxカーネルをインストールできます。 Canonical Kernel TeamのPPA をご覧ください。 Ubuntuをサポートするリリースでは4.13であるhweカーネル、または4.15であるhwe Edgeをインストールできます。

たとえば、Linuxカーネル4.15をインストールするには、ターミナルで次のコマンドラインを使用します。

$ Sudo apt install linux-headers-4.15.0-13 \
linux-headers-4.15.0-13-generic \
linux-image-4.15.0-13-generic \
linux-image-extra-4.15.0-13-generic \
linux-signed-generic-hwe-16.04-Edge \
linux-signed-image-4.15.0-13-generic \
linux-signed-image-generic-hwe-16.04-Edge

新しいLinuxカーネルをインストールする場合は、システムが正常に機能するようにすべてのdkmsモジュールドライバーを更新する必要があります。これは、nVidia Graphics Drivers、およびBroadcom Network Adaptersの可能性があります。

最初にnvidiaバージョンのインストールを取得してから、既存のnvidiaドライバーを削除してパージします。

$ dpkg -l | grep nvidia

Nvidia-384がインストールされていると仮定します:

$ Sudo apt purge nvidia-384*

次に、選択したPPAから新しいドライバーをインストールします。

$ Sudo apt install nvidia-390

パッケージのインストール中(または新しいカーネルのインストール時)に、dkmsのインストールに関する次のメッセージが表示されます。

nvidia_390:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.13.0-22-generic/updates/dkms/

nvidia_390_modeset.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.13.0-22-generic/updates/dkms/

nvidia_390_drm.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.13.0-22-generic/updates/dkms/

nvidia_390_uvm.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.13.0-22-generic/updates/dkms/

depmod....

DKMS: install completed.
Building initial module for 4.13.0-23-generic
Done.

nvidia_390:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.13.0-23-generic/updates/dkms/

nvidia_390_modeset.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.13.0-23-generic/updates/dkms/

nvidia_390_drm.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.13.0-23-generic/updates/dkms/

nvidia_390_uvm.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.13.0-23-generic/updates/dkms/

depmod....

DKMS: install completed.

または、ドライバーがターゲットLinuxカーネルをサポートしていない場合(このカーネルの特定のパッチは適用されません)、次のようなエラーが表示されます。

run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.13.0-23-generic /boot/vmlinuz-4.13.0-23-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.13.0-23-generic /boot/vmlinuz-4.13.0-23-generic
ERROR (dkms apport): kernel package linux-headers-4.13.0-23-generic is not supported
Error! Bad return status for module build on kernel: 4.13.0-23-generic (x86_64)
Consult /var/lib/dkms/nvidia-390/390.25/build/make.log for more information.

Artful 17.10を正常にインストールしましたか?

この回答が質問に回答し、問題を解決したと思われる場合は、左側のVを選択してください。

1
Antonio

奇妙な17.10で逆の問題があります:nVidia 390.12は動作しますが、Intel Graphicsマイクロコードは選択する追加のドライバーリストにリストされていませんが、インストールされています:

Sudo dmesg | grep microcode 
[    0.000000] microcode: microcode updated early to revision 0x22, date = 2017-01-27
[    0.943427] microcode: sig=0x306c3, pf=0x20, revision=0x22
[    0.943551] microcode: Microcode Update Driver: v2.2.

したがって、nVidia-prime経由でIntelに切り替えることはできません...そして、ukuuカーネルについては、4.15.11は、BlenderのラップトップですべてのCudaサイクルコンピューティングデバイス(nVidiaおよびcpu)および4.15以降の最新のものです。 12から4.16には見つからないため、これらの新しいカーネルにはおそらく問題があります。

0
PawełG