Difference between revisions of "Nvidia-xrun"

From ArchWiki
Jump to: navigation, search
m (Setting the right bus id: Fix typo: setted -> set)
m (Fixed confusing/broken english)
 
Line 9: Line 9:
 
* {{Pkg|bbswitch}}
 
* {{Pkg|bbswitch}}
 
* {{AUR|nvidia-xrun}} or {{AUR|nvidia-xrun-git}}
 
* {{AUR|nvidia-xrun}} or {{AUR|nvidia-xrun-git}}
* a [[Window manager]], such as {{Pkg|openbox}} it only for running applications,becasue running some applications (such as Steam) directly with nvidia-xrun does not work well, use some window manager like openbox will be better.
+
* a [[Window manager]], such as {{Pkg|openbox}} if only for running applications,because running some applications (such as Steam) directly with nvidia-xrun does not work well, using a window manager like openbox will work better.
 +
 
 
== Configuration ==
 
== Configuration ==
 
=== Setting the right bus id ===
 
=== Setting the right bus id ===

Latest revision as of 10:44, 11 September 2018

nvidia-xrun is a utility to run separate X with discrete nvidia graphics. This solution offers a bit more complicated procedure but offers a full GPU utilization(in terms of linux drivers).

Installation

Install:

Configuration

Setting the right bus id

If you install nvidia-xrun from AUR,you can skip this step,the bus id has been already set in /etc/X11/nvidia-xorg.conf

If you down nvidia-xrun form [nvidia-xrun github repo],perhaps you should set the bus id.

check your display device's bus id

 $ lspci | grep NVIDIA

You will find your bus id.Usually the 1:0:0 bus is correct. If this is not your case(you can find out through lspci or bbswitch output mesages) you can create a conf script for example nano /etc/X11/nvidia-xorg.conf.d/30-nvidia.conf to set the proper bus id:

/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:2:0:0"
EndSection

Also this way you can adjust some nvidia settings if you encounter issues:

/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    #  Option "AllowEmptyInitialConfiguration" "Yes"
    #  Option "UseDisplayDevice" "none"
EndSection

Automatically run window manager

For convenience you can create nano ~/.nvidia-xinitrc and put there your favourite window manager:

 openbox-session

With this you do not need to specify the app and you can simply run:

 nvidia-xrun

Use bbswitch to manage nvidia

When the nvidia card is not needed, bbswitch can be used to turn it off. The nvidia-xrun script will automatically take care of running a window manager and waking up the nvidia card. To achieve that, you need to:

  • Load bbswitch module on boot
 # echo 'bbswitch ' > /etc/modules-load.d/bbswitch.conf
  • Disable the nvidia module on boot:
 # echo 'options bbswitch load_state=0 unload_state=1' > /etc/modprobe.d/bbswitch.conf 

After a reboot, the nvidia card will be off. This can be seen by querying bbswitch's status:

 $ cat /proc/acpi/bbswitch  

To force the card to turn on/off respectively run:

 # tee /proc/acpi/bbswitch <<<OFF
 # tee /proc/acpi/bbswitch <<<ON

For more about bbswitch see Bumblebee-Project/bbswitch

Usage

  1. switch to free tty
  2. login
  3. run nvidia-xrun [app]

Troubleshooting

Running Steam directly with nvidia-xrun does not work well, use some window manager like openbox will be better.