Trình điều khiển NVIDIA không hoạt động sau khi nâng cấp. Tại sao tôi chỉ có thể thấy thiết bị đầu cuối?


34

Tối nay tôi nâng cấp lên 11.04. Các vấn đề. Khi tôi đã hoàn thành nâng cấp, tôi khởi động lại máy tính của mình vì nó cũng nói với tôi. Khi tôi vượt qua Ubuntu 11.04 (chấm màu cam nền màu tím), nó chỉ đơn giản là đi đến thiết bị đầu cuối và yêu cầu tôi đăng nhập. Tôi đã thử khởi động lại máy chủ X với "sudo service gdm restart" nhưng không có màn hình nào bật lên. Tôi tình cờ có một vài trình điều khiển NVIDIA trong tệp tải xuống của mình vì vậy tôi đã dùng thử, nhưng "tập lệnh cài đặt" không thành công.

Sau tất cả, tôi đã khởi động Ubuntu ở chế độ failafe đồ họa. Sau đó tôi quyết định xem điều gì sẽ xảy ra nếu tôi gỡ bỏ trình điều khiển độc quyền. Khi thực hiện điều này và khởi động lại, Ubuntu của tôi đã khởi động vào chế độ đồ họa "yay!". Vì vậy, không có trình điều khiển Nvidia, cuối cùng tôi cũng có thể thấy một cái gì đó ngoài thiết bị đầu cuối, nhưng, tôi cần những trình điều khiển NVIDIA đó cho công việc của mình. Vậy tôi có thể làm gì? Tôi đã thử cài đặt trình điều khiển linux NVIDIA mới từ trang web NVIDIA và đã thử Cài đặt trình điều khiển được đề xuất thông qua "trình điều khiển bổ sung", nhưng cả hai đều dẫn đến việc tôi bị kẹt trong thiết bị đầu cuối.

Nếu bạn có thể giúp đỡ hoặc cho tôi một lời khuyên, xin vui lòng! Tôi thực sự đang ở trong một tình huống rất tồi tệ ...


2
Bạn đã xóa tệp /etc/X11/xorg.conf trước rồi khởi động lại, sau đó thử kích hoạt phiên bản Trình điều khiển bổ sung của trình điều khiển NVIDIA?
fossfreedom

1
Tôi đang gặp vấn đề tương tự. Tôi kích hoạt trình điều khiển, đăng xuất và thấy "Không tìm thấy thiết bị" trong nhật ký X. Nếu tôi xóa xorg.conf, X sẽ khởi động mà không có hỗ trợ GLX. Modprobe nói rằng nvidiatrình điều khiển đã được tải.
vissi

Không, tôi không xóa tệp Xorg.conf. Tôi đang có vấn đề rất lớn bạn nói ra. Kinh khủng thật.
Sixthlaw

Khuyên bạn nên đọc hướng dẫn này: askubuntu.com/questions/61396/...
Luis Alvarado

Câu trả lời:


30

Bạn sẽ cần phải khởi động vào chế độ phục hồi, sau đó phát hành apt-get remove --purge nvidia-currenttrên thiết bị đầu cuối gốc, sau đó apt-get install nvidia-current- để xây dựng lại trình điều khiển nvidia cho kernel mới. Tôi đã có vấn đề này là tốt khi tôi nâng cấp.

Vui lòng không cài đặt trình điều khiển từ trang web của nVidia! Bạn có thể gây ra sự cố nghiêm trọng nếu sau đó bạn cố gắng cài đặt trình điều khiển được đề xuất sau mà không xóa sạch trình điều khiển trước đó.

Chỉnh sửa: Bạn sẽ cần chạy các lệnh này từ một thiết bị đầu cuối. Tôi không thể đảm bảo một kết quả hoàn hảo, vì tôi sẽ dựa trên những gì tôi đã tìm thấy qua internet và từ bộ nhớ.

Vấn đề bạn gặp phải là do có các thành phần chế độ người dùng và mô-đun hạt nhân khác nhau. Để sửa nó, mô-đun hạt nhân nvidia phải được xây dựng lại. Điều này được cho là xảy ra khi khởi động lại, nhưng nó thường không xảy ra.

Trước tiên, bạn cần cài đặt các tiêu đề kernel linux:

  • sudo apt-get install linux-headers-generic

Sau đó, bạn sẽ cần chạy dkms để loại bỏ mô-đun hạt nhân nvidia cũ:

  • sudo dkms remove nvidia

Sau đó chạy:

  • sudo apt-get install nvidia-current
  • điều này sẽ làm cho nó cài đặt chính xác, vì vậy tất cả những gì bạn cần làm là chạy sudo nvidia-xconfig and reboot.
  • Nếu bạn vẫn gặp lỗi về phiên bản mô-đun, hãy chạy: sudo dkms build nvidia

Điều này sẽ giải quyết vấn đề.

Xin lỗi nếu mọi thứ hơi khó hiểu, tôi đã cố gắng kết hợp lại quá trình tôi phải sử dụng đến mức tốt nhất trong trí nhớ của mình :)! Nếu bạn gặp vấn đề, đừng ngần ngại cho tôi biết (và nếu có ai phát hiện ra bất kỳ vấn đề nào với hướng dẫn, vui lòng cho tôi biết càng sớm càng tốt) !!!!


Cập nhật:

Tôi tìm thấy một nguyên nhân có thể khác. Nouveau có thể không được đưa vào danh sách đen và nvidia-current có thể không đặt chính nó trong tệp .conf được sử dụng để chọn trình điều khiển hiển thị của bạn. Đây là cách khắc phục:

Lưu ý:

Trước khi bạn tiếp tục, hãy đảm bảo rằng bạn có trình điều khiển nvidia hiện tại từ kho lưu trữ. Tải xuống trình điều khiển từ trang web của nvidia có thể gây ra sự cố sau này, vì nó không sử dụng định dạng gói debian và để lại những thứ có thể xung đột với các cài đặt sau này. Vì vậy, hãy chắc chắn rằng bạn xóa bất kỳ dấu vết nào của nó trước, sau đó cài đặt trình điều khiển tiêu chuẩn từ repos Ubuntu. Nếu bạn không, bạn sẽ nhận được một trình điều khiển không phù hợp, và sửa chữa này sẽ là vô nghĩa.

  • Nếu bạn bị kẹt trên bảng điều khiển, hãy đăng nhập và cài đặt trình điều khiển nouveau X.org: sudo apt-get install xserver-xorg-video-nouveau
  • Khởi động lại máy tính của bạn (bạn sẽ có đồ họa hoạt động, yay! Nhưng đây là tạm thời).
  • Mở gedit như root : gksu gedit.
  • Từ gedit mở /etc/modprobe.d/blacklist.conf.
  • Thêm dòng này ở dưới cùng : blacklist nouveau.
  • Lưu tệp và mở /etc/modprobe.d/nvidia-graphics-drivers.conf.
    • Thêm các dòng sau:

      danh sách đen nouveau
      danh sách đen lbm-nouveau
      danh sách đen nvidia-173
      danh sách đen nvidia-96
      bí danh nvidia nvidia-current

  • Bây giờ lưu tập tin này, và đóng gedit.
  • Chạy:
    • sudo nvidia-xconfig,
    • và sau đó:
    • sudo apt-get remove xserver-xorg-video-nouveau,
    • theo dõi bởi:
    • sudo shutdown -r now.
  • Khi hệ thống của bạn khởi động lại, bạn nên có trình điều khiển nvidia hoạt động.
Nhân tiện, vấn đề không nằm trong danh sách đen này dường như tồn tại trong các trình điều khiển mới hơn (nvidia-current), vì vậy tôi sẽ đề nghị sau khi khắc phục sự cố, bạn hãy đợi cập nhật về lỗi này (tôi sẽ sớm báo cáo lỗi ).

Giải pháp thay thế: Nếu bạn đã cài đặt trình điều khiển NVIDIA từ trang web của họ, thì bạn phải khởi động vào thiết bị đầu cuối văn bản, (giữ lúc khởi động để xem menu grub và chọn chế độ 'recovery' của phiên bản kernel hoạt động với trình điều khiển NVIDIA, và chọn dòng lệnh làm tùy chọn gốc)

Sau đó chạy tập lệnh shell cài đặt NVIDIA gốc mà bạn đã chạy để cài đặt trình điều khiển NVIDIA từ trang web của họ. ví dụ sudo ./NVIDIA-Linux-x86-290.10.run --uninstall. (Phiên bản của bạn có thể khác.)

Bạn sẽ không cần chạy lệnh "sudo dkms remove nvidia", vì điều này không áp dụng cho trường hợp của bạn.


Tôi đã thử điều này nhưng khi tôi khởi động lại, một lần nữa nó chỉ hiển thị thiết bị đầu cuối. Tôi đã thử sudo startx trong thiết bị đầu cuối và nhận được các thông báo này trong số các thông báo khác: ERROR: API không khớp: mô-đun hạt nhân NVIDIA có phiên bản 260.19.36, thành phần trình điều khiển NVIDIA có phiên bản 270.41.06. Vui lòng đảm bảo rằng mô-đun hạt nhân và tất cả các thành phần trình điều khiển nvidia có cùng phiên bản.
Sixthlaw

Tôi cũng đã nhận được điều này: Lỗi máy chủ nghiêm trọng không tìm thấy màn hình.
Sixthlaw

1
@Sixthlaw: ahhh - giữ chặt, đó là một vấn đề dkms, và đó là cùng một vấn đề tôi đã có. Bạn sẽ cần phát hành bản dựng dkms từ dòng lệnh (Tôi đã quên lệnh nên đợi cho đến khi tôi nhận được và tôi sẽ cập nhật câu trả lời của mình).
RolandiXor

1
sudo apt-get install nvidia current->sudo apt-get install nvidia-current
IanVaughan

1
Lưu ý rằng lệnh gọi đã cho dkmschỉ được hỗ trợ trong 11.10 hoặc mới hơn. Từ 11.04 trở lên, bạn cũng cần cung cấp các phiên bản mô-đun và kernel ( man dkms).
kynan

12

Đây là lý do tại sao tôi luôn khuyên bạn nên cài đặt Ubuntu dưới dạng cài đặt sạch thay vì thực hiện nâng cấp. Đây chỉ là ý kiến ​​của tôi nhưng tôi luôn gặp phải một số vấn đề hoặc khác khi thực hiện nâng cấp. Không có vấn đề khi thực hiện cài đặt sạch.

Đối với những gì tôi đã đọc qua các câu trả lời khác, bạn đã cài đặt Trình điều khiển Nvidia từ Trang web của Nvidia. Mặc dù nó hoạt động tốt và vv .. ĐỪNG LÀM NÓ!. Một trong những kho lưu trữ trên Ubuntu đã được thử nghiệm và đó là một khuyến nghị.

Trong trường hợp của bạn, bạn sẽ cần phải làm một số điều.

Bước 1 - Gỡ cài đặt trình điều khiển nvidia bạn cài đặt và không bao giờ cài đặt lại. Nó sẽ giúp bạn tránh khỏi vấn đề cụ thể đó là ... ehem .... ai đó cũng có nó (Tôi;)) bạn cũng cần phải xóa các mô-đun khỏi nó và bất kỳ tập tin cấu hình nào mà nó để lại. Nếu không nhầm thì trình điều khiển nvidia từ trang web của Nvidia có cài đặt nhị phân. Chạy nó và đảm bảo không có tập tin nvidia nào còn lại.

CẬP NHẬT - Để gỡ cài đặt Trình điều khiển Nvidia được cài đặt từ Trang web Nvidia, bạn có thể có một trong một số tùy chọn:

  • Một số đề nghị gỡ cài đặt bằng cách sử dụng cùng một trình cài đặt.
    Ví dụ: NVIDIA-Linux-x86-1.0-8178.run --uninstall
  • Những người khác đề nghị sử dụng Trình cài đặt Nvidia.
    Ví dụ: nvidia-Installer --uninstall

TIP - Cố gắng gõ --help vào cuối của Nvidia Binary thực thi để xem nếu nó cho thấy một số giúp đỡ. Các trang như https://help.ubfox.com/community/NvidiaManualhttp://www.nvnews.net/vbulletin/showthread.php?t=83678 đưa ra ý tưởng về cách gỡ cài đặt Trình điều khiển Nvidia khỏi Trang web của Nvidia.

Bước 2 - Khởi động lại và kiểm tra xem bạn KHÔNG còn lại từ nvidia. Xóa tệp xorg.conf vì bạn sẽ sớm tạo một tệp mới. Khởi động lại.

Bước 3 - Cài đặt trình điều khiển Nvidia được đề xuất. sudo apt-get install nvidia-currenthoặc sudo apt-get reinstall nvidia-current(Nếu bạn đã cài đặt nó. Tôi sẽ khuyên bạn nên mở lại rồi cài đặt lại.)

Bước 4 - TẠO tệp xorg.conf cho trình điều khiển được đề xuất của Nvidia. nvidia-xconfig. Điều này sẽ tạo tệp xorg.con với các tùy chọn cần thiết cho thẻ video nvidia của bạn. Khởi động lại một lần nữa.

Đến bước này tôi sẽ cần phản hồi nếu bạn có bất kỳ vấn đề gì. Để có giải pháp tổng quát hơn, vui lòng đọc hướng dẫn này: Làm cách nào để cài đặt trình điều khiển Nvidia?


1
Tôi xin lỗi Nhưng tôi không biết chính xác cách thực hiện bước 1. Tôi dường như không thể tìm thấy tập lệnh gỡ cài đặt mà bạn nói đến.
Sixthlaw

1
Không có vấn đề Sixthlaw. Hãy để tôi tìm nó. Hãy cho tôi vài phút
Luis Alvarado

1
Cập nhật để bao gồm một trợ giúp nhỏ về cách loại bỏ nó. Xin vui lòng cho tôi biết nếu nó giúp và giúp đỡ đã làm thủ thuật.
Luis Alvarado

1
Đó không phải là giải pháp, nếu tôi muốn cài đặt trình điều khiển nhất định, thì giải pháp không phải là cài đặt thứ gì khác. Điều đó giống như giải quyết vấn đề Java bằng cách nói không sử dụng Java, sử dụng Python. Tôi có vấn đề tương tự (phiên bản mô-đun hạt nhân không phù hợp) nhưng tôi chắc chắn cần bộ điều khiển NVIDIA CUDA này.
skrat

1
Tôi không nói để cài đặt một cái gì đó khác. Đang nói rằng tương thích nhất trong trường hợp này là cái đi kèm với Ubuntu. Điều này đã được chứng minh hết lần này đến lần khác rằng nó mang lại ít vấn đề hơn, nó thân thiện hơn khi thực hiện cập nhật / nâng cấp và bạn có thêm tài liệu và phản hồi của cộng đồng cho nó. Nếu tôi nói về java, tôi sẽ giới thiệu openjdk vì nhiều lý do, vì python là cái mặc định vì nó đã được thử nghiệm và cứ thế tiếp tục. Bạn nhận được quan điểm của tôi ở đây là đoán.
Luis Alvarado

7

Tôi cũng gặp vấn đề với trình điều khiển nvidia và đã làm mọi thứ tôi có thể tìm thấy (cũng như trong các câu trả lời khác):

  • xóa trình điều khiển đã cài đặt trước đó và cài đặt lại
  • khởi động thông qua failsafeXvà kích hoạt trình điều khiển
  • sử dụng trình điều khiển trước ( 173)
  • tôi đã thêm UNITY_FORCE_START=1vào /etc/environmentnhư đã đề cập ở đây (vì GeForce 7300/7400 bị liệt vào danh sách đen, nhưng tôi có GeForce Go 7100)

Nhưng tất cả đều thất bại. Vì vậy, phương sách cuối cùng (đáng lẽ tôi nên nghĩ về nó sớm hơn), tôi đã điều tra X-logfiles. Trong tôi, /var/log/Xorg.0.logtôi thấy rằng nvidia có vấn đề trong việc phân bổ bộ nhớ:

[    14.055] (EE) NVIDIA(0): Failed to allocate primary buffer: out of memory.
[    14.055] (EE) NVIDIA(0):  *** Aborting ***

Rõ ràng đây là một lỗi đã biết và tôi đã phải làm như sau để sửa lỗi này:

  • chỉnh sửa /etc/default/grub
  • tìm tùy chọn GRUB_CMDLINE_LINUXvà thêm nopat, vì vậy đối với tôi nó trông giống như

    GRUB_CMDLINE_LINUX="nopat"

  • chạy sudo update-grub

Và cuối cùng, mọi thứ đều tốt với tôi :) Hy vọng điều này sẽ giúp.


Điều này hoàn toàn làm được mẹo, cảm ơn rất nhiều! (Nvidia GeForce 9400 trên Natty 64 bit chạy trình điều khiển "hiện tại")
dandelionmood

2

Lưu ý kernel bên dưới đang trỏ đến một bản phát hành Ubuntu trước đó. Hạt nhân mới với Ubuntu 11.10 là 3.0.0.12. Tôi gặp vấn đề tương tự với việc bị đặt trong chế độ lệnh và Xserver bị lỗi trong khi không thể tìm thấy trình điều khiển nvidia_173. Sau đó tôi nhận ra rằng bản nâng cấp đã không cập nhật MBR của tôi để trỏ đến 3.0.0.12. Tôi đã sử dụng EasyBCD để cập nhật tệp, khởi động lại và tất cả đều ổn. Những loại lỗi trình điều khiển có thể xảy ra khi chúng ở cấp độ hỗn hợp, tất nhiên. Lời khuyên của tôi, sau khi nâng cấp, hãy chắc chắn rằng bạn đang thực thi kernel mới, initrd, vmlinuz, ... những gì có bạn.

DKMS make.log for nvidia-current-270.41.06 for kernel 2.6.38-8-generic (x86_64)
Sat May 14 20:48:39 EDT 2011

The C compiler 'cc' does not appear to be able to
create executables.  Please make sure you have 
your Linux distribution's gcc and libc development
packages installed.

*** Failed CC sanity check. Bailing out! ***

make: *** [select_makefile] Error 1

Tôi phát hiện ra rằng cc (bí danh cho gcc) được sử dụng trong / usr / bin của tôi không giống với phiên bản gcc được tìm thấy trong cùng thư mục đó bất kể tất cả các gói dev đã được cài đặt trên máy của tôi. Tôi đã phải tạo một liên kết tượng trưng để trỏ đến tệp gcc.

sudo mv /usr/bin/cc /usr/bin/cc.old
sudo ln -s /usr/bin/gcc /usr/bin/cc

Sau đó, cài đặt lại gói nvidia hiện tại đã giúp tôi.

Trân trọng


2

Bản nâng cấp 11.04 của tôi cũng chỉ khởi động vào cửa sổ terminal. Sau đó, tôi tìm thấy trang web này. Tôi bắt đầu làm những gì Roland Taylor khuyên dùng, đầu tiên tôi đã làm

sudo apt-get install linux-headers-generic

Sau đó, tôi đã cố gắng để làm:

sudo dkms remove nvidia 

Nhưng nó đã thất bại trong việc phàn nàn rằng lệnh chưa hoàn thành, tôi cần -m-vphiên bản

Tôi sẽ thử lại nhưng tôi nhận thấy màn hình có thông tin nhật ký từ lệnh đầu tiên lưu ý rằng nó đã cài đặt ed nvidia-currentkhi tôi cài đặt tiêu đề chung, vì vậy tôi nghĩ, tôi tự hỏi nó sẽ làm gì nếu tôi khởi động lại bây giờ? Vì vậy, tôi đã làm và máy tính để bàn X xuất hiện tốt. Vì vậy, chỉ có một lệnh khắc phục sự cố cài đặt của tôi.


0

Điều này làm việc cho tôi.

1) Chuyển sang Terminal F1, bằng cách nhấn Ctrl + Alt + F1.

2) Chạy các lệnh sau.

sudo /etc/gdm stop
sudo apt-get install linux-headers-$(uname -r) linux-image-$(uname -r)
wget -O /tmp/nvidia.run http://us.download.nvidia.com/XFree86/Linux-x86/280.13/NVIDIA-Linux-x86-280.13.run
# Make sure to allow the script to uninstall all existing drivers.
sudo sh /tmp/nvidia.run
sudo /etc/gdm start

0

Đối với bất kỳ ai cũng gặp phải vấn đề này, hãy đảm bảo rằng Optimus (công nghệ chuyển đổi card đồ họa của Nvidia) bị vô hiệu hóa trong BIOS.

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.