bmbtest
nvidia-installer 0.0.4-1
--
2017.01.17 10:45
--
Freshly installed, clean Antergos 17.1 Kde.
Default Antergos repos only, in default order. No 3rd party repos.
Max upgraded. Neither upgrades nor downgrades are available.
The system is:
- Dell XPS 17
- pure Legacy BIOS, no UEFI. No video card(s) control - the most Bmb-friendly
- NVIDIA GeForce GT 555M - classic Optimus (hybrid) video card
Lately tested on:
- Acer Aspire V5 573g
- UEFI BIOS, switched to Legacy mode, Secure Boot disabled. No video card(s) control - the most Bmb-friendly
- NVIDIA GeForce GT 750M - classic Optimus (hybrid) video card
All results below refer to Dell XPS 17 with NVIDIA GeForce GT 555M. Results on Acer Aspire V5 573g with NVIDIA GeForce GT 750M are exactly the same.
In details:
```
┌──[just]─[alexatp]:~$
└─> inxi -Fxzc0
System: Host: alexatp.net Kernel: 4.8.13-1-ARCH x86_64 (64 bit gcc: 6.2.1)
Desktop: KDE Plasma 5.8.5 (Qt 5.7.1) Distro: Antergos Linux
Machine: Device: portable System: Dell product: Dell System XPS L702X
Mobo: Dell model: 0XN71K v: FAB1 UEFI [Legacy]: Dell v: A12 date: 07/22/2011
CPU: Quad core Intel Core i7-2720QM (-HT-MCP-) cache: 6144 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 17569
clock speeds: max: 3300 MHz 1: 1093 MHz 2: 821 MHz 3: 964 MHz 4: 815 MHz 5: 1092 MHz 6: 827 MHz
7: 1088 MHz 8: 1094 MHz
Graphics: Card-1: Intel 2nd Generation Core Processor Family Integrated Graphics Controller bus-ID: 00:02.0
Card-2: NVIDIA GF106M [GeForce GT 555M] bus-ID: 01:00.0
Display Server: X.Org 1.19.1 drivers: intel (unloaded: modesetting,fbdev,vesa)
GLX Renderer: Mesa DRI Intel Sandybridge Mobile GLX Version: 3.0 Mesa 13.0.3 Direct Rendering: Yes
Audio: Card Intel 6 Series/C200 Series Family High Definition Audio Controller
driver: snd_hda_intel bus-ID: 00:1b.0
Sound: Advanced Linux Sound Architecture v: k4.8.13-1-ARCH
Network: Card-1: Intel Centrino Wireless-N 1030 [Rainbow Peak] driver: iwlwifi bus-ID: 03:00.0
IF: wlp3s0 state: up mac: <filter>
Card-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
driver: r8169 v: 2.3LK-NAPI port: 2000 bus-ID: 0a:00.0
IF: enp10s0 state: down mac: <filter>
Drives: HDD Total Size: 1000.2GB (6.8% used)
ID-1: /dev/sda model: ST9500420AS size: 500.1GB
ID-2: /dev/sdb model: ST9500420AS size: 500.1GB
Partition: ID-1: / size: 20G used: 7.1G (39%) fs: ext4 dev: /dev/sda7
ID-2: swap-1 size: 1.05GB used: 0.00GB (0%) fs: swap dev: /dev/sda3
ID-3: swap-2 size: 1.05GB used: 0.00GB (0%) fs: swap dev: /dev/sdb3
Sensors: System Temperatures: cpu: 64.0C mobo: 64.0C
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 183 Uptime: 13 min Memory: 920.6/7881.7MB Init: systemd Gcc sys: 6.3.1
Client: Shell (bash 4.4.51) inxi: 2.3.8
┌──[just]─[alexatp]:~$
└─>
```
Showing up repos in use, no up|downgrades, installing nvidia-installer:
```
┌──[just]─[alexatp]:~$
└─> sudo pacman -Syyuu antergos-staging/nvidia-installer
:: Synchronizing package databases...
antergos-staging 2.7 KiB 384K/s 00:00 [--] 100%
antergos 139.5 KiB 2.39M/s 00:00 [--] 100%
core 123.3 KiB 1541K/s 00:00 [--] 100%
extra 1722.5 KiB 2.92M/s 00:01 [--] 100%
community 3.7 MiB 3.22M/s 00:01 [--] 100%
multilib 185.9 KiB 2.19M/s 00:00 [--] 100%
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
warning: insufficient columns available for table display
Packages (1) nvidia-installer-0.0.4-1
Total Download Size: 0.01 MiB
Total Installed Size: 0.03 MiB
:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
nvidia-installer-0.... 6.4 KiB 0.00B/s 00:00 [--] 100%
(1/1) checking keys in keyring [--] 100%
(1/1) checking package integrity [--] 100%
(1/1) loading package files [--] 100%
(1/1) checking for file conflicts [--] 100%
(1/1) checking available disk space [--] 100%
:: Processing package changes...
(1/1) installing nvidia-installer [--] 100%
┌──[just]─[alexatp]:~$
└─>
```
Help is provided for Nvidia-installer. Much appreciated:
```
┌──[just]─[alexatp]:~$
└─> sudo nvidia-installer --help
usage: nvidia-installer [-h] [-b] [-f] [-t]
Antergos Nvidia Installer v0.0.4
optional arguments:
-h, --help show this help message and exit
-b, --bumblebee For Nvidia Optimus cards (Bumblebee + proprietary Nvidia
drivers)
-f, --force Force nvidia driver installation even if your card is not
detected
-t, --test Only show what the installer will do, nothing in your
system will be modified
┌──[just]─[alexatp]:~$
└─>
```
Trying the --test option:
```
┌──[just]─[alexatp]:~$
└─> sudo nvidia-installer --test
Installing nvidia driver...
Removing conflicting packages...
pacman -Rs --noconfirm --noprogressbar --nodeps --nodeps xf86-video-nouveau
pacman -Rs --noconfirm --noprogressbar --nodeps --nodeps mesa-libgl
pacman -Rs --noconfirm --noprogressbar --nodeps --nodeps lib32-mesa-libgl
Downloading and installing driver packages, please wait...
pacman -Sqy --noconfirm --noprogressbar nvidia nvidia-utils nvidia-libgl libvdpau lib32-nvidia-libgl lib32-libvdpau
Creating /etc/X11/xorg.conf.d/20-nvidia.conf file...
You need to reboot now.
┌──[just]─[alexatp]:~$
└─>
```
It will remove xf86-video-nouveau. Very good.
The list of packages to install is different from mine.
Wants to install:
```
nvidia
nvidia-libgl
nvidia-utils
lib32-libvdpau
lib32-nvidia-libgl
libvdpau
```
Mine is:
```
bbswitch
bumblebee
mesa
nvidia
nvidia-settings
lib32-mesa-libgl
lib32-nvidia-utils
lib32-virtualgl
xf86-video-intel
```
The difference between two lists is significant. I'm worried about it. May give a bad result.
Wants to create unneeded .conf file. All needed .conf files are created by bumblebee package, in /etc/bumblebee folder:
```
Creating /etc/X11/xorg.conf.d/20-nvidia.conf file...
```
Installing bumblebee:
```
┌──[just]─[alexatp]:~$
└─> sudo nvidia-installer --bumblebee
Installing bumblebee driver...
Removing conflicting packages...
Downloading and installing driver packages, please wait...
Adding user just to bumblebee group...
Enabling bumblebeed service...
You need to reboot now.
┌──[just]─[alexatp]:~$
└─>
```
Reboot.
First simple checks.
The USER is added to bumblebee group. Good.
The USER is not added to video group. Bad. Bumblebee will not work.
```
┌──[just]─[alexatp]:~$
└─> groups
wheel bumblebee users autologin
┌──[just]─[alexatp]:~$
└─>
```
The bubmblebeed daemon status is perfect:
```
┌──[just]─[alexatp]:~$
└─> systemctl status bumblebeed
● bumblebeed.service - Bumblebee C Daemon
Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2017-01-16 11:27:19 MSK; 7min ago
Main PID: 471 (bumblebeed)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/bumblebeed.service
└─471 /usr/bin/bumblebeed
Jan 16 11:27:19 alexatp.net systemd[1]: Started Bumblebee C Daemon.
Jan 16 11:27:21 alexatp.net bumblebeed[471]: [ 20.058250] [INFO]/usr/bin/bumblebeed 3.2.1 started
┌──[just]─[alexatp]:~$
└─>
```
The daemon (the "service", as Poettering calls it) is:
- loaded
- enabled
- active
- running
It's simply perfect.
Initial optirun status (first run in the session) is correct:
```
┌──[just]─[alexatp]:~$
└─> optirun --status
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
┌──[just]─[alexatp]:~$
└─>
```
To deeper checks now.
Checking bbswtch (not installed explicitely), i.e., the power saving feature. Cooler fans must be turned off, slowed down, stop spinning. Nvidia GPU must be OFF after the third command:
```
┌──[just]─[alexatp]:~$
└─> optirun --status
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
┌──[just]─[alexatp]:~$
└─> optirun pwd
/home/just
┌──[just]─[alexatp]:~$
└─> optirun --status
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
┌──[just]─[alexatp]:~$
└─>
```
Unexpected positive result! It worked. I thought it shouldn't. Must investigate deeper.
Nvidia is OFF. Cooler fans were stopped. Incredible. It works as it should.
The very first impression: it works! Good.
Checks with glxspheres64, the only testing tool approved by Bumblebee Project.
Running on Intel, no acceleration:
```
┌──[just]─[alexatp]:~$
└─> glxspheres64
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
Visual ID of window: 0xa7
Context is Direct
OpenGL Renderer: Mesa DRI Intel(R) Sandybridge Mobile
60.764652 frames/sec - 67.813351 Mpixels/sec
59.784775 frames/sec - 66.719809 Mpixels/sec
59.800096 frames/sec - 66.736907 Mpixels/sec
59.800636 frames/sec - 66.737510 Mpixels/sec
59.739715 frames/sec - 66.669522 Mpixels/sec
59.838160 frames/sec - 66.779387 Mpixels/sec
^C
┌──[just]─[alexatp]:~$
└─>
```
Running on Nvidia, 3.4x acceleration:
```
┌──[just]─[alexatp]:~$
└─> optirun -c jpeg glxspheres64
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 555M/PCIe/SSE2
203.629910 frames/sec - 227.250979 Mpixels/sec
200.610192 frames/sec - 223.880974 Mpixels/sec
203.496507 frames/sec - 227.102102 Mpixels/sec
202.976215 frames/sec - 226.521456 Mpixels/sec
203.521996 frames/sec - 227.130547 Mpixels/sec
203.550925 frames/sec - 227.162832 Mpixels/sec
203.584706 frames/sec - 227.200532 Mpixels/sec
^C[ 1824.470290] [WARN]Received Interrupt signal.
┌──[just]─[alexatp]:~$
└─>
```
2017.01.17 14:00
--
Powering the Dell ON.
Normally, Nvidia card must be switched OFF by bbswitch. Is it OFF?
```
──[just]─[alexatp]:~$
└─> sudo cat /proc/acpi/bbswitch
0000:01:00.0 OFF
┌──[just]─[alexatp]:~$
└─>
```
Yes, Nvidia is OFF. That's OK.
I want to switch it ON by hand, just for sake of testing:
```
┌──[just]─[alexatp]:~$
└─> sudo tee /proc/acpi/bbswitch <<<ON
ON
┌──[just]─[alexatp]:~$
└─> sudo cat /proc/acpi/bbswitch
0000:01:00.0 ON
┌──[just]─[alexatp]:~$
└─>
```
Nvidia is ON by hand, and remains in this state. Fi-i-ine. I like it.
Switching from ON to OFF by hand, check the state:
```
┌──[just]─[alexatp]:~$
└─> sudo tee /proc/acpi/bbswitch <<<OFF
OFF
┌──[just]─[alexatp]:~$
└─> sudo cat /proc/acpi/bbswitch
0000:01:00.0 OFF
┌──[just]─[alexatp]:~$
└─>
```
Nvidia is OFF by hand, and remains in this state. OK.
After low-level bbswitch manipulations, optirun must report Nvidia is OFF now. Check that:
```
┌──[just]─[alexatp]:~$
└─> optirun --status
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
┌──[just]─[alexatp]:~$
└─>
```
For optirun Nvidia is OFF. OK.
With Nvidia switched OFF and working bbswitch, the manual unloading of nvidia_drm, nvidia_modeset, and nvidia modules must fail. Three modules are automatically unloaded from memory by optirun on exit:
```
┌──[just]─[alexatp]:~$
└─> sudo rmmod nvidia_drm nvidia_modeset nvidia
rmmod: ERROR: Module nvidia_drm is not currently loaded
rmmod: ERROR: Module nvidia_modeset is not currently loaded
rmmod: ERROR: Module nvidia is not currently loaded
┌──[just]─[alexatp]:~$
└─>
```
All three failed. That is correct and is very good.
At this point, all my Bumblebee checks, including the most rigorous, are completed. Bumblebee by @karasu is successful in all checks. It's incredible.
2017.01.17 15:00
--
Powering Dell ON.
Why @karasu's Bumblebee, installed differently from mine, works perfectly?
Checking @karasu's packages; I base myself on the list returned by
```
nvidia-installer --test
```
I didn't check nvidia-installer's source on GitHub. May it include other packages, not listed by **nvidia-installer --test**? I don't know.
Check that all @karasu's packages are installed:
```
┌──[just]─[alexatp]:~$
└─> pacman -Q nvidia nvidia-libgl nvidia-utils lib32-libvdpau lib32-nvidia-libgl libvdpau
nvidia 375.26-1
error: package 'nvidia-libgl' was not found
nvidia-utils 375.26-2
error: package 'lib32-libvdpau' was not found
error: package 'lib32-nvidia-libgl' was not found
libvdpau 1.1.1-2
┌──[just]─[alexatp]:~$
└─>
```
Hmm. Surprise. Unexpected result. Three packages aren't installed. Don't know, why. All three exist in the repos:
```
┌──[just]─[alexatp]:~$
└─> pacman -Si nvidia-libgl lib32-libvdpau lib32-nvidia-libgl
Repository : extra
Name : nvidia-libgl
Version : 375.26-2
Description : NVIDIA drivers libraries symlinks
Architecture : x86_64
URL : http://www.nvidia.com/
Licenses : custom
Groups : None
Provides : libgl libegl libgles
Depends On : nvidia-utils
Optional Deps : None
Conflicts With : libgl libegl libgles
Replaces : None
Download Size : 2.35 KiB
Installed Size : 33.00 KiB
Build Date : Fri 16 Dec 2016 14:56:01 MSK
Validated By : MD5 Sum SHA-256 Sum Signature
Repository : multilib
Name : lib32-libvdpau
Version : 1.1.1-2
Description : Nvidia VDPAU library
Architecture : x86_64
URL : http://cgit.freedesktop.org/~aplattner/libvdpau
Licenses : custom
Groups : None
Provides : None
Depends On : lib32-gcc-libs lib32-libxext libvdpau
Optional Deps : None
Conflicts With : None
Replaces : None
Download Size : 19.96 KiB
Installed Size : 76.00 KiB
Build Date : Sat 05 Dec 2015 21:06:53 MSK
Validated By : MD5 Sum SHA-256 Sum Signature
Repository : multilib
Name : lib32-nvidia-libgl
Version : 375.26-2
Description : NVIDIA drivers libraries symlinks (32-bit)
Architecture : x86_64
URL : http://www.nvidia.com/
Licenses : custom
Groups : None
Provides : lib32-libgl lib32-libegl lib32-libgles
Depends On : lib32-nvidia-utils nvidia-libgl
Optional Deps : None
Conflicts With : lib32-libgl lib32-libegl lib32-libgles
Replaces : lib32-nvidia-utils<=313.26-1
Download Size : 2.64 KiB
Installed Size : 21.00 KiB
Build Date : Fri 16 Dec 2016 14:54:27 MSK
Validated By : MD5 Sum SHA-256 Sum Signature
┌──[just]─[alexatp]:~$
└─>
```
And what about my packages, those that I install with the manual Bumblebee installation? Those listed in Antergos Wiki article? Which of them @karasu installs?
```
┌──[just]─[alexatp]:~$
└─> pacman -Q bbswitch bumblebee mesa nvidia nvidia-settings lib32-mesa-libgl lib32-nvidia-utils lib32-virtualgl xf86-video-intel
bbswitch 0.8-55
bumblebee 3.2.1-12
mesa 13.0.3-1
nvidia 375.26-1
nvidia-settings 375.26-1
lib32-mesa-libgl 13.0.3-1
lib32-nvidia-utils 375.26-2
lib32-virtualgl 2.5.1-1
xf86-video-intel 1:2.99.917+747+g028c946d-1
┌──[just]─[alexatp]:~$
└─>
```
Wow! All my packages are installed! Another surprise.
Well, soma were already installed, prior to Bumblebee. For example, xf86-video-intel. ArchWiki recommends to **reinstall** it along with Bumblebee, to rebuild dependencies. @karasu doesn't do it. Which is probably not good, though I'm not sure about it.
Must take a look at my original Arch Bumblebee article. It was never published in Antergos. It has the motivation for every explicitely installed package.
So, the immediate answer to the question "Why @karasu works?" is: because after fresh Antergos 17.1 installation and nvidia-installer's execution all **my** packages are installed.
What will happen if a Bmb package is not installed neither by Cnchi, nor by nvidia-installer? Most probably Bumblebee will fail.
That's why I will prefer my way for installing Bmb. For now. Those described in AnteWiki.
I must study nvidia-installer's source on GitHub.
Enough with packages for now. What about the USER's groups?
Bmb user must be included in two groups:
- bumblebee
- video
@karasu doesn't include a USER in the video group. But his Bumblebee works perfectly. Why?
May it be because my USER is included in the wheel group?
```
┌──[just]─[alexatp]:~$
└─> whoami
just
┌──[just]─[alexatp]:~$
└─> groups $USER
wheel autologin bumblebee users
┌──[just]─[alexatp]:~$
└─>
```
I nave no answer to this question.
Finally, differences in configuration.
Bmb creates and uses its own configuration files, and keeps them in /etc/bumblebee directory. They substitute the classic /etc/X11/xorg.conf and similar in /etc/X11/xorg.conf.d. Does Bmb folder exist?
```
┌──[just]─[alexatp]:~$
└─> ls -lha /etc/bumblebee | sort
drwxr-xr-x 2 root root 4.0K Jul 28 23:17 xorg.conf.d
drwxr-xr-x 3 root root 4.0K Jul 28 23:17 .
drwxr-xr-x 73 root root 4.0K Jan 16 13:40 ..
-rw-r--r-- 1 root root 1.4K Jul 28 23:17 xorg.conf.nvidia
-rw-r--r-- 1 root root 2.9K Jul 28 23:17 bumblebee.conf
-rw-r--r-- 1 root root 513 Jul 28 23:17 xorg.conf.nouveau
total 24K
┌──[just]─[alexatp]:~$
└─> ls -lha /etc/bumblebee/xorg.conf.d | sort
drwxr-xr-x 2 root root 4.0K Jul 28 23:17 .
drwxr-xr-x 3 root root 4.0K Jul 28 23:17 ..
-rw-r--r-- 1 root root 0 Jul 28 23:17 10-dummy.conf
total 8.0K
┌──[just]─[alexatp]:~$
└─>
```
All Bmb dirs and files exist. I checked three .conf files content by hand, and it is correct. Three Bmb .conf files are:
- xorg.conf.nvidia <-- Bmb for Nvidia prop driver
- bumblebee.conf <-- general Bmb config
- xorg.conf.nouveau <-- Bmb for Nouveau free driver
nvidia-installer --test says it will create /etc/X11/xorg.conf.d/20-nvidia.conf file:
```
┌──[just]─[alexatp]:~$
└─> ls -lha /etc/X11/xorg.conf.d/20-nvidia.conf
ls: cannot access '/etc/X11/xorg.conf.d/20-nvidia.conf': No such file or directory
┌──[just]─[alexatp]:~$
└─>
```
The file was not created. And it is good! I don't know what it serves for, and what @karasu wants to put in it. The file is not needed by Bmb, it's OK that it is missing.
To conclude, about nvidia-settings utility. It is included in menu under the title "NVIDIA X Server Settings".
The utility is never installed with correct Optimus settings. In no distro. It is always installed to be run on single-GPU, non-hybrid Nvidia cards. If not reconfigured, it returns the error on Optimus.
So nvidia-settings is installed, but is not ready for immediate use. It will provocate additional users woes.
All tests and checks are finished.
Some subtle doubts about packages still remain. I'd prefer to explicitely install all **my** Bmb packages, and not to count on default Antergos installation.
Regards