1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
---
title: "Software Requirements"
permalink: /software-requirements
---
# Software Requirements
**Note:** If using the official Windows packages, no additional software is required.
## Supported Operating Systems
* Linux
* Windows (Vista SP2 or later)
* **Note:** The Windows port uses `pd0`, (`pd1`, ...) devices
for physical drives 0, (1, ...).
* FreeBSD
* NetBSD
* OpenBSD
* DragonFlyBSD
* macOS
* Solaris
* QNX (code written but no testing has been performed yet).
## Build Requirements
**Note:** These are required only if you're building GSmartControl from source code.
* [GTK+ 3](https://www.gtk.org) library, version 3.4 or higher.
* [Gtkmm](https://www.gtkmm.org) library, version 3.4 or higher.
* C++20 Compiler (GCC 11 or later, Clang/libc++ 17 or later, Apple Clang 15 or later)
* [CMake](https://cmake.org), version 3.14 or higher.
### Building from Source
1. Install the dependencies using your package manager.
2. Clone or extract GSmartControl source code. We assume the directory is named `gsmartcontrol`.
3. Build GSmartControl using the following commands:
```bash
cd gsmartcontrol
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
```
## Runtime Requirements
**Note:** The Windows packages already include all the required software.
* [Smartmontools](https://www.smartmontools.org/). Windows users have an option to
install a separate version of smartmontools on their systems, and GSmartControl will automatically use it.
* xterm (optional, needed to run `update-smart-drivedb` on Linux / Unix systems).
|