[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
howtos:hardware:nvidia_optimus [2014/12/23 20:55 (UTC)] tommychowtos:hardware:nvidia_optimus [2015/01/31 17:21 (UTC)] – Added temporary announcement about newer nvidia makefiles tommyc
Line 1: Line 1:
 <!-- Reviewed 20130114 by hazel --> <!-- Reviewed 20130114 by hazel -->
 ====== Nvidia Optimus ====== ====== Nvidia Optimus ======
 +<note warning>
 +**Temporary Announcement:** Some newer versions of the Nvidia drivers had changed their Makefiles and may have installed some files into /usr/local/lib. You may want to remove those (and if you do, it must be done manually). For more information, check out [[http://www.linuxquestions.org/questions/slackware-14/new-nvidia-settings-broken-4175532224/|this thread]].</note>
 Some newer laptops nowadays come with what is known as "nVidia Optimus" technology. This is an nVidia and Intel hybrid graphical processing unit (GPU); it is NOT two separate GPUs in one laptop. It uses nVidia graphics for performance and Intel graphics for power saving during basic usage. Unfortunately the closed source proprietary drivers do not offer a means for adjusting or switching between the two, unlike those from Advanced Micro Devices Inc. (AMD). Some newer laptops nowadays come with what is known as "nVidia Optimus" technology. This is an nVidia and Intel hybrid graphical processing unit (GPU); it is NOT two separate GPUs in one laptop. It uses nVidia graphics for performance and Intel graphics for power saving during basic usage. Unfortunately the closed source proprietary drivers do not offer a means for adjusting or switching between the two, unlike those from Advanced Micro Devices Inc. (AMD).
  
Line 93: Line 95:
 <note>Bumblebee can use either primusrun (requires a mesa rebuild in Slackware 14.0 and below) or bumblebee's own optirun. Take your pick which one you would like to use (or you can install both). Each one has their own advantages and disadvantages. <note>Bumblebee can use either primusrun (requires a mesa rebuild in Slackware 14.0 and below) or bumblebee's own optirun. Take your pick which one you would like to use (or you can install both). Each one has their own advantages and disadvantages.
 </note> </note>
 +
 +=== Primus ===
 +Primus, like optirun (instructions below) can be used to run your desired program via bumblebee. Primus also comes with a COMPAT32 option as well.
 +
 +<note warning>
 +If you are using Slackware 14.0 or older you need to rebuild mesa. The new github repository does not offer a SlackBuild for mesa to support Slackware 14.0 or older. Therefore you must use Slackware 14.1 or newer, or rebuild mesa manually with a different script. One can choose to use the old repository and simply update the SlackBuild script appropriately, or add ''%%--%%enable-shared-glapi'' into a mesa.SlackBuild from the source of a newer Slackware version.
 +<code>
 +# # For the old repository, one would have done:
 +# cd ../mesa
 +# ./mesa.SlackBuild
 +</code>
 +mesa does not have a COMPAT32 option because it is an official Slackware package, but you can easily create the compat32 package after creating the original package by using:
 +<code>
 +# ./mesa-compat32.SlackBuild # Only in the old repository
 +</code>
 +</note>
 +
 +1. Build and install: primus
 +<code>
 +# cd ../primus
 +# ./primus.SlackBuild
 +# upgradepkg --install-new primus-*.t?z
 +</code>
 +<code>
 +# COMPAT32=yes ./primus.SlackBuild
 +</code>
  
 === VirtualGL === === VirtualGL ===
 +VirtualGL provides support for optirun that also allows one to run programs via bumblebee. However, it is recommended that one uses primusrun for a few reasons. 
 <note warning> <note warning>
 Although VirtualGL (and its dependency libjpeg-turbo) are still supported by the Bumblebee project and maintained by their developers, the new github repo does not include SlackBuild scripts for these packages. This section is for the old github repository that was once maintained by jgeboski. If you would like to use VirtualGL (e.g. you're in one of the rare cases where VirtualGL provides better performance than primus) then you can use your own personal SlackBuilds or the old ones (although the old SlackBuilds will be out-of-date). Although VirtualGL (and its dependency libjpeg-turbo) are still supported by the Bumblebee project and maintained by their developers, the new github repo does not include SlackBuild scripts for these packages. This section is for the old github repository that was once maintained by jgeboski. If you would like to use VirtualGL (e.g. you're in one of the rare cases where VirtualGL provides better performance than primus) then you can use your own personal SlackBuilds or the old ones (although the old SlackBuilds will be out-of-date).
Line 122: Line 151:
 <code> <code>
 # COMPAT32=yes ./VirtualGL.SlackBuild # COMPAT32=yes ./VirtualGL.SlackBuild
-</code> 
- 
-=== Primus === 
-Primus is another program designed to be used much like optirun. However, primus does not require VirtualGL (and therefore will not require libjpeg-turbo as well) but only requires mesa with %%--%%enable-shared-glapi (Slackware 14.0 and below must have mesa rebuilt). Primus also comes with a COMPAT32 option as well. 
- 
-<note warning> 
-The new github repository does not offer a SlackBuild for mesa to support Slackware 14.0 or older. Therefore you must use Slackware 14.1 or newer, or rebuild mesa manually with a different script. One can choose to use the old repository and simply update the SlackBuild script appropriately, or add ''%%--%%enable-shared-glapi'' into a mesa.SlackBuild from the source of a newer Slackware version. 
-<code> 
-# # For the old repository, one would have done: 
-# cd ../mesa 
-# ./mesa.SlackBuild 
-</code> 
-mesa does not have a COMPAT32 option because it is an official Slackware package, but you can easily create the compat32 package after creating the original package by using: 
-<code> 
-# ./mesa-compat32.SlackBuild # Only in the old repository 
-</code> 
-</note> 
- 
-1. Build and install: primus 
-<code> 
-# cd ../primus 
-# ./primus.SlackBuild 
-# upgradepkg --install-new primus-*.t?z 
-</code> 
-<code> 
-# COMPAT32=yes ./primus.SlackBuild 
 </code> </code>
  
 howtos:hardware:nvidia_optimus ()