Git Product home page Git Product logo

envycontrol's Introduction

EnvyControl

EnvyControl is a program aimed to provide an easy way to switch GPU modes on Nvidia Optimus systems (i.e laptops with Intel + Nvidia or AMD + Nvidia configurations) under Linux.

License

Envycontrol is licensed under the MIT license which is a permissive, free software license (see LICENSE).

Compatible distros

EnvyControl should work on any distribution of Linux, see tested distros.

If you're using Ubuntu please read this.

Supported display managers

  • GDM
  • SDDM
  • LightDM

If your display manager isn't currently supported by EnvyControl you might have to manually configure it.

A note for SDDM users

If /usr/share/sddm/scripts/Xsetup file is missing on your system please run sudo envycontrol --reset_sddm.

Supported graphics modes

  • integrated
  • hybrid
  • nvidia (X.org only)

Read a detailed explanation here.

Get EnvyControl

Arch Linux and its derivatives

Install the envycontrol package from the AUR manually or by using an AUR helper:

# with Paru
paru -S envycontrol

# with Yay
yay -S envycontrol

# with Pamac (Manjaro)
pamac install envycontrol

Now you can run sudo envycontrol -s <MODE> to switch graphics modes.

Other distros

  • Clone this repository with git clone https://github.com/geminis3/envycontrol.git or download the latest tarball from the releases page.
  • Run sudo python envycontrol.py -s <MODE> from the root of the repository to switch to a different graphics mode.

You can also install EnvyControl globally as a pip package:

  • From the root of the cloned repository run sudo pip install .
  • Now you can run sudo envycontrol -s <MODE> from any directory to switch graphics modes.

Usage

usage: envycontrol.py [-h] [-v] [-s MODE] [-q] [--dm DISPLAY_MANAGER] [--reset_sddm]

options:
  -h, --help            show this help message and exit
  -v, --version         show this program's version number and exit
  -s MODE, --switch MODE
                        switch the graphics mode, supported modes: integrated, hybrid, nvidia
  -q, --query           query the current graphics mode set by EnvyControl
  --dm DISPLAY_MANAGER  Manually specify your Display Manager. This is required only for systems without systemd. Supported DMs: gdm, sddm, lightdm
  --reset_sddm          restore original SDDM Xsetup file

Examples

Set current graphics mode to integrated (power off the Nvidia dGPU):

sudo envycontrol -s integrated

Set current graphics mode to nvidia (automatic display manager setup)

sudo envycontrol -s nvidia

Set current graphics mode to nvidia and setup SDDM display manager

sudo envycontrol -s nvidia --dm sddm

Query the current graphics mode:

envycontrol --query

New in 2.0

The following options can now be enabled when switching graphics mode:

hybrid

  • RTD3 power management (for Turing and newer GPUs)

nvidia

  • ForceCompositionPipeline (fixes tearing on external screens wired to the Nvidia GPU)
  • Coolbits (allows overclocking on supported GPUs)

Frequently Asked Questions

See here.

Also read fixes for some common problems

What to do if you have found a bug

Feel free to open an issue, don't forget to provide some basic info.

  • Linux distribution
  • Linux kernel version and type
  • Desktop Environment or Window Manager as well as your Display Manager
  • Nvidia driver version
  • EnvyControl version

envycontrol's People

Contributors

bayasdev avatar davikingman avatar cronyakatsuki avatar gsegalini avatar luciogi avatar mphe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.