Score:3

ไดรเวอร์ Nvidia ใช้งานไม่ได้ในการอัปเดต - ไม่สามารถติดตั้งใหม่ได้

ธง in

ฉันใช้ Ubuntu 20.04 และหลังจากรีบูตครั้งล่าสุด ฉันมีปัญหากับไดรเวอร์กราฟิก - ระบบมีความละเอียดต่ำ มีเพียงจอภาพเดียวเท่านั้นที่ใช้งานได้

ดีบักเอาท์พุต

$ sudo lshw -C แสดง
  *-แสดงไม่มีการอ้างสิทธิ์       
       รายละเอียด: คอนโทรลเลอร์ที่รองรับ VGA
       สินค้า: TU104 [GeForce RTX 2070 SUPER]
       ผู้จำหน่าย: NVIDIA Corporation
       รหัสทางกายภาพ: 0
       ข้อมูลรถบัส: pci@0000:31:00.0
       รุ่น: a1
       ความกว้าง: 64 บิต
       นาฬิกา: 33MHz
       ความสามารถ: pm msi pciexpress vga_controller cap_list
       การกำหนดค่า: เวลาแฝง = 0
       ทรัพยากร: หน่วยความจำ:f5000000-f5ffffff หน่วยความจำ:e0000000-efffffff หน่วยความจำ:f0000000-f1ffffff ioport:f000(size=128) หน่วยความจำ:f6000000-f607ffff
สถานะ $ sudo dkms
nvidia, 510.47.03: เพิ่ม

สถานะนั้นดูแปลกใหม่เล็กน้อย อย่างน้อยฉันก็ไม่พบกรณีที่คล้ายกันมากมายในขณะที่กูเกิล

$nvidia-smi
NVIDIA-SMI ล้มเหลวเนื่องจากไม่สามารถสื่อสารกับไดรเวอร์ NVIDIA ตรวจสอบให้แน่ใจว่าได้ติดตั้งและเรียกใช้ไดรเวอร์ NVIDIA ล่าสุดแล้ว
$modinfo nvidia
modinfo: ข้อผิดพลาด: ไม่พบโมดูล nvidia

ในข้อมูลระบบฉันเห็น "llvmpipe (LLVM 12.0.0, 256 บิต)" เป็นกราฟิกของฉัน

สิ่งที่ฉันพยายาม

ฉันลองติดตั้งไดรเวอร์ Nvidia หลายวิธีแล้ว ฉันใช้ apt sudo apt autoremove --purge nvidia* && sudo apt ติดตั้ง nvidia-driver-510, UI "ไดรเวอร์เพิ่มเติม" และ ไดรเวอร์ Ubuntuฉันลองใช้เวอร์ชันล่าสุด 510 และเวอร์ชันเก่าที่ใช้งานได้ก่อนหน้านี้ - 470 ฉันยังลองเลือก nvidia sudo ไพรม์เลือก nvidia เช่นเดียวกับการเลือก intel และเปลี่ยนกลับเป็น nvidia - ผลลัพธ์เดียวกัน

พื้นหลัง

ฉันใช้ไดรเวอร์ Nvidia 470 และเคอร์เนล 5.13.0.26 จากนั้นหลังจากรีบูต ฉันได้รับเคอร์เนล .27 และไม่มี wifi ฉันเพิ่งมีปัญหานั้นเนื่องจากไดรเวอร์ของ Nvidia (จำเป็นต้องติดตั้ง linux-modules-extra สำหรับเคอร์เนลใหม่) ดังนั้นฉันจึงตัดสินใจ อัพเกรดไดรเวอร์โดยหวังว่าทุกอย่างจะได้รับการแก้ไข ที่นำไปสู่สถานการณ์ปัจจุบัน: การติดตั้ง linux-modules-extra-5.13.0-27-ทั่วไป จากนั้นเปลี่ยนเป็น 510 - เหมือนกันสำหรับปัญหา wifi .28 ที่แก้ไขแล้ว แต่ไดรเวอร์วิดีโอเสีย ในขณะที่ใช้ 5.13.0.27 ฉันสามารถบูต 5.13.0.26 และที่นั่นฉันมีวิดีโอที่ใช้งานอยู่ ตอนนี้ไม่ใช่สาเหตุเพราะ .27 เป็นเคอร์เนลที่เก่าแก่ที่สุดในเมนู Grub

ฉันรู้สึกว่าฉันพลาดขั้นตอนที่จะแก้ไขได้ ขอขอบคุณสำหรับความช่วยเหลือใด ๆ

ยูพีดี

sudo dkms ติดตั้ง -m nvidia -v 510.47.03 -k 5.13.0-28-generic --force
ข้อผิดพลาด! ไม่พบส่วนหัวเคอร์เนลของคุณสำหรับเคอร์เนล 5.13.0-28-generic
โปรดติดตั้งแพ็คเกจ linux-headers-5.13.0-28-generic
หรือใช้ตัวเลือก --kernelsourcedir เพื่อบอก DKMS ว่าอยู่ที่ไหน
$ sudo dkms สร้าง -m nvidia -v 510.47.03
ข้อผิดพลาด! ไม่พบส่วนหัวเคอร์เนลของคุณสำหรับเคอร์เนล 5.13.0-28-generic
โปรดติดตั้งแพ็คเกจ linux-headers-5.13.0-28-generic
หรือใช้ตัวเลือก --kernelsourcedir เพื่อบอก DKMS ว่าอยู่ที่ไหน

ดูเหมือนว่า dkms จะไม่รู้จักเคอร์เนลของฉัน ฉันใช้คำแนะนำของข้อความแสดงข้อผิดพลาดข้างต้นและติดตั้งส่วนหัว sudo apt ติดตั้ง linux-headers-5.13.0-28-genericหลังจากนั้นผลลัพธ์จะดูดีขึ้น:

sudo dkms สร้าง -m nvidia -v 510.47.03
โมดูล nvidia/510.47.03 สร้างไว้แล้วสำหรับเคอร์เนล 5.13.0-28-generic/4
สถานะ sudo dkms
nvidia, 510.47.03, 5.13.0-28-generic, x86_64: ติดตั้งแล้ว

ฉันจะลองรีบูทตอนนี้แล้วติดตั้งไดรเวอร์ตามคำแนะนำในความคิดเห็น

ยูพีดี2

แค่นั้นแหละ ตอนนี้ทุกอย่างดูเหมือนจะได้ผล ไม่จำเป็นต้องทำอะไรเกี่ยวกับไดรเวอร์ ดูเหมือนว่าปัญหาเกิดจากการขาดหายไปของส่วนหัว

Terrance avatar
id flag
`sudo dkms install -m nvidia -v 510.47.03 -k 5.13.0-28-generic --force` ควรสามารถติดตั้งไดรเวอร์ลงในเคอร์เนลนั้นได้
heynnema avatar
ru flag
@Terrance การสร้าง/ติดตั้ง dkms อาจล้มเหลวระหว่างการติดตั้ง Nvidia 510 เนื่องจากเปิดใช้งานการบูตแบบปลอดภัย... หรือเคอร์เนล lib/extras หายไป
Terrance avatar
id flag
@heynnema ฉันเดาว่าเป็นไปได้ที่เปิดใช้งาน Secure Boot โดยปกติเมื่อคุณเห็นไดรเวอร์ dkms แสดง "เพิ่ม" นั่นคือ 2 ใน 3 ขั้นตอนเสร็จสิ้นโดยที่ดำเนินการ "เพิ่ม dkms" และ "สร้าง dkms" แค่ขั้นตอน `dkms install` ไม่ได้รันหรือล้มเหลว หรือบางที `dkms build` อาจล้มเหลวเช่นกัน
Terrance avatar
id flag
คุณจะได้ผลลัพธ์อะไรเมื่อคุณเรียกใช้ `sudo dkms build -m nvidia -v 510.47.03`
heynnema avatar
ru flag
@Terrance ใช่ ฉันสงสัยว่าการสร้าง dkms ล้มเหลว อาจเป็นเพราะเปิดใช้งาน Secure Boot หรือหาก libs บางส่วนหายไป สถานะ dkms ไม่แสดงบิลด์ก่อนหน้าเทียบกับเคอร์เนลรุ่นเก่า ซึ่งอาจหมายความว่า OP ไม่เคยติดตั้ง Nivdia มาก่อน เราจะดูว่าคำสั่ง build dkms ของคุณใช้งานได้หรือเกิดข้อผิดพลาด จากนั้นการติดตั้ง dkms จะเป็นครั้งต่อไป
heik avatar
in flag
@Terrance @heynnema ขออภัย ฉันลืมบอกว่าฉันตรวจสอบการบูตแบบปลอดภัยแล้ว มันถูกปิดใช้งาน แต่เป็นไปได้ว่า libs บางส่วนขาดหายไป - เมื่อก่อนฉันใช้ aptitude แต่แล้วฉันก็จำได้ว่ามันอาจทำให้การพึ่งพาอาศัยกันยุ่งเหยิงได้ ดังนั้นฉันจึงสงสัยว่านั่นเป็นสาเหตุที่แท้จริง ``` $ sudo dkms สร้าง -m nvidia -v 510.47.03 ข้อผิดพลาด! ไม่พบส่วนหัวเคอร์เนลของคุณสำหรับเคอร์เนล 5.13.0-28-generic โปรดติดตั้งแพ็คเกจ linux-headers-5.13.0-28-generic หรือใช้ตัวเลือก --kernelsourcedir เพื่อบอก DKMS ว่าอยู่ที่ไหน ```
heik avatar
in flag
ความคิดเห็นช่วยได้มากอย่างน้อยก็ชัดเจนว่ามีบางอย่างขาดหายไปและมันคืออะไรฉันได้อัปเดตโพสต์แล้ว
heik avatar
in flag
@Terrance โปรดโพสต์ความคิดเห็นและคำแนะนำในการติดตั้ง linux-headers-5.13.0-28-generic (ดูโพสต์ที่อัปเดต) ดังนั้นฉันจะยอมรับเป็นคำตอบ ความคิดเห็นของคุณนำฉันไปสู่การแก้ปัญหา ขอบคุณมาก!
Terrance avatar
id flag
@heik ถ้าคุณต้องการคุณสามารถไปข้างหน้าและเขียนคำตอบแล้วฉันจะโหวตให้ ฉันไม่มีปัญหาในการหยุดและช่วยเหลือเท่าที่ฉันทำได้ และฉันดีใจที่คุณสามารถแก้ปัญหาได้ ;)
Someone avatar
my flag
สวัสดี! ฉันขอโทษที่ไม่ชัดเจน... ในขณะที่เขียนคำตอบของฉัน ฉันคิดผิดว่าคุณได้ติดตั้งข้อกำหนดเบื้องต้นทั้งหมดแล้วแน่นอนว่าจำเป็นต้องมี Linux Headers! ฉันได้อัปเดตคำตอบและปรับปรุงความชัดเจนแล้ว นอกจากนี้ คุณได้ติดตั้งส่วนหัวของเคอร์เนลของเคอร์เนลปัจจุบันของคุณแล้ว... คุณจะต้องทำขั้นตอนนี้ซ้ำทุกครั้งที่เคอร์เนลได้รับการอัปเกรด พิจารณาการติดตั้งแพ็คเกจ `sudo apt install linux-headers-generic` เพื่อที่คุณจะได้ไม่ต้องทำขั้นตอนนี้ซ้ำ ตามที่ฉันได้ชี้แจงคำตอบของฉันแล้ว คุณสามารถยอมรับหรือโพสต์คำตอบใหม่...
heik avatar
in flag
@Terrance ฉันหวังว่าโลกนี้จะมีคนชอบคุณมากขึ้น :)
Score:1
ธง my

สมมติว่าคุณได้ติดตั้งข้อกำหนดเบื้องต้นทั้งหมดแล้ว (sudo apt ติดตั้ง linux-headers-generic) คุณสามารถทำตามขั้นตอนเหล่านี้เพื่อแก้ไขปัญหา:

  1. (ไม่จำเป็น) บูตเข้า เปลือกราก เพื่อเรียกใช้คำสั่งได้อย่างปลอดภัย

  2. ลบของคุณ ดีกม ไฟล์สำหรับไดรเวอร์ NVIDIA:

    sudo rm -r /var/lib/dkms/nvidia
    
  3. ล้างไดรเวอร์ NVIDIA:

    sudo dpkg -P --force-all $(dpkg -l | grep "nvidia-" | grep -v lib | awk '{พิมพ์ $2}')
    
  4. ติดตั้งไดรเวอร์ NVIDIA ใหม่:

    sudo ไดรเวอร์อูบุนตูติดตั้งอัตโนมัติ
    
  5. รีบูท!

ตอนนี้ไดรเวอร์ NVIDIA ของคุณควรทำงานได้อย่างถูกต้อง!

heynnema avatar
ru flag
ฉันจะทำสิ่งนี้แตกต่างออกไปเล็กน้อย วิธีที่ไม่ถูกต้องในการลบ dkms/nvidia ด้วย rm ไม่จำเป็นต้องติดตั้ง dkms ใหม่ ก่อนอื่นฉันจะตรวจสอบว่าการบูตแบบปลอดภัยถูกปิดใช้งาน มีการเพิ่ม nvidia dkms แต่ไม่ได้สร้างหรือติดตั้ง สร้าง dkms และติดตั้ง dkms รีบูต ตรวจสอบสถานะ dkms และ nvidia-smi
heik avatar
in flag
ฉันพยายามแล้ว แต่สุดท้ายฉันก็ได้ผลเหมือนเดิม
Someone avatar
my flag
@heik สวัสดี! ฉันขอโทษที่ไม่ชัดเจน... ในขณะที่เขียนคำตอบของฉัน ฉันคิดผิดว่าคุณได้ติดตั้งข้อกำหนดเบื้องต้นทั้งหมดแล้ว แน่นอนว่าจำเป็นต้องมี Linux Headers! ฉันได้อัปเดตคำตอบและปรับปรุงความชัดเจนแล้ว นอกจากนี้ คุณได้ติดตั้งส่วนหัวของเคอร์เนลของเคอร์เนลปัจจุบันของคุณแล้ว... คุณจะต้องทำขั้นตอนนี้ซ้ำทุกครั้งที่เคอร์เนลได้รับการอัปเกรด พิจารณาการติดตั้งแพ็คเกจ `sudo apt install linux-headers-generic` เพื่อที่คุณจะได้ไม่ต้องทำขั้นตอนนี้ซ้ำ ตามที่ฉันได้ชี้แจงคำตอบของฉันแล้ว คุณสามารถยอมรับหรือโพสต์คำตอบใหม่...
heik avatar
in flag
@ มีคนขอบคุณสำหรับความคิดเห็นของคุณ! ฉันสันนิษฐานว่าฉันได้ติดตั้งข้อกำหนดเบื้องต้นทั้งหมดแล้ว ฉันเดาว่าความพยายามในการใช้ apritide ในอดีตทำให้การพึ่งพาของฉันยุ่งเหยิงมากกว่าที่ฉันคิด ฉันมี linux-headers-generic เวอร์ชันล่าสุดแม้ว่าจะติดตั้งเวอร์ชันเฉพาะตามที่กล่าวไว้ในการอัปเดตของฉัน: "linux-headers-generic เป็นเวอร์ชันใหม่ล่าสุดแล้ว (5.4.0.99.103)" ฉันยอมรับคำตอบของคุณแล้ว เนื่องจากการอัปเดตของฉันควรครอบคลุมทุกสิ่งที่ผู้ใช้ Google อาจต้องการในสถานการณ์ที่คล้ายกัน

โพสต์คำตอบ

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