So, before I start or you calling out duplicate question, there is no such thing as
xserver-xorg-legacy here. I have tried this solution here and found out that it does not exist in my version of driver. There is one similar package called
xserver-xorg-legacy-hwe-16.04 but removing it will revert the driver back to version 304, in which break the whole laptop upon installing Bumblebee at boot start up - in which I have to
apt remove them. I have tried to use
apt-mark to prevent them from automatically uninstalled, but the system detects it as an impossible situation.
Anyway, continuing on. I am running Nvidia GeForce GTX 950M and uses Nvidia driver version 384. However, when I tried the test, it returns this:
[ERROR]Cannot access secondary GPU - error: [XORG] (EE)
This is the error:
$ optirun -vv -debug glxgears [ 1855.586234] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf [ 1855.586631] [INFO]Configured driver: nvidia [ 1855.586952] [DEBUG]optirun version 3.2.1 starting... [ 1855.586976] [DEBUG]Active configuration: [ 1855.587048] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf [ 1855.587065] [DEBUG] X display: ebug [ 1855.587082] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia-384:/usr/lib32/nvidia-384 [ 1855.587098] [DEBUG] Socket path: /var/run/bumblebee.socket [ 1855.587112] [DEBUG] Accel/display bridge: auto [ 1855.587122] [DEBUG] VGL Compression: proxy [ 1855.587136] [DEBUG] VGLrun extra options: [ 1855.587151] [DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus [ 1855.587299] [DEBUG]Using auto-detected bridge primus [ 1855.594388] [INFO]Response: No - error: [XORG] (EE) [ 1855.594399] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) [ 1855.594402] [DEBUG]Socket closed. [ 1855.594414] [ERROR]Aborting because fallback start is disabled. [ 1855.594417] [DEBUG]Killing all remaining processes.
primusrun also returns with the same error. I do not know what is causing this error because it does not seem to show one.
This is my
## 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-384 PMMethod=auto # colon-separated path to the nvidia libraries LibraryPath=/usr/lib/nvidia-384:/usr/lib32/nvidia-384 # comma-separated path of the directory containing nvidia_drv.so and the # default Xorg modules path XorgModulePath=/usr/lib/nvidia-384/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
Before this, I got another error where it says
[ERROR]Cannot access secondary GPU, secondary X is not active.. However, I manage to fix it by editing all the
nvidia-384 in bumblebee config.
nvidia-current does not exist here anymore.
This is my
xorg.conf.nvidia looks like:
Section "ServerLayout" Identifier "Layout0" Option "AutoAddDevices" "false" Option "AutoAddGPU" "false" EndSection Section "Device" Identifier "DiscreteNvidia" Driver "nvidia" VendorName "NVIDIA Corporation" # If the X server does not automatically detect your VGA device, # you can manually set it here. # To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data # as you see in the commented example. # This Setting may be needed in some platforms with more than one # nvidia card, which may confuse the proprietary driver (e.g., # trying to take ownership of the wrong device). Also needed on Ubuntu 13.04. BusID "PCI:01:00:0" # Setting ProbeAllGpus to false prevents the new proprietary driver # instance spawned to try to control the integrated graphics card, # which is already being managed outside bumblebee. # This option doesn't hurt and it is required on platforms running # more than one nvidia graphics card with the proprietary driver. # (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT). # If this option is not set, the new Xorg may blacken the screen and # render it unusable (unless you have some way to run killall Xorg). Option "ProbeAllGpus" "false" Option "NoLogo" "true" Option "UseEDID" "false" Option "UseDisplayDevice" "none" EndSection
Some more info about what I'm dealing with:
$ lspci -vnn | grep '3D' 01:00.0 3D controller : NVIDIA Corporation GM107M [GeForce GTX 950M] [10de:139a] (rev a2) $ lspci -vnn | grep 'VGA' 00:02.0 VGA compatible controller : Intel Corporation Skylake Integrated Graphics [8086:191b] (rev 06) (prog-if 00 [VGA controller])
If there is any help on solving this, it will be appreciated.