1. bmbtest
  2. nvidia-installer 0.0.5-2
  3. --
  4. 2017-01-18 12:00
  5. --
  6. Reading nvidia-installer-0.0.5 source on GitHub at https://github.com/Antergos/nvidia-installer/blob/master/nvidia-installer I see that @karasu has applied recent suggestions:
  7. - adds user to video group
  8. - corrects nvidia-settings.desktop with sed
  9. It's not easy to figure out from source what pkgs will be installed now, have they changed? Will check the list of packages with **nvidia-installer --test**.
  10. It's probably possible to start testing 0.0.5, without waiting for OK from @karasu.
  11. Will start testing.
  12. Are there bmb-@karasu packages already installed?
  13. ```
  14. ┌──[just]─[alexatp]:~$
  15. └─> pacman -Q nvidia nvidia-libgl nvidia-utils lib32-libvdpau lib32-nvidia-libgl libvdpau
  16. error: package 'nvidia' was not found
  17. error: package 'nvidia-libgl' was not found
  18. error: package 'nvidia-utils' was not found
  19. error: package 'lib32-libvdpau' was not found
  20. error: package 'lib32-nvidia-libgl' was not found
  21. libvdpau 1.1.1-2
  22. ┌──[just]─[alexatp]:~$
  23. └─>
  24. ```
  25. Except libvdpau, which comes from gstreamer0.10-bad-plugins, there are not. The situation is the same as before 0.0.4 tests. It's clean.
  26. Are there bmb-@just packages already installed?
  27. ```
  28. ┌──[just]─[alexatp]:~$
  29. └─> pacman -Q bbswitch bumblebee mesa nvidia nvidia-settings lib32-mesa-libgl lib32-nvidia-utils lib32-virtualgl xf86-video-intel
  30. error: package 'bbswitch' was not found
  31. error: package 'bumblebee' was not found
  32. mesa 13.0.3-1
  33. error: package 'nvidia' was not found
  34. error: package 'nvidia-settings' was not found
  35. lib32-mesa-libgl 13.0.3-1
  36. error: package 'lib32-nvidia-utils' was not found
  37. error: package 'lib32-virtualgl' was not found
  38. xf86-video-intel 1:2.99.917+747+g028c946d-1
  39. ┌──[just]─[alexatp]:~$
  40. └─>
  41. ```
  42. There are no bmb-specific pkgs installed, except three ones, already discussed earlier. lib32-mesa-libgl comes with steam. mesa and xf86-video-intel are installed by default. The situation is the same as before 0.0.4 tests. It's clean.
  43. Upgrading the system, explicitely display all repos, allow downgrades. Nvidia-installer must be upgraded to 0.0.5.
  44. ```
  45. ┌──[just]─[alexatp]:~$
  46. └─> sudo pacman -Syyuu
  47. :: Synchronizing package databases...
  48. antergos-staging 3.6 KiB 512K/s 00:00 [---------------------------------------] 100%
  49. antergos 139.5 KiB 2.72M/s 00:00 [---------------------------------------] 100%
  50. core 123.5 KiB 901K/s 00:00 [---------------------------------------] 100%
  51. extra 1722.4 KiB 2.39M/s 00:01 [---------------------------------------] 100%
  52. community 3.7 MiB 2.10M/s 00:02 [---------------------------------------] 100%
  53. multilib 185.9 KiB 1936K/s 00:00 [---------------------------------------] 100%
  54. :: Starting full system upgrade...
  55. resolving dependencies...
  56. looking for conflicting packages...
  57. Package (2) Old Version New Version Net Change Download Size
  58. antergos-staging/nvidia-installer 0.0.4-1 0.0.5-2 0.00 MiB 0.01 MiB
  59. extra/webkit2gtk 2.14.2-2 2.14.3-1 0.00 MiB 22.84 MiB
  60. Total Download Size: 22.84 MiB
  61. Total Installed Size: 101.96 MiB
  62. Net Upgrade Size: 0.01 MiB
  63. :: Proceed with installation? [Y/n] Y
  64. :: Retrieving packages...
  65. nvidia-installer-0.0.5-2-any 7.0 KiB 0.00B/s 00:00 [---------------------------------------] 0%
  66. webkit2gtk-2.14.3-1-x86_64 22.8 MiB 3.01M/s 00:08 [---------------------------------------] 100%
  67. (2/2) checking keys in keyring [---------------------------------------] 100%
  68. (2/2) checking package integrity [---------------------------------------] 100%
  69. error: nvidia-installer: signature from "Antergos Build Server (Automated Package Build System) <[email protected]>" is invalid
  70. :: File /var/cache/pacman/pkg/nvidia-installer-0.0.5-2-any.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)).
  71. Do you want to delete it? [Y/n] Y
  72. error: failed to commit transaction (invalid or corrupted package)
  73. Errors occurred, no packages were upgraded.
  74. ┌──[just]─[alexatp]:~$
  75. └─>
  76. ```
  77. Oops. Signature problem with nvidia-installer package.
  78. ```
  79. ...
  80. error: nvidia-installer: signature from "Antergos Build Server (Automated Package Build System) <[email protected]>" is invalid
  81. :: File /var/cache/pacman/pkg/nvidia-installer-0.0.5-2-any.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)).
  82. Do you want to delete it? [Y/n]
  83. error: failed to commit transaction (invalid or corrupted package)
  84. Errors occurred, no packages were upgraded.
  85. ```
  86. I rotated all antergos-mirrorlist, country by country, server by server inside each country. Nothing helps.
  87. Will install the pkg locally, without the signature:
  88. ```
  89. ┌──[just]─[alexatp]:/1st/dnl$
  90. └─> sudo pacman -U /1st/dnl/nvidia-installer-0.0.5-2-any.pkg.tar.xz
  91. loading packages...
  92. resolving dependencies...
  93. looking for conflicting packages...
  94. Package (1) Old Version New Version Net Change
  95. nvidia-installer 0.0.4-1 0.0.5-2 0.00 MiB
  96. Total Installed Size: 0.04 MiB
  97. Net Upgrade Size: 0.00 MiB
  98. :: Proceed with installation? [Y/n] Y
  99. (1/1) checking keys in keyring [---------------------------------------] 100%
  100. (1/1) checking package integrity [---------------------------------------] 100%
  101. (1/1) loading package files [---------------------------------------] 100%
  102. (1/1) checking for file conflicts [---------------------------------------] 100%
  103. (1/1) checking available disk space [---------------------------------------] 100%
  104. :: Processing package changes...
  105. (1/1) upgrading nvidia-installer [---------------------------------------] 100%
  106. ┌──[just]─[alexatp]:/1st/dnl$
  107. └─>
  108. ```
  109. Are there any pending upgrades? What is the current nvidia-installer's version?
  110. ```
  111. ┌──[just]─[alexatp]:/1st/dnl$
  112. └─> sudo pacman -Syyuu
  113. :: Synchronizing package databases...
  114. antergos-staging 3.6 KiB 512K/s 00:00 [---------------------------------------] 100%
  115. antergos 139.5 KiB 2.72M/s 00:00 [---------------------------------------] 100%
  116. core 123.5 KiB 908K/s 00:00 [---------------------------------------] 100%
  117. extra 1722.4 KiB 2.00M/s 00:01 [---------------------------------------] 100%
  118. community 3.7 MiB 2.64M/s 00:01 [---------------------------------------] 100%
  119. multilib 185.9 KiB 1737K/s 00:00 [---------------------------------------] 100%
  120. :: Starting full system upgrade...
  121. there is nothing to do
  122. ┌──[just]─[alexatp]:/1st/dnl$
  123. └─> pacman -Q nvidia-installer
  124. nvidia-installer 0.0.5-2
  125. ┌──[just]─[alexatp]:/1st/dnl$
  126. └─>
  127. ```
  128. Ready for test.
  129. A lunch break, then will start testing.
  130. 2017-01-18 14:00
  131. --
  132. At the end of all, check nvidia-installer for repairing capability!
  133. Bmb article from Antergos Wiki may be used as repairing tool. It may be applied more than once, eventually fixing a broken Bmb installation.
  134. Can nvidia-installer do the same?
  135. Final checks before running nvidia-installer.
  136. Is Bmb already installed?
  137. ```
  138. ┌──[just]─[alexatp]:~$
  139. └─> systemctl status bumblebeed
  140. Unit bumblebeed.service could not be found.
  141. ┌──[just]─[alexatp]:~$
  142. └─> optirun --status
  143. bash: optirun: command not found
  144. ┌──[just]─[alexatp]:~$
  145. └─>
  146. ```
  147. No, it is not.
  148. Is xf86-video-nouveau still present (installed):
  149. ```
  150. ┌──[just]─[alexatp]:~$
  151. └─> pacman -Q xf86-video-nouveau
  152. xf86-video-nouveau 1.0.13-2
  153. ┌──[just]─[alexatp]:~$
  154. └─>
  155. ```
  156. Yes, it is. Nvidia-installer should remove this damned thingie.
  157. What are my current groups?
  158. ```
  159. ┌──[just]─[alexatp]:~$
  160. └─> whoami
  161. just
  162. ┌──[just]─[alexatp]:~$
  163. └─> groups $USER
  164. wheel autologin users
  165. ┌──[just]─[alexatp]:~$
  166. └─>
  167. ```
  168. OK, no Bmb groups.
  169. I'm almost ready to run nvidia-installer.
  170. What it will do? A generic **--test**:
  171. ```
  172. ┌──[just]─[alexatp]:~$
  173. └─> nvidia-installer --test
  174. 2017-01-18 14:00:06 [INFO]: All logs will be stored in /tmp/nvidia-installer.log
  175. 2017-01-18 14:00:06 [INFO]: Running the installer in testing mode...
  176. 2017-01-18 14:00:06 [INFO]: Installing nvidia driver...
  177. 2017-01-18 14:00:06 [INFO]: Removing conflicting packages...
  178. 2017-01-18 14:00:06 [INFO]: pacman -Rs --noconfirm --noprogressbar --nodeps --nodeps xf86-video-nouveau
  179. 2017-01-18 14:00:06 [INFO]: pacman -Rs --noconfirm --noprogressbar --nodeps --nodeps mesa-libgl
  180. 2017-01-18 14:00:06 [INFO]: pacman -Rs --noconfirm --noprogressbar --nodeps --nodeps lib32-mesa-libgl
  181. 2017-01-18 14:00:06 [INFO]: Downloading and installing driver packages, please wait...
  182. 2017-01-18 14:00:06 [INFO]: pacman -Sqy --noconfirm --noprogressbar nvidia nvidia-utils nvidia-libgl libvdpau lib32-nvidia-libgl lib32-libvdpau
  183. 2017-01-18 14:00:06 [INFO]: Creating /etc/X11/xorg.conf.d/20-nvidia.conf file...
  184. 2017-01-18 14:00:06 [INFO]: Installation finished. Nothing has been modified as testing mode was ON.
  185. ┌──[just]─[alexatp]:~$
  186. └─>
  187. ```
  188. The output is nicely colorized now. The output looks a bit more detailed than in 0.0.4, though I can't immediately find what are the differences.
  189. I like a lot this piece:
  190. ```
  191. All logs will be stored in /tmp/nvidia-installer.log
  192. ```
  193. Will check and save the log after the installation.
  194. Seems like pkgs list is slightly changed, but I have no wish to check it in details - even older 0.0.4 bmb-@karasu works nicely.
  195. What nvidia-installer will do for Bmb? A Bmb-specific **--test --bumblebee**:
  196. ```
  197. ┌──[just]─[alexatp]:~$
  198. └─> sudo nvidia-installer --test --bumblebee
  199. 2017-01-18 14:20:03 [INFO]: All logs will be stored in /tmp/nvidia-installer.log
  200. 2017-01-18 14:20:03 [INFO]: Running the installer in testing mode...
  201. 2017-01-18 14:20:03 [INFO]: Installing bumblebee driver...
  202. 2017-01-18 14:20:03 [INFO]: Removing conflicting packages...
  203. 2017-01-18 14:20:03 [INFO]: pacman -Rs --noconfirm --noprogressbar --nodeps --nodeps xf86-video-nouveau
  204. 2017-01-18 14:20:03 [INFO]: Downloading and installing driver packages, please wait...
  205. 2017-01-18 14:20:03 [INFO]: pacman -Sqy --noconfirm --noprogressbar bumblebee mesa xf86-video-intel nvidia virtualgl nvidia-settings bbswitch lib32-nvidia-utils lib32-virtualgl lib32-mesa-libgl
  206. 2017-01-18 14:20:03 [INFO]: Adding user just to bumblebee group...
  207. 2017-01-18 14:20:03 [INFO]: gpasswd -a just bumblebee
  208. 2017-01-18 14:20:03 [INFO]: Adding user just to video group...
  209. 2017-01-18 14:20:03 [INFO]: gpasswd -a just video
  210. 2017-01-18 14:20:03 [INFO]: Enabling bumblebeed.service service...
  211. 2017-01-18 14:20:03 [INFO]: systemctl enable bumblebeed.service
  212. 2017-01-18 14:20:03 [INFO]: Could not find /usr/share/applications/nvidia-settings.desktop file. Is nvidia-settings installed?
  213. 2017-01-18 14:20:03 [INFO]: Installation finished. Nothing has been modified as testing mode was ON.
  214. ┌──[just]─[alexatp]:~$
  215. └─>
  216. ```
  217. Wow! It's looks just perfect! If it will do what is promised here, it should be a perfect installation.
  218. Let's start.
  219. Ready. Steady. Go. Running nvidia-installer-0.0.5 for the 1st time:
  220. ```
  221. ┌──[just]─[alexatp]:~$
  222. └─> sudo nvidia-installer --bumblebee
  223. 2017-01-18 14:31:05 [INFO]: All logs will be stored in /tmp/nvidia-installer.log
  224. 2017-01-18 14:31:05 [INFO]: Installing bumblebee driver...
  225. 2017-01-18 14:31:05 [INFO]: Removing conflicting packages...
  226. 2017-01-18 14:31:06 [INFO]: Downloading and installing driver packages, please wait...
  227. 2017-01-18 14:31:44 [INFO]: Adding user just to bumblebee group...
  228. 2017-01-18 14:31:44 [INFO]: Adding user just to video group...
  229. 2017-01-18 14:31:45 [INFO]: Enabling bumblebeed.service service...
  230. 2017-01-18 14:31:45 [INFO]: Patching /usr/share/applications/nvidia-settings.desktop...
  231. 2017-01-18 14:31:45 [WARNING]: Cannot patch /usr/share/applications/nvidia-settings.desktop file : sed: -e expression #1, char 1: unknown command: `''
  232. 2017-01-18 14:31:45 [INFO]: Installation finished. You need to reboot now!
  233. ┌──[just]─[alexatp]:~$
  234. └─>
  235. ```
  236. Not bad. Aside from nvidia-settings.desktop, the rest looks very good.
  237. Installation log is saved in /1st/tmp/bmbtest:
  238. ```
  239. ┌──[just]─[alexatp]:~$
  240. └─> cp /tmp/nvidia-installer.log /1st/tmp/bmbtest
  241. ┌──[just]─[alexatp]:~$
  242. └─> ls -lha /1st/tmp/bmbtest
  243. total 100K
  244. drwxr-xr-x 2 just users 4.0K Jan 18 14:34 .
  245. drwxrwxrwx 3 just users 4.0K Jan 18 12:02 ..
  246. -rw-r--r-- 1 just users 20K Jan 16 18:34 bmb-full-0.0.4
  247. -rw-r--r-- 1 just users 12K Jan 18 14:26 bmb-full-0.0.5
  248. -rw------- 1 just users 3.3K Jan 18 14:33 .bmb-full-0.0.5.kate-swp
  249. -rw-r--r-- 1 just users 9.6K Jan 16 18:50 bmb-post-1
  250. -rw-r--r-- 1 just users 11K Jan 17 10:52 bmb-post-2
  251. -rw-r--r-- 1 just 1001 26K Jan 18 11:41 nvidia-installer-0.0.5
  252. -rw-r--r-- 1 just users 890 Jan 18 14:34 nvidia-installer.log
  253. ┌──[just]─[alexatp]:~$
  254. └─>
  255. ```
  256. Ah, actually the log is the same as terminal's output. Nothing interesting.
  257. Reboot.
  258. Simple checks.
  259. 1. What pkgs are installed?
  260. Are all pkgs installed? Those listed in the Bumblebee article on Antergos Wiki?
  261. ```
  262. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  263. └─> pacman -Q bbswitch bumblebee mesa nvidia nvidia-settings lib32-mesa-libgl lib32-nvidia-utils lib32-virtualgl xf86-video-intel
  264. bbswitch 0.8-55
  265. bumblebee 3.2.1-12
  266. mesa 13.0.3-1
  267. nvidia 375.26-1
  268. nvidia-settings 375.26-1
  269. lib32-mesa-libgl 13.0.3-1
  270. lib32-nvidia-utils 375.26-2
  271. lib32-virtualgl 2.5.1-1
  272. xf86-video-intel 1:2.99.917+747+g028c946d-1
  273. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  274. └─>
  275. ```
  276. Yes, everything is present. Good. @karasu even reinstalls xf86-video-intel, as suggested by ArchWiki. Perfect.
  277. 2. Has nouveau been removed?
  278. ```
  279. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  280. └─> pacman -Q xf86-video-nouveau
  281. error: package 'xf86-video-nouveau' was not found
  282. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  283. └─>
  284. ```
  285. No more nouveau anymore! Thanks, Lord! Am I a poet? Perfect.
  286. 3. What are my groups?
  287. ```
  288. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  289. └─> whoami
  290. just
  291. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  292. └─> groups $USER
  293. wheel video autologin bumblebee users
  294. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  295. └─>
  296. ```
  297. I'm in bumblebee and video now. Perfect.
  298. 4. bumblebeed status
  299. ```
  300. ┌──[just]─[alexatp]:~$
  301. └─> systemctl status bumblebeed
  302. ● bumblebeed.service - Bumblebee C Daemon
  303. Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled; vendor preset: disabled)
  304. Active: active (running) since Wed 2017-01-18 14:39:22 MSK; 1min 37s ago
  305. Main PID: 458 (bumblebeed)
  306. Tasks: 1 (limit: 4915)
  307. CGroup: /system.slice/bumblebeed.service
  308. └─458 /usr/bin/bumblebeed
  309. Jan 18 14:39:22 alexatp.net systemd[1]: Started Bumblebee C Daemon.
  310. Jan 18 14:39:25 alexatp.net bumblebeed[458]: [ 18.348545] [INFO]/usr/bin/bumblebeed 3.2.1 started
  311. ┌──[just]─[alexatp]:~$
  312. └─>
  313. ```
  314. It's:
  315. - loaded
  316. - enabled
  317. - active
  318. - running
  319. I.e., perfect.
  320. 5. optirun status
  321. ```
  322. ┌──[just]─[alexatp]:~$
  323. └─> optirun --status
  324. Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
  325. ┌──[just]─[alexatp]:~$
  326. └─>
  327. ```
  328. Nvidia is OFF. Perfect.
  329. 6. Graphics acceleration
  330. 6.a Running on Intel, standard FPS, no accel
  331. ```
  332. ┌──[just]─[alexatp]:~$
  333. └─> glxspheres64
  334. Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
  335. Visual ID of window: 0xa7
  336. Context is Direct
  337. OpenGL Renderer: Mesa DRI Intel(R) Sandybridge Mobile
  338. 60.406499 frames/sec - 67.413653 Mpixels/sec
  339. 59.766651 frames/sec - 66.699582 Mpixels/sec
  340. 59.969403 frames/sec - 66.925853 Mpixels/sec
  341. 59.677892 frames/sec - 66.600528 Mpixels/sec
  342. 59.888442 frames/sec - 66.835501 Mpixels/sec
  343. 59.831687 frames/sec - 66.772163 Mpixels/sec
  344. 59.818511 frames/sec - 66.757458 Mpixels/sec
  345. ^C
  346. ┌──[just]─[alexatp]:~$
  347. └─>
  348. ```
  349. 6.b Running on Nvidia, higher FPS, accelerated
  350. ```
  351. ┌──[just]─[alexatp]:~$
  352. └─> optirun -c jpeg glxspheres64
  353. Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
  354. Visual ID of window: 0x20
  355. Context is Direct
  356. OpenGL Renderer: GeForce GT 555M/PCIe/SSE2
  357. 200.413514 frames/sec - 223.661482 Mpixels/sec
  358. 199.517629 frames/sec - 222.661675 Mpixels/sec
  359. 202.536455 frames/sec - 226.030684 Mpixels/sec
  360. 204.965754 frames/sec - 228.741782 Mpixels/sec
  361. 205.965920 frames/sec - 229.857967 Mpixels/sec
  362. 198.738659 frames/sec - 221.792344 Mpixels/sec
  363. 201.750740 frames/sec - 225.153826 Mpixels/sec
  364. ^C[ 521.268776] [WARN]Received Interrupt signal.
  365. ┌──[just]─[alexatp]:~$
  366. └─>
  367. ```
  368. Acceleration = 225 / 67 = 3.4x. Good.
  369. Rigorous tests.
  370. 1. Automatic power saving feature (automatic bbswitch)
  371. ```
  372. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  373. └─> optirun --status
  374. Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
  375. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  376. └─> optirun pwd
  377. /1st/tmp/bmbtest
  378. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  379. └─> optirun --status
  380. Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
  381. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  382. └─>
  383. ```
  384. Nvidia is OFF after multiple optirun executions. Perfect.
  385. 2. Manual power saving tweaking (bbswitch by hand)
  386. ```
  387. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  388. └─> optirun --status
  389. Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
  390. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  391. └─> sudo cat /proc/acpi/bbswitch
  392. 0000:01:00.0 OFF
  393. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  394. └─>
  395. ```
  396. Low-level Nvidia interrogation returns the same result as the high-level optirun: Nvidia is OFF. Perfect.
  397. Forcing Nvidia ON by hand. There's no high-level analog for the command:
  398. ```
  399. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  400. └─> optirun --status
  401. Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
  402. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  403. └─> sudo tee /proc/acpi/bbswitch <<<ON
  404. ON
  405. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  406. └─> optirun --status
  407. Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is on.
  408. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  409. └─> sudo cat /proc/acpi/bbswitch
  410. 0000:01:00.0 ON
  411. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  412. └─>
  413. ```
  414. Nvidia is force ON and remains in that state. Perfect.
  415. Forcing it OFF again (a normal state):
  416. ```
  417. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  418. └─> sudo tee /proc/acpi/bbswitch <<<OFF
  419. OFF
  420. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  421. └─> sudo cat /proc/acpi/bbswitch
  422. 0000:01:00.0 OFF
  423. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  424. └─> optirun --status
  425. Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
  426. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  427. └─>
  428. ```
  429. Both low- and high-level interrogations return OFF. Perfect.
  430. 3. Nvidia modules unload
  431. When optirun turns Nvidia ON, it loads three modules in the memory:
  432. - nvidia_drm
  433. - nvidia_modeset
  434. - nvidia
  435. When optirun exits, it must automatically unload them. So a manual attempt to unload them must fail. Is that true?
  436. ```
  437. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  438. └─> sudo rmmod nvidia_drm nvidia_modeset nvidia
  439. rmmod: ERROR: Module nvidia_drm is not currently loaded
  440. rmmod: ERROR: Module nvidia_modeset is not currently loaded
  441. rmmod: ERROR: Module nvidia is not currently loaded
  442. ┌──[just]─[alexatp]:/1st/tmp/bmbtest$
  443. └─>
  444. ```
  445. Yes, it's true. Nvidia is turned OFF, all its modules are unloaded. Perfect.
  446. All strictly Bmb-related tests are finished. All checkss are successfully passed by nvidia-installer-0.0.5.
  447. 2017-01-18 17:00
  448. --
  449. What about nvidia-settings.desktop adjustments? It returned the error:
  450. ```
  451. 2017-01-18 14:31:45 [WARNING]: Cannot patch /usr/share/applications/nvidia-settings.desktop file : sed: -e expression #1, char 1: unknown command: `''
  452. ```
  453. The file still contains the default, wrong on Optimus utility invocation:
  454. ```
  455. ┌──[just]─[alexatp]:~$
  456. └─> sudo cat /usr/share/applications/nvidia-settings.desktop | grep Exec=
  457. Exec=/usr/bin/nvidia-settings
  458. ┌──[just]─[alexatp]:~$
  459. └─>
  460. ```
  461. From nvidia-installer-0.0.5 source
  462. ```
  463. # Fix nvidia-settings.desktop
  464. desktop_path = "/usr/share/applications/nvidia-settings.desktop"
  465. if os.path.exists(desktop_path):
  466. log_info("Patching {}...".format(desktop_path))
  467. cmd = ["sed", "-i", "'s/Exec=nvidia-settings/Exec=optirun -b none nvidia-settings -c :8/'", "/usr/share/applications/nvidia-settings.desktop"]
  468. if TEST:
  469. log_info(" ".join(cmd))
  470. else:
  471. try:
  472. subprocess.check_output(cmd, stderr=subprocess.STDOUT)
  473. except subprocess.CalledProcessError as err:
  474. log_warning("Cannot patch {0} file : {1}".format(desktop_path, err.output.decode()))
  475. else:
  476. log_info("Could not find {0} file. Is nvidia-settings installed?".format(desktop_path))
  477. ```
  478. The sed is not quite correctl:
  479. ```
  480. ..."'s/Exec=nvidia-settings/Exec=optirun -b none nvidia-settings -c :8/'"...
  481. ```
  482. First, Exec= uses fully qualified path. My bad, I didn't tell it to @karasu. The actual command is:
  483. ```
  484. Exec=/usr/bin/nvidia-settings
  485. ```
  486. so the sed becomes:
  487. ```
  488. ..."'s/Exec=/usr/bin/nvidia-settings/Exec=optirun -b none nvidia-settings -c :8/'"...
  489. ```
  490. But there are slashes in the string, so either we must use backslashes to quote slashes:
  491. ```
  492. "'s/Exec=\/usr\/bin\/nvidia-settings/Exec=optirun -b none \/usr\/bin\/nvidia-settings -c :8/'", "/usr/share/applications/nvidia-settings.desktop"
  493. ```
  494. or simply use another delimiter in sed. I like to use pipe:
  495. ```
  496. "'s|Exec=/usr/bin/nvidia-settings|Exec=optirun -b none /usr/bin/nvidia-settings -c :8|'", "/usr/share/applications/nvidia-settings.desktop"
  497. ```
  498. Applying in terminal what is said above:
  499. - unmodified nvidia-settings.desktop
  500. - running sed
  501. - modified nvidia-settings.desktop
  502. Using backslashes:
  503. ```
  504. ┌──[just]─[alexatp]:~$
  505. └─> sudo cat /usr/share/applications/nvidia-settings.desktop | grep Exec=
  506. Exec=/usr/bin/nvidia-settings
  507. ┌──[just]─[alexatp]:~$
  508. └─> sudo sed -i 's/Exec=\/usr\/bin\/nvidia-settings/Exec=optirun -b none \/usr\/bin\/nvidia-settings -c :8/' /usr/share/applications/nvidia-settings.desktop
  509. ┌──[just]─[alexatp]:~$
  510. └─> sudo cat /usr/share/applications/nvidia-settings.desktop | grep Exec=
  511. Exec=optirun -b none /usr/bin/nvidia-settings -c :8
  512. ┌──[just]─[alexatp]:~$
  513. └─>
  514. ```
  515. The file /usr/share/applications/nvidia-settings.desktop was modified as needed.
  516. Restoring the original /usr/share/applications/nvidia-settings.desktop.
  517. Using pipes:
  518. ```
  519. ┌──[just]─[alexatp]:~$
  520. └─> sudo cat /usr/share/applications/nvidia-settings.desktop | grep Exec=
  521. Exec=/usr/bin/nvidia-settings
  522. ┌──[just]─[alexatp]:~$
  523. └─> sudo sed -i 's|Exec=/usr/bin/nvidia-settings|Exec=optirun -b none /usr/bin/nvidia-settings -c :8|' /usr/share/applications/nvidia-settings.desktop
  524. ┌──[just]─[alexatp]:~$
  525. └─> sudo cat /usr/share/applications/nvidia-settings.desktop | grep Exec=
  526. Exec=optirun -b none /usr/bin/nvidia-settings -c :8
  527. ┌──[just]─[alexatp]:~$
  528. └─>
  529. ```
  530. The file /usr/share/applications/nvidia-settings.desktop was modified as needed.
  531. All tests are finished.
  532. Nvidia-installer-0.0.5 has passed almost all checks. The only one failed is nvidia-settings.desktop not adjusted to run correctly on Optimus. It's enough to slightly correct sed instructions to solve the inconvenience.
  533. Regards

Antergos nvidia-installer 0.0.5.

Full report.