Làm cách nào để cập nhật các mô-đun nvidia của tôi sau khi cập nhật kernel?


16

Mỗi khi có bản cập nhật kernel, trình điều khiển đồ họa nvidia sẽ ngừng hoạt động vì không có mô-đun hạt nhân hợp lệ.

Cách ubfox để 'biên dịch lại' mô-đun nvidia cho kernel mới là gì?

Nó không nên được thực hiện tự động? Tôi đang bị một lỗi?

Câu trả lời:


5

Nếu bạn đã cài đặt trình điều khiển NVIDIA dưới dạng gói ubfox, nó sẽ được cập nhật tự động sau mỗi lần nâng cấp kernel.

Bạn có thể cài đặt trình điều khiển đóng gói bằng Additional Driverscông cụ trong bảng điều khiển hoặc cài đặt gói nvidia-current.

Nếu bạn đã cài đặt trình điều khiển nvidia trực tiếp từ trang web của họ thì có thể gỡ bỏ nó trước khi cài đặt gói này - tôi không chắc chắn việc phát hiện xung đột sẽ tốt như thế nào.

Nếu bạn đã cài đặt gói từ kho ubfox, bạn có thể thử cấu hình lại nó với dpkg-reconfigurenhưng tôi nghi ngờ việc xây dựng mô-đun nvidia được kích hoạt bằng cách cài đặt kernel mới và tôi không chắc chắn làm cách nào để kích hoạt điều này. Việc gỡ cài đặt và cài đặt lại truyền thống có thể hoạt động tốt ( sudo apt-get remove nvidia-current; sudo apt-get install nvidia-current).


Tôi đã cài đặt trình điều khiển nvidia thông qua gói Ubuntu. Nhưng việc cập nhật kernel không kích hoạt việc biên dịch lại mô-đun nvidia của tôi. Cảm ơn lời khuyên của bạn nào.
fazineroso

4

Đối với tôi, dpkg-cấu hình lại xây dựng trình điều khiển Nvidia với kernel mới nhất. Điều này sau đó yêu cầu khởi động lại để có hiệu lực. Ví dụ của tôi dưới đây sử dụng các bản cập nhật nvidia-304 cũ hơn.

sudo dpkg-reconfigure nvidia-304-updates

EDIT: Tôi đã quản lý để tự động hóa điều này bằng cách viết một tập lệnh zz-dkpg-reconfigure-nvidiachạy sau khi cập nhật kernel

#!/bin/bash
#
# Reconfigure nvidia driver

DRIVER=nvidia-304-updates

dpkg-reconfigure $DRIVER > /var/log/dpkg-reconfigure-nvidia.log 2>&1

exit 0

Tôi đã cài đặt đoạn script trên bằng cách chạy

sudo install zz-dkpg-reconfigure-nvidia /etc/kernel/postinst.d

Hoạt động trên bản cập nhật kernel Ubuntu 14.04 3.13.0-29 đến 3.13.0-36 của tôi.


4

Khi bạn đã cài đặt trình điều khiển nhị phân NVIDIA, có lẽ bạn chưa cài đặt gói dkms. Dkms đảm bảo rằng mỗi khi bạn cập nhật kernel, các mô-đun hỗ trợ nó sẽ được biên dịch lại:

sudo apt-get install dkms

Bạn có thể sẽ cần phải cài đặt lại trình điều khiển nhị phân NVIDIA sau đó và cho phép sử dụng DKMS trong quá trình thiết lập vì nó cần phải được đăng ký với nó.


Tôi đang gặp vấn đề tương tự và chỉ nhận ra rằng tôi đã không cài đặt dkmssau khi đọc câu trả lời này.
yaobin

3

Nếu bạn chỉ muốn xây dựng lại các mô-đun hạt nhân, thì bạn có thể chỉ muốn thực thi

sudo apt-get install --reinstall nvidia-current

nếu bạn đã cài đặt nvidia hiện tại hoặc nếu bạn đã cài đặt nvidia-331 thì việc này sẽ thực hiện công việc:

sudo apt-get install --reinstall nvidia-331

không cần thêm repo hoặc cài đặt phần mềm mới :-)


1

Xin lưu ý rằng không nên cài đặt nâng cấp kernel cũng như trình điều khiển từ kho lưu trữ không được hỗ trợ chính thức! Làm theo các hướng dẫn này có nguy cơ của riêng bạn và chỉ khi bạn biết những gì bạn đang làm!

Nếu bạn đã cài đặt kernel trước kho lưu trữ Ubuntu chính thức hiện tại (ví dụ kernel 3,4 hoặc 3.5), bạn có thể không thành công khi chỉ cần cài đặt lại trình điều khiển nvidia.

Cách duy nhất tôi tìm thấy cho đến nay để khiến trình điều khiển nvidia hoạt động trở lại là bằng cách thêm ppa sau vào kho lưu trữ của bạn. Trong một loại thiết bị đầu cuối:

sudo add-apt-repository ppa:xorg-edgers/ppa

Sau đó, làm một sudo apt-get updatesudo apt-get install nvidia-current .

Điều đó sẽ làm các trick. Nếu không, chạy bổ sung sudo apt-get upgrade.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.