Score:3

Ubuntu 20.04 พร้อมเคอร์เนล 5.15 - จะติดตั้งไดรเวอร์ NVIDIA ได้อย่างไร

ธง cn

วิธีที่แนะนำในการติดตั้งไดรเวอร์ NVIDIA พร้อมเคอร์เนลที่อัปเดตบน Ubuntu 20.04 คืออะไร การติดตั้งผ่าน apt ไม่ทำงาน ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อสิ้นสุดการติดตั้ง

# sudo apt ติดตั้ง nvidia-driver-495 -y
...
...
การสร้าง 5.15.1-051501-ทั่วไป
อาคารสำหรับสถาปัตยกรรม x86_64
สร้างโมดูลเริ่มต้นสำหรับ 5.15.1-051501-generic
ข้อผิดพลาด (dkms apport): ไม่รองรับแพ็คเกจเคอร์เนล linux-headers-5.15.1-051501-generic
ข้อผิดพลาด! สถานะการส่งคืนไม่ถูกต้องสำหรับการสร้างโมดูลบนเคอร์เนล: 5.15.1-051501-generic (x86_64)
ปรึกษา /var/lib/dkms/nvidia/495.44/build/make.log สำหรับข้อมูลเพิ่มเติม
dpkg: แพ็คเกจการประมวลผลข้อผิดพลาด nvidia-dkms-495 (--configure):
 การติดตั้ง nvidia-dkms-495 แพ็กเกจย่อยสคริปต์หลังการติดตั้งส่งคืนสถานะการออกข้อผิดพลาด 10
dpkg: ปัญหาการพึ่งพาป้องกันการกำหนดค่าของ nvidia-driver-495:
 nvidia-driver-495 ขึ้นอยู่กับ nvidia-dkms-495 (<= 495.44-1); อย่างไรก็ตาม:
  แพ็คเกจ nvidia-dkms-495 ยังไม่ได้กำหนดค่า
 nvidia-driver-495 ขึ้นอยู่กับ nvidia-dkms-495 (>= 495.44); อย่างไรก็ตาม:
  แพ็คเกจ nvidia-dkms-495 ยังไม่ได้กำหนดค่า

dpkg: แพ็คเกจการประมวลผลข้อผิดพลาด nvidia-driver-495 (--configure):
 ปัญหาการพึ่งพา - ปล่อยให้ไม่ได้กำหนดค่า
ไม่มีการเขียนรายงาน apport เนื่องจากข้อความแสดงข้อผิดพลาดระบุว่าเป็นข้อผิดพลาดที่ตามมาจากความล้มเหลวครั้งก่อน
...

นี่คือข้อมูลบางอย่างเกี่ยวกับฮาร์ดแวร์ของฉัน (แล็ปท็อปคือ Lenovo P15S Gen1 AFAIK)

# uname -r
5.15.1-051501-generic

# lspci | grep -E "VGA|3D"
00:02.0 คอนโทรลเลอร์ที่เข้ากันได้กับ VGA: Intel Corporation UHD Graphics (rev 02)
2d:00.0 คอนโทรลเลอร์ 3D: NVIDIA Corporation GP108GLM [Quadro P520] (rev a1)

# lscpu | รุ่น grep -i
ชื่อรุ่น: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
รุ่น: 142

ขณะนี้ฉันกำลังทำงานกับ Intel GPU ซึ่งก็ใช้ได้ แต่ฉันชอบที่จะไม่พกพา GPU เฉพาะของ NVIDIA ตลอดเวลาโดยไม่ใช้มัน

มองเข้าไปใน /var/lib/dkms/nvidia/495.44/build/make.logฉันมีสิ่งนี้ที่ส่วนท้ายของไฟล์

/var/lib/dkms/nvidia/495.44/build/nvidia/nv-dma.c:976: คำเตือน: "IMPORT_SGT_STUBS_NEEDED" นิยามใหม่
  976 | #กำหนด IMPORT_SGT_STUBS_NEEDED 0
      | 
/var/lib/dkms/nvidia/495.44/build/nvidia/nv-dma.c:970: หมายเหตุ: นี่คือตำแหน่งของคำจำกัดความก่อนหน้า
  970 | #กำหนด IMPORT_SGT_STUBS_NEEDED 1
      | 
/var/lib/dkms/nvidia/495.44/build/nvidia/nv-mmap.c: ในฟังก์ชัน ânv_encode_cachingâ:
/var/lib/dkms/nvidia/495.44/build/nvidia/nv-mmap.c:334:16: คำเตือน: คำสั่งนี้อาจตกผ่าน [-Wimplicit-fallthrough=]
  334 | ถ้า (NV_ALLOW_CACHING(memory_type))
      | ^
/var/lib/dkms/nvidia/495.44/build/nvidia/nv-mmap.c:337:9: หมายเหตุ: ที่นี่
  337 | ค่าเริ่มต้น:
      | ^~~~~~~
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.33' (จำเป็นโดย scripts/basic/fixdep)
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.34' (จำเป็นโดย scripts/basic/fixdep)
ทำ [2]: *** [สคริปต์/Makefile.build:277: /var/lib/dkms/nvidia/495.44/build/nvidia/nv-cray.o] ข้อผิดพลาด 1
make[2]: *** กำลังลบไฟล์ '/var/lib/dkms/nvidia/495.44/build/nvidia/nv-cray.o'
make[2]: *** รองานไม่เสร็จ....
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.33' (จำเป็นโดย scripts/basic/fixdep)
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.34' (จำเป็นโดย scripts/basic/fixdep)
ทำ [2]: *** [สคริปต์/Makefile.build:277: /var/lib/dkms/nvidia/495.44/build/nvidia/nv-i2c.o] ข้อผิดพลาด 1
make[2]: *** กำลังลบไฟล์ '/var/lib/dkms/nvidia/495.44/build/nvidia/nv-i2c.o'
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.33' (จำเป็นโดย scripts/basic/fixdep)
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.34' (จำเป็นโดย scripts/basic/fixdep)
ทำ [2]: *** [สคริปต์/Makefile.build:277: /var/lib/dkms/nvidia/495.44/build/nvidia/nv-p2p.o] ข้อผิดพลาด 1
make[2]: *** กำลังลบไฟล์ '/var/lib/dkms/nvidia/495.44/build/nvidia/nv-p2p.o'
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.33' (จำเป็นโดย scripts/basic/fixdep)
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.34' (จำเป็นโดย scripts/basic/fixdep)
ทำให้ [2]: *** [สคริปต์/Makefile.build:277: /var/lib/dkms/nvidia/495.44/build/nvidia/nv-mmap.o] ข้อผิดพลาด 1
make[2]: *** กำลังลบไฟล์ '/var/lib/dkms/nvidia/495.44/build/nvidia/nv-mmap.o'
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.33' (จำเป็นโดย scripts/basic/fixdep)
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.34' (จำเป็นโดย scripts/basic/fixdep)
ทำ [2]: *** [สคริปต์/Makefile.build:277: /var/lib/dkms/nvidia/495.44/build/nvidia/nv-pci.o] ข้อผิดพลาด 1
make[2]: *** กำลังลบไฟล์ '/var/lib/dkms/nvidia/495.44/build/nvidia/nv-pci.o'
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.33' (จำเป็นโดย scripts/basic/fixdep)
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.34' (จำเป็นโดย scripts/basic/fixdep)
ทำ [2]: *** [สคริปต์/Makefile.build:277: /var/lib/dkms/nvidia/495.44/build/nvidia/nv-dma.o] ข้อผิดพลาด 1
make[2]: *** กำลังลบไฟล์ '/var/lib/dkms/nvidia/495.44/build/nvidia/nv-dma.o'
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.33' (จำเป็นโดย scripts/basic/fixdep)
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.34' (จำเป็นโดย scripts/basic/fixdep)
ทำ [2]: *** [สคริปต์/Makefile.build:277: /var/lib/dkms/nvidia/495.44/build/nvidia/nv-acpi.o] ข้อผิดพลาด 1
make[2]: *** กำลังลบไฟล์ '/var/lib/dkms/nvidia/495.44/build/nvidia/nv-acpi.o'
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.33' (จำเป็นโดย scripts/basic/fixdep)
scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: ไม่พบเวอร์ชัน `GLIBC_2.34' (จำเป็นโดย scripts/basic/fixdep)
ทำ [2]: *** [สคริปต์/Makefile.build:277: /var/lib/dkms/nvidia/495.44/build/nvidia/nv.o] ข้อผิดพลาด 1
make[2]: *** กำลังลบไฟล์ '/var/lib/dkms/nvidia/495.44/build/nvidia/nv.o'
ทำ [1]: *** [Makefile:1874: /var/lib/dkms/nvidia/495.44/build] ข้อผิดพลาด 2
ทำ [1]: ออกจากไดเร็กทอรี '/usr/src/linux-headers-5.15.1-051501-generic'
ทำ: *** [Makefile:80: โมดูล] ข้อผิดพลาด 2

ฉันมีปัญหาเดียวกันกับไดรเวอร์รุ่นเก่า ดูเหมือนว่าเคอร์เนล mainline ต้องการ glibc เป็นอย่างน้อย v2.33 ซึ่งมีเฉพาะใน Ubuntu 21.04 ณ ตอนนี้

oldfred avatar
cn flag
นี่เป็นไดรเวอร์ที่แตกต่างกันสำหรับ Quadro P520 https://www.nvidia.com/Download/driverResults.aspx/181278/en-us หรือ 470.82.00 สิ่งนี้แนะนำอะไร: ติดตั้ง nVidia หากคุณต้องการเวอร์ชันเริ่มต้น - ขอแนะนำ `sudo ไดรเวอร์อูบุนตูติดตั้งอัตโนมัติ`
cn flag
ขอบคุณสำหรับการตอบกลับ! การติดตั้งอัตโนมัติพยายามติดตั้ง nvidia-driver-495 เมื่อลอง `sudo apt install nvidia-driver-495 -y` ส่งผลให้เกิดข้อผิดพลาดที่คล้ายกัน `ERROR (dkms apport): ไม่รองรับ kernel package linux-headers-5.15.1-051501-generic' และ `Package nvidia-dkms- 470 ยังไม่ได้กำหนดค่า `
Nmath avatar
ng flag
คุณได้รับ/ติดตั้งเคอร์เนล 5.15 ได้อย่างไร และเพราะเหตุใด หากคุณกำลังใช้เคอร์เนลอัพสตรีมหรือเมนไลน์ เคอร์เนลจะไม่รองรับ Mainline kernels ใช้สำหรับการทดสอบเท่านั้น ในกรณีนั้น โปรดยื่นรายงานข้อบกพร่องและขอขอบคุณสำหรับการทดสอบ Ubuntu หากคุณต้องการให้สิ่งต่าง ๆ ใช้งานได้ ให้ใช้เคอร์เนล GA หรือ HWE ที่รองรับ
cn flag
ผมติดตั้งผ่านแอพพลิเคชั่น Mainline (https://github.com/bkw777/mainline) ฉันติดตั้งเพราะฉันต้องรีบูตแล็ปท็อปทุกครั้งที่เชื่อมต่อกับแท่น Lenovo หลังจากอัปเดตเป็นเฟิร์มแวร์ล่าสุด เนื่องจากเมาส์และแป้นพิมพ์ไม่ทำงานเมื่อฉันเชื่อมต่อสาย Thunderbolt/USB-C ฉันจะลองติดตั้งไดรเวอร์ NVIDIA ด้วยเคอร์เนล 5.11 ล่าสุด
Score:0
ธง cn

นี่คือทางออกอย่างที่เราเห็นจากโพสต์ของฉัน ไฟล์ make.log บอกว่าต้องใช้ glibc >= 2.33 แต่ Ubuntu 20.04 ใช้ glibc 2.31 (ldconfig -- รุ่น).

เพราะว่า นแมธ ความคิดเห็น และหลังจากนอนหลับไปหนึ่งคืน ฉันตรวจสอบเวิร์กสเตชันของฉัน ซึ่งใช้ Ubuntu 20.04 ด้วย GPU 1080 Ti ซึ่งเคอร์เนลนั้นทำงานร่วมกับไดรเวอร์ของ Nvidia ในกรณีของฉัน ณ ตอนนี้มันเป็นเวอร์ชันเคอร์เนล 5.11.0-40-ทั่วไป. หลังจากบูทเข้าไปในเคอร์เนลนี้ ฉันลบเคอร์เนลที่ใหม่กว่าทั้งหมดซึ่งฉันได้ติดตั้งผ่านแอปพลิเคชันเมนไลน์ หลังจากรีบูตครั้งถัดไป ฉันติดตั้งไดรเวอร์ NVIDIA ล่าสุดผ่าน sudo apt ติดตั้ง nvidia-driver-495 สั่งการ. การติดตั้งไดรเวอร์ทำงานในครั้งนี้โดยไม่มีปัญหา เนื่องจากเคอร์เนลเดิมถูกสร้างขึ้นโดยใช้ glibc 2.31

หลังจากนั้นฉันมีหน้าจอสีดำหลังจากบูต ฉันเปลี่ยนเป็นเทอร์มินัลผ่าน Ctrl + Alt + F2. เมื่ออยู่ในเทอร์มินัลแล้ว ฉันสำรองไฟล์ xorg.conf ผ่าน sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak และตรวจสอบให้แน่ใจว่าไดรเวอร์ของ nvidia ไม่ได้อยู่ในบัญชีดำ /etc/modprobe.d/ และ /lib/modprobe.d/. และในที่สุดฉันก็เปลี่ยนผ่าน sudo ไพรม์เลือก intel ไปยังไดรเวอร์ Intel และผ่าน sudo ไพรม์เลือก nvidia กลับไปที่ไดรเวอร์ nvidia หลังจากรีบูตอีกครั้งก็ใช้งานได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา