ทุกครั้งที่มีการอัพเดตเคอร์เนลไดรเวอร์กราฟิก nvidia จะหยุดทำงานเพราะไม่มีโมดูลเคอร์เนลที่ถูกต้อง
วิธี ubuntu คือการ 'คอมไพล์ใหม่' โมดูล nvidia สำหรับเคอร์เนลใหม่
ไม่ควรทำโดยอัตโนมัติ ฉันกำลังทรมานบั๊กหรือไม่?
ทุกครั้งที่มีการอัพเดตเคอร์เนลไดรเวอร์กราฟิก nvidia จะหยุดทำงานเพราะไม่มีโมดูลเคอร์เนลที่ถูกต้อง
วิธี ubuntu คือการ 'คอมไพล์ใหม่' โมดูล nvidia สำหรับเคอร์เนลใหม่
ไม่ควรทำโดยอัตโนมัติ ฉันกำลังทรมานบั๊กหรือไม่?
คำตอบ:
หากคุณติดตั้งไดรเวอร์ NVIDIA เป็นแพ็คเกจอูบุนตูควรทำการอัปเดตโดยอัตโนมัติหลังจากการอัพเกรดเคอร์เนลแต่ละครั้ง
คุณสามารถติดตั้งไดร์เวอร์แพคเกจการใช้เครื่องมือในแดชบอร์ดหรือการติดตั้งแพคเกจAdditional Drivers
nvidia-current
หากคุณติดตั้งไดรเวอร์ nvidia โดยตรงจากเว็บไซต์ของพวกเขามันอาจจะเหมาะสมที่จะลบออกก่อนที่จะติดตั้งแพ็คเกจนี้ - ฉันไม่แน่ใจว่ามันจะตรวจจับความขัดแย้งได้ดีเพียงใด
หากคุณติดตั้งแพคเกจจากที่เก็บ ubuntu คุณสามารถลองกำหนดค่าใหม่ด้วยdpkg-reconfigure
แต่ฉันสงสัยว่าการสร้างโมดูล nvidia จะถูกกระตุ้นโดยการติดตั้งเคอร์เนลใหม่และฉันไม่แน่ใจว่าจะเรียกใช้วิธีนี้ได้อย่างไร การถอนการติดตั้งและการติดตั้งแบบเดิมอาจใช้งานได้ดี ( sudo apt-get remove nvidia-current; sudo apt-get install nvidia-current
)
สำหรับฉัน dpkg-reconfigure จะสร้างไดรเวอร์ Nvidia ด้วยเคอร์เนลล่าสุด จากนั้นต้องรีบูตเพื่อให้มีผล ตัวอย่างของฉันด้านล่างใช้การอัปเดต nvidia-304 ที่เก่ากว่า
sudo dpkg-reconfigure nvidia-304-updates
แก้ไข: ฉันจัดการเพื่อให้สิ่งนี้เป็นอัตโนมัติโดยการเขียนสคริปต์zz-dkpg-reconfigure-nvidia
ที่ทำงานหลังจากอัพเดตเคอร์เนล
#!/bin/bash
#
# Reconfigure nvidia driver
DRIVER=nvidia-304-updates
dpkg-reconfigure $DRIVER > /var/log/dpkg-reconfigure-nvidia.log 2>&1
exit 0
ฉันติดตั้งสคริปต์ข้างต้นด้วยการเรียกใช้
sudo install zz-dkpg-reconfigure-nvidia /etc/kernel/postinst.d
ใช้งานได้กับ Ubuntu 14.04 เคอร์เนลการอัพเดท 3.13.0-29 ถึง 3.13.0-36
เมื่อคุณติดตั้งไดรเวอร์ไบนารีของ NVIDIA คุณอาจยังไม่ได้ติดตั้งแพ็คเกจ dkms Dkmsทำให้แน่ใจว่าทุกครั้งที่คุณอัพเดตเคอร์เนลโมดูลที่สนับสนุนจะถูกคอมไพล์ใหม่:
sudo apt-get install dkms
คุณอาจจำเป็นต้องติดตั้งไดรเวอร์ไบนารีของ NVIDIA อีกครั้งในภายหลังและอนุญาตให้ใช้ DKMS ในระหว่างการติดตั้งเนื่องจากจำเป็นต้องลงทะเบียนกับมัน
dkms
หลังจากอ่านคำตอบนี้
หากคุณต้องการสร้างโมดูลเคอร์เนลใหม่เท่านั้นคุณอาจต้องดำเนินการ
sudo apt-get install --reinstall nvidia-current
หากคุณติดตั้ง nvidia-current ไว้หรือหากคุณติดตั้ง nvidia-331 ไว้สิ่งนี้จะทำงาน:
sudo apt-get install --reinstall nvidia-331
ไม่จำเป็นต้องเพิ่ม repo หรือติดตั้งซอฟต์แวร์ใหม่ :-)
โปรดทราบว่าไม่แนะนำให้ติดตั้งเคอร์เนลอัพเกรดหรือไดรเวอร์จากที่เก็บที่ไม่สนับสนุนอย่างเป็นทางการ! ทำตามคำแนะนำเหล่านี้ด้วยความเสี่ยงของคุณเองและหากคุณรู้ว่าคุณกำลังทำอะไร!
หากคุณติดตั้งเคอร์เนลที่อยู่ข้างหน้าคลังเก็บ Ubuntu ปัจจุบันอย่างเป็นทางการ (เช่นเคอร์เนล 3.4 หรือ 3.5) คุณอาจไม่ประสบความสำเร็จในการติดตั้งไดรเวอร์ nvidia เพียงอย่างเดียว
วิธีเดียวที่ฉันพบเพื่อให้ไดรเวอร์ nvidia กลับมาทำงานได้อีกครั้งคือการเพิ่ม ppa ต่อไปนี้ในที่เก็บของคุณ ในประเภทอาคาร:
sudo add-apt-repository ppa:xorg-edgers/ppa
หลังจากนั้นทำและsudo apt-get update
sudo apt-get install nvidia-current
นั่นควรทำเคล็ดลับ sudo apt-get upgrade
ถ้าไม่ทำงานเพิ่มเติม