Make the GPU selection FAQ item not require root

This commit is contained in:
Fredrick Brennan 2021-11-28 11:59:26 -05:00
parent 5e78b1c23e
commit 0dc8bd5520

View File

@ -387,20 +387,24 @@ to the OS immediately.
Why does kitty sometimes start slowly on my Linux system? Why does kitty sometimes start slowly on my Linux system?
------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------
|kitty| takes no longer (within a 100ms) to start than other similar GPU terminal emulators, |kitty| takes no longer (within 100ms) to start than other similar GPU terminal
(and may be faster than some). If |kitty| occasionally takes a long time to emulators, (and may be faster than some). If |kitty| occasionally takes a long
start, it could be a power management issue of the graphics card. On a time to start, it could be a power management issue with the graphics card. On
multi-GPU system (which many modern laptops are, having a power efficient GPU a multi-GPU system (which many modern laptops are, having a power efficient GPU
that's built into the processor and a power hungry dedicated one that's usually that's built into the processor and a power hungry dedicated one that's usually
off), even if the answer of the GPU will only be "don't use me", the GPU still off), even if the answer of the GPU will only be "don't use me".
needs to be woken up to ask it. You can keep your GPU always on by looking for
it in ``lspci``::
# lspci | grep NVIDIA For example, if you have a system with an AMD CPU and an NVIDIA GPU, and you
01:00.0 VGA compatible controller: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] (rev a1) know that you want to use the lower powered card to save battery life and
because kitty does not require a powerful GPU to function, you can choose not
to wake up the dedicated card, which has been reported on at least one system
(:iss:`4292`) to take ≈2 seconds, by running |kitty| as::
Then telling it to always be on:: MESA_LOADER_DRIVER_OVERRIDE=radeonsi __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json kitty
# echo on > /sys/bus/pci/devices/0000':01:00.0'/power/control The correct command will depend on your situation and hardware.
|__EGL_VENDOR_LIBRARY_FILENAMES| instructs the GL dispatch library to use
On at least one system :iss:`4292`, this saved ≈2 seconds of |kitty| start up time. `libEGL_mesa.so` and ignore the `libEGL_nvidia.so` also available on the
system, which will wake the NVIDIA card during device enumeration.
|MESA_LOADER_DRIVER_OVERRIDE| also assures that Mesa won't offer any NVIDIA
card during enumeration, and will instead just use `/lib/dri/radeonsi_dri.so`.