Bumblebee Intel + Nvidia trên vấn đề màn hình đen 15.10


10

Tôi có một bản cài đặt mới của Kubfox 15.10, tôi có một máy tính xách tay msi GT70 với Optimus.

Tôi đã cài đặt bumblebee bumblebee-nvidia, nó là hoàn toàn cần thiết bởi vì nouveau liên tục bị sập khi đăng nhập.

Vì vậy, tôi đã chỉnh sửa /etc/bumblebee/bumblebee.conf

# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when     Bumblebee
# server exits.
TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d

## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-    gnu/primus
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false


# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
#         bbswitch - new in BB 3, recommended if available
#       switcheroo - vga_switcheroo method, use at your own risk
#             none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-304
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-304:/usr/lib32/nvidia-304
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-304/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

Tôi có

$ cat /proc/acpi/bbswitch 
0000:01:00.0 ON

Tôi đã đưa vào /etc/modules-load.d/modules.conf

i915
bbswitch

Vì vậy, tôi có thể làm:

$ primusrun glxinfo | grep "OpenGL version"
OpenGL version string: 4.2.0 NVIDIA 304.128

Nhưng nếu tôi khởi động lại tất cả những gì tôi có là một màn hình đen , để hệ thống của tôi bắt đầu, tôi phải đăng nhập vào tty1 và làm:

sudo modprobe nvidia_304
sudo service sddm restart

để có được màn hình đăng nhập kubfox có ý tưởng nào để khắc phục điều đó?

Ngoài ra, nếu tôi thay thế nvidia-304 bằng nvidia-355 thì tôi hoàn toàn không thể khởi động: mẹo modprobe không hoạt động.

Đây là cấu hình của tôi với lspci :

$ lspci|grep -i vga
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GK104M [GeForce GTX 870M] (rev ff)

BIÊN TẬP:

Một số thông tin liên quan và sửa chữa tiềm năng http://forum.ubuntu-it.org/viewtopic.php?p=4760241 (thông qua tiếng ý) https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

Ngoài ra, thực sự có một lỗi với mô-đun i915 trên kernel 4.2 https://bugs.launchpad.net/ubfox/+source/linux/+orms/1494903

EDIT2 (giải pháp bumblebee làm việc):

Tôi đã quản lý để thực hiện công việc này https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

  1. cài đặt nvidia-355 và nvidia-Prime
  2. chọn trình điều khiển intel trong bảng điều khiển nvidia và đăng xuất
  3. chỉ cài đặt bumblebee (không phải bumblebee-nvidia)
  4. chỉnh sửa khi cần /etc/bumblebee/bumblebee.conf line22 KernelDriver = nvidia thay thế nvidia-current bằng nvidia-355
  5. /etc/bumblebee/xorg.conf.nvidia uncomment BusID "PCI: 01: 00: 0" như được mô tả ở đây https://askubfox.com/questions/29044...vices-detected ,
  6. bây giờ bạn có thể khởi động dưới thẻ intel và sử dụng optirun và primusrun. Nó đang làm việc cho tôi cho đến nay, thử nghiệm với primusrun glxinfo

EDIT3: (chuyên ngành 03/12/2015 )

Sử dụng ppa: trình điều khiển đồ họa / ppappa: xorg-edgers / ppa , sau khi cập nhật và khởi động lại, tôi đã có một màn hình đen bằng cách sử dụng 358.16-0ubfox0 ~ gpu15.10.2 .

Vì vậy, tôi đã thanh trừng mọi thứ và sau đó chỉ cần cài đặt bumblee-nvidia nvidia-358 , chỉnh sửa /etc/bumblebee/bumblebee.conf và đã khởi động lại dịch vụ sudo bumblebeed .

Nó đã hoạt động trở lại sau khi khởi động lại.


Tôi gặp vấn đề tương tự Bây giờ tôi chạy kernel 4.4, xorg-edgers và nvidia 358 và tất cả đều hoạt động tốt (nvidia 361 hiện hoạt động)
Calin


Câu trả lời:


10

Vì bạn có phần cứng GPU khá mới, bạn cũng nên sử dụng trình điều khiển và phần mềm NVIDIA mới.

Thay thế ong nghệ bằng nvidia-primeđể chuyển đổi giữa đồ họa tích hợpchuyên dụng .

Cài đặt lại trình điều khiển NVIDIA, nhưng trước tiên hãy gỡ cài đặt tất cả phần mềm NVIDIA và xóa bumblebee.

Mở một thiết bị đầu cuối và thực hiện:

sudo apt-get purge nvidia* '^bumblebee.*'  
sudo reboot  

Khi menu khởi động GRUB xuất hiện: Đánh dấu mục nhập menu Ubuntu và bấm Ephím.
Thêm nouveau.modeset=0tham số vào cuối dòng Linux ... Sau đó nhấn F10để khởi động.

Cài đặt trình điều khiển độc quyền NVIDIA ổn định từ kho lưu trữ Ubuntu (không áp dụng cho Ubuntu 12.04:

sudo apt-get update
sudo apt-get install nvidia-352 nvidia-prime
sudo reboot

Khi bạn muốn sử dụng trình điều khiển mới nhất - cài đặt chúng từ trình điều khiển GPU sở hữu PPA:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-355 nvidia-prime
sudo reboot  

1
Cảm ơn bạn điều này dường như hoạt động, tôi cũng đã phải tạo một tệp /etc/modprobe.d/blacklist-nouveau.confcó chứa blacklist nouveau options nouveau modeset=0
Kwaadpepper

Tôi cũng có một câu hỏi khác là dù sao thì kiến ​​thức của bạn có thể làm việc không? Bởi vì với nvidia-Prime, nó không thể khởi chạy chương trình cụ thể bằng nvidia khi sử dụng card đồ họa intel, primusrunlà một thỏa thuận tuyệt vời
Kwaadpepper

1
@Kwaadpepper: bumblebee dường như bị giảm giá trị và ngày càng có nhiều vấn đề hơn - phiên bản mới nhất đã 2,5 năm tuổi - nvidia-Prime là một sự thay thế chỉ đơn giản hoạt động - nhược điểm duy nhất là bạn không thể khởi chạy một chương trình cụ thể, duy nhất đặc biệt - nhưng quan trọng nhất là: máy của bạn đang chạy! Tôi rất vui vì nó hiệu quả với bạn - vì vậy ... hãy tận hưởng trải nghiệm trên Ubuntu! :)
cl-netbox

4
Đảm bảo không nhận được nvidia-current: đó là một trình điều khiển cũ dẫn tôi đến màn hình đen.
Ciro Santilli 心 心

Hoạt động như một nhà vô địch vào ngày 18.04 với bản sửa lỗi này và bản sửa lỗi tạm thời trên Asus SCAR Strix.
RobotHumans

6

Quản lý để có được ong nghệ để làm việc trong Wily sau khi quá nhiều đau đầu không cần thiết, mà không có sự khủng khiếp nvidia-Prime.

Như những người khác nghi ngờ, đó là vì trình quản lý gpu. Dù đó là gì đi nữa, đó là barfing trên toàn bộ cấu hình thay thế cập nhật. Che giấu dịch vụ đó và cài đặt lại bumblebee [-nvidia] khắc phục tất cả các vấn đề, bây giờ thẻ bật và tắt thông qua optirun như mong đợi và không còn màn hình đen khi khởi động.

sudo systemctl mask gpu-manager.service
sudo apt-get install --reinstall bumblebee bumblebee-nvidia

Ngoài ra, hãy đảm bảo không có /etc/X11/xorg.conf bị bỏ lại.


6

Mặc dù mọi thứ dường như hoạt động, nhưng thử những điều sau đây cho thấy bbswitch không thể tắt thẻ nvidia đúng cách:

cat /proc/acpi/bbswitch
primusrun glxinfo|grep OpenGL
sleep 1
cat /proc/acpi/bbswitch

Sau đó, tôi cài đặt lại bumblebee-nvidia, nó hoạt động UNTIL Tôi khởi động lại hệ thống. Sau khi tìm hiểu thêm về vấn đề, tôi nhận thấy rằng các lựa chọn thay thế cập nhật được cập nhật sau khi khởi động lại hệ thống và tôi nhận thấy rằng trình quản lý gpu đang gây ra điều đó. (chỉ cần chạy "sudo gpu-manager" và bạn sẽ thấy nó được cập nhật)

gpu-manager chạy sau khi bạn khởi động lightdm. Vì vậy, như một cách giải quyết nhanh chóng, tôi đã vô hiệu hóa nó.

bây giờ mọi thứ hoạt động như mong đợi. sau khi chạy một cái gì đó với optirun hoặc primusrun, bbswitch tắt nvidia đúng cách khi quá trình thoát.

Tóm lại, đây là tóm tắt của tôi để cài đặt mọi thứ từ đầu (chạy thủ công bằng cách đọc các bình luận):

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

sudo apt-get purge -y nvidia* bumblebee bumblebee-nvidia bbswitch-dkms primus
sudo apt-get install nvidia-355

#switch to intel
sudo tee /etc/prime-discrete <<< off

#reboot is recommended at this point

sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee primus

#sudo gedit /etc/modules
#  add the line "bbswitch load_state=0"

#sudo gedit /etc/modprobe.d/bumblebee.conf
#and make sure the following line exists
#  blacklist nvidia-355

#sudo gedit /etc/bumblebee/bumblebee.conf
#  change line 22 "Driver=" to "Driver=nvidia"
#  change all nvidia-current to nvidia-355

#sudo gedit /etc/bumblebee/xorg.conf.nvidia
#  uncomment BusID line if it is commented and make sure it corresponds to the correct BusID

#disable gpu-manager as it changes i386-linux-gnu_gl_conf and x86_64-linux-gnu_gl_conf
sudo systemctl mask gpu-manager.service

EDIT: Tôi đã xóa các sửa đổi RC.local vì trình quản lý gpu không chỉ chạy trong thời gian chạy mà còn trong khi sử dụng hệ thống. Vì vậy, tôi đã vô hiệu hóa nó hoàn toàn.


Làm tốt lắm, rất khó tìm, nó cũng hoạt động với nvidia-361
GuySoft

1
Để có được BusID, hãy sử dụng cách saulspci | grep NVIDIA
Karl Morrison

Cũng vào ngày 14.04, bạn phải truy cập vào tập tin /etc/init/gpu-manager.conf và nhận xét tất cả sự bắt đầu trên các dòng
Karl Morrison
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.