Là tiêu đề, làm cách nào tôi có thể thiết lập chính xác công nghệ nvidia-Optimus trên Ubuntu?
Là tiêu đề, làm cách nào tôi có thể thiết lập chính xác công nghệ nvidia-Optimus trên Ubuntu?
Câu trả lời:
NB: bài đăng này là kết quả của nhiều ngày dành cho việc đọc các nội dung khác nhau trên web, vì vậy hãy tự chịu rủi ro. Nó đã được thử nghiệm trên Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04 (tất cả 64 bit) với card đồ họa nVidia GT650M. Hãy thêm ý kiến và đề xuất
1. Trước hết, chúng tôi phải xóa tất cả các trình điều khiển video trên máy tính:
sudo apt-get remove --purge nvidia*
Sau đó, bumblebee trong trường hợp nếu bạn đã cài đặt nó trước đó:
sudo apt-get remove --purge bumblebee*
Chúng tôi cũng phải xóa tất cả trình điều khiển nouveau với:
sudo apt-get --purge remove xserver-xorg-video-nouveau
Để chắc chắn đã xóa toàn bộ nội dung, hãy thử nhập dpkg -l | grep nvidia
và dpkg -l | grep bumblebee
: không nên trả lại bất cứ thứ gì. Vì dpkg -l | grep nouveau
nó có khả năng trả về một số dòng nói libdrm-nouveauXXXXX
; bây giờ, chỉ cần bỏ qua chúng.
2. Sau đó, chúng tôi phải đảm bảo có tất cả các tiêu đề gõ:
sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)
3. Điều tiếp theo cần làm là đưa vào danh sách đen các trình điều khiển nouveau còn lại và một số gói khác có thể gây ra sự cố:
sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
sudo gedit /etc/modprobe.d/blacklist.conf
Thêm các dòng sau vào cuối tập tin:
# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0
Chỉ cần lưu và thoát.
4. Bây giờ, hãy chạy các lệnh ubfox tốt nhất
sudo apt-get update && sudo apt-get dist-upgrade -y
5. Từ bây giờ, chúng tôi làm việc trên tty. Mở bảng điều khiển tty1 bằng CTRL + ALT + F1 và đăng nhập bằng tên người dùng và mật khẩu của bạn. Sau đó thực hiện:
sudo service lightdm stop
Bây giờ chúng tôi sẽ cài đặt trình điều khiển. Hành hình:
sudo apt-get install nvidia-XXX-updates nvidia-settings
Trong đó XXX là trình điều khiển ổn định mới nhất. Tôi đang sử dụng trình điều khiển 331, nhưng tôi đã đọc ở đâu đó rằng 343 có sẵn để tải xuống (không biết chúng có ổn định không).
NB: Với các phiên bản trình điều khiển mới nhất, nó cũng được cài đặt nvidia-prime
theo mặc định. Công nghệ này nhằm tự động chuyển đổi giữa card đồ họa Intel và nVidia mà không cần sự can thiệp của người dùng. Để làm điều này, nó để lại cả hai thẻ được bật. Optimus, mặt khác, chỉ bật card đồ họa nVidia với yêu cầu người dùng rõ ràng; nó chuyển thành tiêu thụ năng lượng ít hơn đáng kể đối với nguyên tố.
Cá nhân tôi thích tối ưu hơn nguyên tố, nhưng nếu bạn không bận tâm đến sự lãng phí năng lượng khổng lồ, hãy dừng lại ở đây. Nếu không, bạn có hai lựa chọn:
xóa hoàn toàn nguyên tố ( sudo apt-get remove --purge nvidia-prime
);
để nguyên tố ở đó; trong phần "Prime with Optimus", chúng ta sẽ xem cách làm cho optirun hoạt động với cài đặt Prime
6. Bây giờ, chúng ta phải cài đặt bumblebee và các gói virtualgl với
sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386
Sau đó, chúng tôi phải thêm người dùng của mình vào nhóm ong nghệ với:
sudo usermod -a -G bumblebee $USER
Và sau đó khởi động lại máy tính.
7. Đăng nhập vào tài khoản người dùng của bạn, mở một cửa sổ terminal mới và gõ:
cd /etc/bumblebee
ls -Al
Trong số các tệp được liệt kê khác nhau, cần có hai tệp cụ thể: bumblebee.conf
và xorg.nvidia.conf
. Hãy tạo một bản sao lưu của cả hai với:
sudo cp FILE_NAME FILE_NAME.bak
Bạn nên thay thế FILE_NAME bằng tên thực của tệp. Sau đó, hãy đi sửa đổi tệp đầu tiên bằng sudo gedit bumblebee.conf
, thêm (tất cả không có dấu ngoặc kép)
Đảm bảo rằng "XorgConfFile" trong [nvidia-driver] bằng "/etc/bumblebee/xorg.conf.nvidia" (một lần nữa, không có dấu ngoặc kép), sau đó lưu và đóng gedit.
Bây giờ chúng tôi phải chỉnh sửa các tập tin khác với sudo gedit xorg.conf.nvidia
(trong trường hợp này chúng tôi cũng phải chèn dấu ngoặc kép !!). Thay thế
Option "ConnectedMonitor" "DFP"
bằng Option "UseDisplayDevice" "none"
, lưu và thoát.
8. Chạy gedit /etc/modprobe.d/bumblebee.conf
và đảm bảo rằng tất cả các dòng chứa blacklist <something>
không được nhận xét (nghĩa là chúng không bắt đầu bằng #
).
9. Tại thời điểm này, hãy chạy lệnh sau
sudo service bumblebeed start
Nếu nó trả về lỗi, hãy thử chạy lại lệnh với khởi động lại thay vì bắt đầu. Nếu bạn vẫn còn lỗi, đại loại như:
restart: Unknown job: bumblebeed
Có lẽ có gì đó không đúng trong tệp bumblebee.conf; vì vậy, kiểm tra lại bước 7.
Nếu thay vào đó, kết quả tương tự như:
bumblebeed start/running, process XXXXX
Bạn sắp hoàn thành việc thiết lập ong nghệ!
10. Bây giờ chúng ta có thể chạy optirun glxspheres
hoặc optirun glxspheres64
. Nếu tất cả hoạt động như mong đợi, bạn có một đầu ra như thế này:
$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....
Để kiểm tra kỹ xem chúng ta có thực sự sử dụng trình điều khiển nvidia không, hãy mở một thiết bị đầu cuối khác trong khi optirun <application>
đang chạy, sau đó nhập sudo lshw -c display | grep driver
. Kết quả sẽ là một cái gì đó như thế.
configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0
Mặt khác, nếu bạn đóng tất cả các ứng dụng bắt đầu với optirun
nó thì sẽ chỉ hiển thị trình điều khiển intel. Đó là nó!!
Nhờ câu trả lời này của Pavak Paul, đây là hướng dẫn để thêm giao diện người dùng bumblebee trên Ubuntu 14.04 để quản lý các ứng dụng sẽ được mở bằng nVidia.
1. Cài đặt chỉ báo ứng dụng Python:
sudo apt-get install python-appindicator
2. Cài đặt Git:
sudo apt-get install git
3. Tạo một thư mục cho git:
mkdir git && cd git
4. Kiểm tra kho lưu trữ:
git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL
5. Chuyển đến Ứng dụng khởi động và thêm chỉ báo bumblebee [nhấp vào Thêm, sau đó chèn Tên và nhận xét mà bạn muốn; chèn bumblebee-indicator
vào hộp lệnh và bấm vào Thêm).
6. Khởi động lại.
Nếu bạn muốn có tùy chọn nvidia-prime
đôi khi cũng sử dụng , hãy thử làm theo hướng dẫn bên dưới.
1. Để ngăn không cho bumblebeed
bắt đầu lúc khởi động, hãy thực hiện:
echo "manual" | sudo tee /etc/init/bumblebeed.override
2. Điểm này là vấn đề nhất; nó ngăn chặn bumblebee vào danh sách đen trình điều khiển nVidia và sẽ dẫn đến đóng băng phiên đồ họa. Thử nó với nguy cơ của mình bạn! Chạy:
sudo gedit /etc/modprobe.d/bumblebee.conf
Và nhận xét dòng chứa trình điều khiển nVidia XXX của bạn. Nó sẽ dẫn đến một cái gì đó như thế.
# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX
3. Khởi động lại hệ thống và khởi chạy nvidia-settings
. Tình huống cuối cùng là đây:
Nếu bạn chọn "Intel (Tiết kiệm năng lượng)" trong cài đặt nvidia, bạn chỉ có thẻ đồ họa Intel được bật theo mặc định. Bạn vẫn phải chạy một ứng dụng optirun
để sử dụng card đồ họa nVidia
sudo service bumblebeed start
optirun <application>
Thay vào đó, nếu bạn muốn sử dụng cấu hình "Nvidia (Hiệu suất)", hãy chọn nó từ cài đặt nvidia, sau đó đăng nhập / đăng xuất và tất cả sẽ hoạt động tự động. Điều duy nhất là bạn không phải khởi chạy bumblebeed
daemon với hồ sơ này được chọn vì nó có thể gây rắc rối.
1. Nếu bạn chỉ muốn sử dụng nvidia-prime
:
sudo apt-get --purge remove bumblebee*
Sau đó khởi động lại.
2. Nếu bạn chỉ muốn sử dụng Optimus mà không xóa nvidia-Prime, hãy chỉnh sửa lại tệp trước đó:
sudo gedit /etc/modprobe.d/bumblebee.conf
Uncommenting (xóa ký tự #) khỏi các dòng được sửa đổi trước đó:
# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX
Và khởi động lại. Trong trường hợp này, bạn có thể để bumblebeed chạy vào lúc khởi động:
sudo rm /etc/init/bumbebeed.override
vblank_mode=0 primusrun ./glxgears
hoặc chúng ta có thể sử dụng vblank_mode=0 optirun -b primus ./glxgears
. cảm ơn :)