Saya mencoba menginstal driver NVIDIA terbaru di Debian Stretch. Saya sudah mengunduh NVIDIA-Linux-x86_64-390.48.run
dari sini , tetapi ketika saya mencoba melakukannya
sudo sh ./NVIDIA-Linux-x86_64-390.48.run
seperti yang disarankan, pesan kesalahan muncul.
ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel. This may be because it is in use (for example, by an X server, a CUDA program, or
the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading. Please be sure to exit any programs
that may be using the GPU(s) before attempting to upgrade your driver. If no GPU-based programs are running, you know that your kernel supports module unloading,
and you still receive this message, then an error may have occured that has corrupted an NVIDIA kernel module's usage count, for which the simplest remedy is to
reboot your computer.
Ketika saya mencoba mencari tahu siapa yang menggunakan nvidia-drm
(atau nvidia_drm
), saya tidak melihat apa-apa.
~$ sudo lsof | grep nvidia-drm
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
~$ sudo lsof -e /run/user/1000/gvfs | grep nvidia-drm
~$
Dan ketika saya mencoba untuk menghapusnya, dikatakan sedang digunakan.
~$ sudo modprobe -r nvidia-drm
modprobe: FATAL: Module nvidia_drm is in use.
~$
Saya telah reboot dan mulai dalam mode hanya teks (dengan menekan Ctrl + Alt + F2 sebelum memberikan nama pengguna / kata sandi), tetapi saya mendapatkan kesalahan yang sama.
Selain itu, bagaimana saya "tahu bahwa kernel saya mendukung pembongkaran modul"?
Saya mendapat beberapa peringatan saat boot terkait dengan nvidia, tidak tahu apakah itu terkait,:
Apr 30 00:46:15 debian-9 kernel: nvidia: loading out-of-tree module taints kernel.
Apr 30 00:46:15 debian-9 kernel: nvidia: module license 'NVIDIA' taints kernel.
Apr 30 00:46:15 debian-9 kernel: Disabling lock debugging due to kernel taint
Apr 30 00:46:15 debian-9 kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module 375.82 Wed Jul 19 21:16:49 PDT 2017 (using threaded interrupts)
systemctl stop systemd-logind
sebelum membongkar modul.systemctl stop systemd-logind.service
, tetapi ini menutup layar dan membawa saya kembali ke grafik masuk, di mana saya harus melakukan Ctrl + Alt + F2 lagi.Jawaban:
Saya membayangkan Anda ingin menghentikan manajer tampilan yang saya duga akan menggunakan driver Nvidia.
Setelah mengubah ke konsol teks (menekan Ctrl+ Alt+ F2) dan masuk sebagai root, gunakan perintah berikut untuk menonaktifkan target grafis, yang membuat manajer tampilan tetap berjalan:
Pada titik ini, saya berharap Anda dapat membongkar driver Nvidia menggunakan
modprobe -r
(ataurmmod
langsung):Setelah Anda berhasil mengganti / meningkatkannya dan Anda siap untuk memulai kembali lingkungan grafis, Anda dapat menggunakan perintah ini:
sumber
modprobe
langkah.modprobe
langkah.systemctl isolate
perintah ini adalah untuk melakukan itu. Tetapi mungkin saja itu tidak dikonfigurasikan dengan benar di sistem Anda ... Periksaps -ef
dan lihat apakah Anda dapat mengetahui apa yang mungkin menggunakan driver, kemudian minta proses itu dihentikan. Itu akan memungkinkan Anda untuk menurunkan driver.lsof
daftar semua file yang digunakan oleh proses userspace. Tetapinvidia_drm
merupakan modul kernel, jadilsof
tidak perlu melihat apakah itu benar-benar sedang digunakan atau tidak. (File modul tidak akan terbuka karena kernel telah sepenuhnya memuatnya ke dalam RAM. Tetapi modul tersebut mungkin menyediakan layanan ke userspace atau komponen kernel lainnya, dan itulah yang mencegah pembongkaran modul.)Jalankan
lsmod | grep nvidia.drm
dan lihat angka-angka di sebelah kanannvidia_drm
nama modul. Angka pertama hanyalah ukuran modul; yang kedua adalah hitungan penggunaan. Agar berhasil menghapus modul, jumlah penggunaan harus 0 pertama.Jika server X11 berjalan dan menggunakan
nvidia
driver, makanvidia_drm
modul kernel pasti akan digunakan. Jadi Anda harus, paling tidak, beralih ke konsol teks dan mematikan server X11. Biasanya ini dapat dilakukan dengan menghentikan layanan X Display Manager mana pun yang Anda gunakan (tergantung pada lingkungan desktop yang Anda gunakan).Seperti yang dikatakan pesan kesalahan, jika Anda menjalankan
nvidia-persistenced
, Anda harus menghentikannya juga sebelum Anda dapat membongkarnvidia_drm
modul.sumber
lsmod
memberitahu saya ada 1 proses menggunakannvidia_drm
. Jadi saya lakukansudo /etc/init.d/gdm3 stop
, yangok
menghentikannya. Tapi masih 1 proses dilsmod
. Sekarang di dalam Gnome,ps aux | grep nvidia
pertunjukkan[irq/129-nvidia]
dan[nvidia]
tetapi tidaknvidia-persistenced
. Juga, di sinilsmod
menunjukkan 2 proses menggunakannvidia_drm
. Aku terjebak.Saya punya masalah serupa.
Saya memperbaikinya dengan membersihkan semua paket NVIDIA.
Hapus semua instalasi NVIDIA sebelumnya dengan 2 perintah ini:
$ sudo apt-get purge nvidia*
$ sudo apt-get autoremove
Modul harus dihapus.
Nyalakan kembali dan lanjutkan.
sumber
Anda melaporkan dalam komentar yang menghentikan layanan systemd-logind membawa Anda kembali ke login grafis . Jika Anda memiliki login grafis maka X sedang berjalan, jadi driver video dimuat dan digunakan. Ini sangat mungkin menjelaskan sebagian mengapa modul nvidia-drm digunakan.
Selain itu, Anda mengkhianati kesalahpahaman saat Anda mengatakannya
Menekan Ctrl + Alt + F2 beralih ke terminal virtual # 2, yang mungkin dapat dikonfigurasi untuk login mode teks, tapi itu jauh dari "memulai mode teks". Jika Anda memiliki layar login grafis pada terminal virtual default maka X sedang berjalan, dan beralih ke VT yang berbeda tidak mengubahnya. Anda hanya masuk ke sesi non-X.
Hal pertama dan termudah untuk dicoba adalah benar-benar mematikan X server. Cara old-school untuk melakukan ini adalah dengan masuk ke sesi mode teks Anda dan menjalankan perintah
untuk beralih ke runlevel 3. Itu harus bekerja dengan systemd, juga, tetapi cara systemd asli akan lebih baik dijalankan
Keduanya membutuhkan hak istimewa, jadi Anda harus menggunakan
sudo
atau menjadikan diri Anda root.Jika itu tidak menghapus modul, atau setidaknya memungkinkan Anda melakukannya secara manual, maka taruhan terbaik Anda berikutnya adalah mem-boot sistem langsung ke runlevel 3 (target multi-pengguna), atau mungkin bahkan ke runlevel 1 (target penyelamatan). Saya biasanya melakukan ini dengan menambahkan "3" (atau "1") ke akhir daftar argumen kernel pada saat boot melalui bootloader. Anda juga dapat mengubah target boot default seperti yang dijelaskan dalam artikel ini .
Perhatikan juga bahwa driver nVidia tersedia dalam paket pre-built untuk sebagian besar distro Linux. Hanya sedikit yang menyertakan paket-paket itu dalam repo standar mereka sendiri karena pengemudi, bagaimanapun, adalah hak milik, tetapi Anda pasti dapat menemukan repo pihak ke-3 terkemuka yang memilikinya. Saya sangat merekomendasikan menggunakan paket-paket seperti itu daripada menjalankan installer secara langsung, tetapi untuk sampai di sana dari tempat Anda sekarang, Anda mungkin perlu terlebih dahulu menghapus instalan driver.
sumber
Instalasi CUDA
1) Unduh CUDA Toolkit terbaru
2) Beralih ke tty3 dengan menekan Ctl + Alt + F3
3) Bongkar nvidia-drm sebelum melanjutkan.
3a) Isolate multi-user.target
3b) Perhatikan bahwa nvidia-drm saat ini sedang digunakan.
3c) Bongkar nvidia-drm
4d) Perhatikan bahwa nvidia-drm tidak digunakan lagi.
5) Buka folder unduhan Anda dan jalankan instalasi cuda.
6) Jawab setiap permintaan selama instalasi.
7) Setelah instalasi selesai, konfirmasikan bahwa Versi CUDA telah diperbarui.
8) Mulai GUI lagi.
sumber
Punya masalah yang sama dengan Debian Stretch ketika mencoba menginstal driver Nvidia. Ketika di mod teks, satu-satunya solusi saya adalah menghapus driver, instal ulang gdm dan gnome-shell. Saya tahu ini adalah solusi yang canggung, tetapi saya ingat saya pertama kali mencoba memperbaiki gnome-shell dan hanya menghapus driver Nvidia dan menginstal ulang GDM. Ternyata jauh lebih mudah untuk menginstal ulang seluruh shell.
sumber
Saya juga mengalami masalah yang sama. Alasan untuk kesalahan adalah bahwa saya tidak sengaja memilih "Instal driver nvidia" selama instalasi cuda.
Jadi, selama instalasi CUDA, ketika Anda menemukan opsi berikut:
Silakan pilih q , masalah akan terpecahkan.
sumber
apa yang berhasil bagi saya adalah mengubah sistem untuk memulai lebih banyak teks
kemudian restart dan instal driver nvidia cuda setelah selesai Anda mungkin ingin mengubah sistem untuk memulai dalam mode grafis lagi
sumber
Menghentikan
systemd-logind
memperbaikinya untuk saya:Ini disarankan sebagai solusi dalam masalah github ini pada halaman github nvidia-xrun:
sumber