Skip to content

Commit 455a70b

Browse files
committed
Update README with distribution specific build steps
1 parent 0c6cf94 commit 455a70b

File tree

1 file changed

+86
-19
lines changed

1 file changed

+86
-19
lines changed

README.markdown

+86-19
Original file line numberDiff line numberDiff line change
@@ -11,49 +11,116 @@ Because a picture is worth a thousand words:
1111

1212
![NVTOP interface](/screenshot/NVTOP_ex1.png)
1313

14-
Dependencies
15-
------------
16-
17-
Three libraries are required:
18-
19-
* The NVIDIA Management Library (NVML).
20-
* This queries the GPU for information.
21-
* The ncurses library driving the user interface.
22-
* This makes the screen look beautiful.
14+
Table of Contents
15+
-----------------
16+
17+
1. [NVTOP Options and Interactive Commands](#nvtop-options-and-interactive-commands)
18+
1. [GPU Support](#gpu-support)
19+
1. [Build](#build)
20+
1. [Ubuntu / Debian](#ubuntu--debian)
21+
1. [Fedora / RedHat / CentOS](#fedora--redhat--centos)
22+
1. [OpenSUSE](#opensuse)
23+
1. [Archlinux](#archlinux)
24+
1. [NVTOP Build](#nvtop-build)
25+
1. [License](#license)
26+
27+
NVTOP Options and Interactive Commands
28+
--------------------------------------
29+
30+
NVTOP comes with a manpage!
31+
```bash
32+
man nvtop
33+
```
34+
For quick command line arguments help
35+
```bash
36+
nvtop -h
37+
nvtop --help
38+
```
2339

24-
Limitations
40+
GPU Support
2541
-----------
2642

27-
The NVML library does not support some of the queries for GPUs coming before the
43+
The *NVML library* does not support some of the queries for GPUs coming before the
2844
Kepler microarchitecture. Anything starting at GeForce 600, GeForce 800M and
2945
successor should work fine. For more information about supported GPUs please
3046
take a look at the [NVML documentation](http://docs.nvidia.com/deploy/nvml-api/nvml-api-reference.html#nvml-api-reference).
3147

3248
Build
3349
-----
3450

35-
CMAKE is used as build manager.
51+
Two libraries are required:
52+
53+
* The *NVIDIA Management Library* (*NVML*) which comes with the GPU driver.
54+
* This queries the GPU for information.
55+
* The *ncurses* library driving the user interface.
56+
* This makes the screen look beautiful.
57+
3658

37-
To build the binary on Linux:
59+
## Distribution Specific Installation Process
60+
61+
### Ubuntu / Debian
62+
63+
- NVIDIA drivers (see [Ubuntu Wiki](https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia) or [Ubuntu PPA](https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa) or [Debian Wiki](https://wiki.debian.org/NvidiaGraphicsDrivers#NVIDIA_Proprietary_Driver))
64+
- CMake, ncurses and git
65+
```bash
66+
sudo apt install cmake libncurses5-dev git
67+
```
68+
- NVTOP
69+
- Follow the [NVTOP Build](#nvtop-build)
70+
71+
### Fedora / RedHat / CentOS
72+
73+
- NVIDIA drivers, **CUDA required for nvml libraries** (see [RPM Fusion](https://rpmfusion.org/Howto/NVIDIA))
74+
- CMake, ncurses and git
75+
```bash
76+
sudo dnf install cmake ncurses-devel git
77+
```
78+
- NVTOP
79+
- Follow the [NVTOP Build](#nvtop-build)
80+
81+
### OpenSUSE
82+
83+
- NVIDIA drivers (see [SUSE Support Database](https://en.opensuse.org/SDB:NVIDIA_drivers))
84+
- CMake, ncurses and git
85+
```bash
86+
sudo zypper install cmake ncurses-devel git
87+
```
88+
- NVTOP
89+
- Follow the [NVTOP Build](#nvtop-build)
90+
91+
### Archlinux
92+
93+
- NVIDIA drivers (see [Archlinux wiki](https://wiki.archlinux.org/index.php/NVIDIA))
94+
- CMake, ncurses and git
95+
```bash
96+
sudo pacman -S cmake ncurses git
97+
```
98+
- NVTOP
99+
- The `nvtop` AUR package
100+
- Follow the [NVTOP Build](#nvtop-build)
101+
102+
## NVTOP Build
38103

39104
```bash
40-
mkdir build && cd build
105+
git clone https://github.com/Syllo/nvtop.git
106+
mkdir -p nvtop/build && cd nvtop/build
41107
cmake ..
108+
109+
# If it errors with "Could NOT find NVML (missing: NVML_INCLUDE_DIRS)"
110+
# try the following command instead, otherwise skip to the build with make.
111+
cmake .. -DNVML_RETRIEVE_HEADER_ONLINE=True
112+
42113
make
43114
make install # You may need sufficent permission for that (root)
44115
```
45116

46-
The build system support multiple build type (-DCMAKE_BUILD_TYPE):
117+
The build system supports multiple build type (e.g. -DCMAKE_BUILD_TYPE=Optimized):
47118

48119
* Release: Binary without debug information
49120
* RelWithDebInfo: Binary with debug information
50121
* Debug: Compile warning flags and address/undefined sanitizer (For development only)
51122
* Optimized: Build with architecture specific optimisations (May be not portable across machines with different processor)
52123

53-
Build Options
54-
-------------
55-
56-
None for the moment.
57124

58125
License
59126
-------

0 commit comments

Comments
 (0)