Skip to main content

nvx

Simple script running nvidia-settings (with anti-tearing) based on your configured layout

PyPI version

Configuration

The configuration is stored in the file ~/.config/nvx/nvx.conf. It is a simple INI file, which contains the following sections:

  • Layout: defines the layout matrix using the screen indices and can have multiple rows.
  • Screens: must be called Screen_<screen index> and defines the screen properties.

Example

# $HOME/.config/nvx/nvx.conf
[Layout]
Row_1 = 0 4 0
Row_2 = 1 2 3

[Screen_0]
ScreenID = DUMMY-0
ScreenName = Dummy 0
ScreenResolution = 2560x1440
ScreenRefreshRate = 0

[Screen_1]
ScreenID = DP-4
ScreenName = Left Screen
ScreenResolution = 2560x1440
ScreenRefreshRate = 144

[Screen_2]
ScreenID = DP-0
ScreenName = Center Screen
ScreenResolution = 2560x1440
ScreenRefreshRate = 144

[Screen_3]
ScreenID = DP-2
ScreenName = Right Screen
ScreenResolution = 2560x1440
ScreenRefreshRate = 144

[Screen_4]
ScreenID = DP-3
ScreenName = Top Screen
ScreenResolution = 2560x1440
ScreenRefreshRate = 144

Notes:

  • A dummy screen maybe used for offsetting the screens, you must call is DUMMY-<index>

Installation

Using pip

pip3 install nvx

Running

⚠️ Running nvx for the first time without prior configuration will write the default config. Make sure to properly edit the generated configuration before running nvx again (you can use the output from xrandr to figure out the screen properties). Improperly configured screens could result in a black screen when running the script.

$ nvx --help
usage: main.py [-h] [-w WRAP] [layout ...]

Configure nvidia-settings for multiple screens

positional arguments:
  layout                Screen layout, e.g. 1 2 3, defaults to config file

options:
  -h, --help            show this help message and exit
  -w WRAP, --wrap WRAP  Number of screens per row, e.g. 2 with 4 screens will result in 2x2 layout, infinite if not set
$ nvx # runs using the default configuration
$ nvx 1 2 3 # overrides the layout to [1][2][3] with corresponding screens ids from the configuration
$ nvx 1 2 3 4 --wrap 2 # makes a 2x2 layout: [1][2]
                       #                     [3][4]

Metadata

Release files for nvx 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nvx 0.2.0
File Size Uploaded
nvx-0.2.0.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nvx 0.2.0
File Interpreter ABI Platform
nvx-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.3 kB

Release files / nvx-0.2.0.tar.gz

Download URL nvx-0.2.0.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5be2c6cf96d6dc6189fda122952b179f69fce83c42f3bf98226457eb475ffb27
BLAKE2b-256 checksum
How to use checksums
045b966dffd4ec8febd3b56559298bd8b3a7ffe95b1d6e1425c6331424c6c99e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.3 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.6

Release files / nvx-0.2.0-py3-none-any.whl

Download URL nvx-0.2.0-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f9389ae246d7cc519ec47c9880821299f1d11089c852eb0faa30db72a6be33c3
BLAKE2b-256 checksum
How to use checksums
913f9018a2b789ca4005402f645995028b43798764b444330de36ee885826f34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.3 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page