Bumblebee Intel + Nvidia pada masalah 15.10 blackscreen

10

Saya baru saja menginstal Kubuntu 15.10, saya punya laptop msi GT70 dengan optimus.

Saya telah menginstal bumblebee bumblebee-nvidia, itu benar-benar diperlukan karena nouveau terus macet saat masuk.

Jadi saya mengedit /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

saya sudah

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

Saya memasukkan /etc/modules-load.d/modules.conf

i915
bbswitch

Jadi saya bisa melakukan:

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

Tetapi jika saya reboot semua yang saya miliki adalah layar hitam , untuk mendapatkan sistem saya mulai saya harus login di tty1 dan lakukan:

sudo modprobe nvidia_304
sudo service sddm restart

untuk mendapatkan layar login kubuntu ada ide untuk memperbaikinya?

Juga jika saya mengganti nvidia-304 dengan nvidia-355 saya tidak bisa boot sama sekali: ujung modprobe tidak berfungsi.

Ini konfigurasi saya dengan 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)

EDIT:

Beberapa info terkait dan potensi perbaikan http://forum.ubuntu-it.org/viewtopic.php?p=4760241 (italian melalui) https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

Juga sebenarnya ada bug dengan modul i915 pada kernel 4.2 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1494903

EDIT2 (solusi lebah berjalan):

Saya berhasil membuat karya ini https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

  1. instal nvidia-355 dan nvidia-prime
  2. pilih driver intel di panel nvidia dan logout
  3. pasang bumblebee saja (bukan bumblebee-nvidia)
  4. sunting sesuai kebutuhan /etc/bumblebee/bumblebee.conf line22 KernelDriver = nvidia ganti nvidia-current oleh nvidia-355
  5. /etc/bumblebee/xorg.conf.nvidia batalkan komentarnya BusID "PCI: 01: 00: 0" seperti dijelaskan di sini /ubuntu/29044...vices-detected ,
  6. Anda sekarang dapat boot di bawah kartu intel dan menggunakan optirun dan primusrun. Ini bekerja untuk saya sejauh ini, tes dengan primusrun glxinfo

EDIT3: ( maj. 03/12/2015 )

Menggunakan ppa: grafis-driver / ppa dan ppa: xorg-edgers / ppa , setelah pembaruan dan reboot, saya memiliki layar hitam menggunakan 358.16-0ubuntu0 ~ gpu15.10.2 .

Jadi saya membersihkan semuanya dan kemudian menginstal bumblee-nvidia nvidia-358 , diedit /etc/bumblebee/bumblebee.conf dan lakukan sudo service bumblebeed restart .

Itu berhasil lagi setelah reboot.

Kwaadpepper
sumber
Saya memiliki masalah yang sama dengan sekarang saya menjalankan kernel 4.4, xorg-edgers dan nvidia 358 dan semua berfungsi dengan baik (nvidia 361 sekarang berfungsi)
Calin
Terkait: askubuntu.com/questions/41681/…
Karl Morrison

Jawaban:

10

Karena Anda memiliki perangkat keras GPU yang cukup baru, Anda harus menggunakan driver dan perangkat lunak NVIDIA baru juga.

Ganti lebah dengan nvidia-primeuntuk beralih antara grafik terintegrasi dan berdedikasi .

Instal ulang driver NVIDIA, tetapi hapus dulu semua perangkat lunak NVIDIA dan hapus bumblebee.

Buka terminal dan jalankan:

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

Ketika menu boot GRUB muncul: Sorot entri menu Ubuntu dan tekan Etombol.
Tambahkan nouveau.modeset=0parameter ke akhir baris Linux ... Kemudian tekan F10untuk boot.

Instal driver eksklusif NVIDIA dari repositori Ubuntu (tidak berlaku untuk ubuntu 12.04:

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

Saat Anda ingin menggunakan driver terbaru - instal dari PPA driver Proprietary GPU:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-355 nvidia-prime
sudo reboot  
cl-netbox
sumber
1
Terima kasih ini sepertinya berhasil, saya juga harus membuat file yang /etc/modprobe.d/blacklist-nouveau.confmengandung blacklist nouveau options nouveau modeset=0
Kwaadpepper
Saya juga punya pertanyaan lain apakah toh pengetahuan Anda bisa bekerja lebah? Karena dengan nvidia-prime tidak dapat meluncurkan program spesifik menggunakan nvidia saat menggunakan kartu grafis intel, primusrunadalah hal yang bagus
Kwaadpepper
1
@Kwaadpepper: bumblebee tampaknya agak terdepresiasi dan semakin banyak masalah - rilis terbaru berusia 2,5 tahun - nvidia-prime adalah pengganti yang hanya berfungsi - satu-satunya downside adalah Anda tidak dapat meluncurkan satu program khusus terutama - tetapi yang paling penting adalah: mesin Anda sedang berjalan sekarang! Saya senang ini berfungsi untuk Anda - jadi ... nikmati pengalaman ubuntu! :)
cl-netbox
4
Pastikan untuk tidak mendapatkan nvidia-current: itu adalah driver lama yang membawa saya ke layar hitam.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
Bekerja seperti juara pada 18,04 dengan ini dan perbaikan nomodeset sementara pada Asus SCAR Strix.
RobotHumans
6

Berhasil mendapatkan lebah untuk bekerja di Wily setelah terlalu banyak sakit kepala yang tidak perlu, tanpa nvidia-prime horribleness.

Seperti yang diduga orang lain, itu karena gpu-manager. Apa pun itu, ia tidak memiliki konfigurasi pembaruan-alternatif. Menyamarkan layanan itu dan menginstal ulang bumblebee [-nvidia] memperbaiki semua masalah, sekarang kartu dihidupkan dan dimatikan melalui optirun seperti yang diharapkan, dan tidak ada lagi layar hitam saat boot.

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

Pastikan juga tidak ada /etc/X11/xorg.conf yang rusak.

Luca Boccassi
sumber
6

Meskipun semuanya tampak berfungsi, mencoba yang berikut ini menunjukkan bbswitch tidak dapat mematikan kartu nvidia dengan benar:

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

Kemudian saya menginstal ulang bumblebee-nvidia, itu bekerja SAMPAI saya me-restart sistem. Setelah menggali lebih banyak tentang masalah ini, saya perhatikan bahwa pembaruan-alternatif diperbarui setelah restart sistem dan saya perhatikan bahwa gpu-manager yang menyebabkannya. (cukup jalankan "sudo gpu-manager" dan Anda akan melihatnya diperbarui)

gpu-manager berjalan setelah Anda memulai lightdm. jadi, sebagai solusi cepat, saya menonaktifkannya.

sekarang semuanya berjalan seperti yang diharapkan. setelah menjalankan sesuatu dengan optirun atau primusrun, bbswitch mematikan nvidia dengan benar ketika proses keluar.

Singkatnya, inilah ringkasan saya untuk menginstal semuanya dari awal (jalankan secara manual dengan membaca komentar):

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: Saya menghapus modifikasi rc.local karena gpu-manager berjalan tidak hanya pada saat runtime tetapi juga saat menggunakan sistem. Karena itu saya menonaktifkannya sepenuhnya.

Gokhan Moral
sumber
Bagus sekali, itu sangat sulit ditemukan, itu juga bekerja dengan nvidia-361
GuySoft
1
Untuk mendapatkan BusID gunakan yang berikutlspci | grep NVIDIA
Karl Morrison
Juga pada 14,04 harus masuk ke file /etc/init/gpu-manager.conf dan berkomentar semua mulai pada baris
Karl Morrison