NextTabletDriver
A high-performance user-mode drawing tablet driver written in Rust, designed to minimize input lag. A modern alternative to OpenTabletDriver.
NextTabletDriver
A fast, free and open-source driver for drawing tablets.
Made for osu!, and for everyday pen input.
Attribution notice: The tablet definitions in
tablets/OpenTabletDriverare a git submodule that points to the OpenTabletDriver project. That project uses the GNU Lesser General Public License v3.0 (LGPLv3). The submodule keeps this content separate from NextTabletDriver's own MIT license. It is not copied into the MIT-licensed source code. See License.
What is NextTabletDriver?
A tablet driver is the program that turns the movement of your pen into the movement of the cursor on your screen. NextTabletDriver is a driver that you can use instead of the one from your tablet's maker. It reads the tablet directly, so it does not need that driver.
It works with tablets from many brands, so you can use one driver for all of them. It is written in Rust with a focus on low input delay.
What it can do
- Absolute and relative mode. Map a part of your tablet to a part of your screen, or move the cursor like a mouse.
- A visual area editor. Set the size, position and rotation of the area you use. Lock the aspect ratio, snap to the edges of your screens, and show where the osu! playfield sits inside your area.
- Pressure settings. Choose how hard you must press for a click, and reshape the pressure with a curve.
- Profiles. Save your settings, switch between them from the menu or the tray, share them as files, and import your settings from OpenTabletDriver.
- Plugins. Add filters that smooth the pen path. You can write your own.
- Themes. Pick a built-in theme, or make one in a small JSON file.
- Live data for other programs. A local WebSocket server for stream overlays, and an SDK to embed the driver in your own program.
- Runs quietly. It can start with your computer and live in the system tray.
Supported tablets
NextTabletDriver reads its tablet definitions from OpenTabletDriver. It includes more than 350 of them, from 26 brands, including:
- Wacom (Intuos, Bamboo, Cintiq and more)
- Huion (including Kamvas)
- XP-Pen and UGEE
- Gaomon, VEIKK, Artisul, Parblo, XenceLabs, UC-Logic, and others
A definition only works if this project also has the matching parser, the code that reads that tablet's data. Not every tablet has been tested. If yours does not work, see Adding a tablet. Help is welcome.
Windows and Linux
| Windows 10 and 11 | Linux (X11 and Wayland) | |
|---|---|---|
| Cursor position and click | Yes | Yes |
| Pressure and tilt sent to other programs | No. The driver acts like a mouse. | Yes |
| Extra setup | None | udev rules |
On Windows, osu! works well, because it only needs position and a click. Drawing programs that need pressure do not get it yet.
Install
Windows
- Download
NextTabletDriver_<version>_x64-setup.exefrom the releases page. On an ARM PC, download thearm64file. - Run it. If an older version from the Inno Setup installer is present, it is removed first.
- Start NextTabletDriver and plug in your tablet.
The installer is not code-signed yet, so Windows SmartScreen may show a warning. Choose More info, then Run anyway.
Linux
The releases page has a .deb package (Debian and Ubuntu) and an AppImage, for x86_64 and ARM64. Linux needs permission to use your tablet and /dev/uinput. The Linux setup guide shows how, and also covers Arch Linux and NixOS.
Build from source
See Development.
Quick start
- Plug in your tablet and start NextTabletDriver. The footer shows your tablet's name.
- Open the Output tab. Set the display area to match your screen, and choose how much of the tablet you want to use.
- Pick Absolute Mode in the footer.
- Press Ctrl+S to keep your settings.
The Getting started guide explains every tab.
Documentation
| I want to... | Read |
|---|---|
| Install and set up my tablet | Getting started |
| Fix a problem | Troubleshooting |
| Set up Linux | Linux setup |
| Smooth my pen movement | Plugins |
| Write a plugin | Plugin development |
| Change the colors | Themes |
| Use pen data in another program | Integrations |
| Get a new tablet supported | Adding a tablet |
| Understand how it works | Architecture |
| Build it and send a change | Development and Contributing |
All guides are listed in docs/.
Privacy
NextTabletDriver does not collect or send usage data. It contacts GitHub only to check for updates, to show release notes, and to show the list of contributors. Its WebSocket server is off by default and only accepts connections from your own computer.
Known limitations
- On Windows, pressure and tilt are not sent to other programs.
- The pen's side buttons and the eraser are not forwarded yet.
- The installers do not include any plugin yet. See Plugins.
- The interface is in English only.
The full list, with workarounds, is in Troubleshooting.
Contributing
NextTabletDriver is open source and welcomes help. Good first contributions are adding a tablet, fixing a parser bug, improving Linux packaging, making a theme, and polishing the interface. Read CONTRIBUTING.md to start, and Development to build the project.
Need help or found a security problem? See SUPPORT.md and SECURITY.md.
License
NextTabletDriver is distributed under the MIT License. See LICENSE.
Third-party licenses
The tablet definitions in tablets/OpenTabletDriver come from OpenTabletDriver, which uses the GNU Lesser General Public License v3.0 (LGPLv3). This submodule is a separate component under the terms of the LGPLv3. It is not relicensed under NextTabletDriver's MIT license. You can read the full LGPLv3 text at gnu.org/licenses/lgpl-3.0.
Copyright © OpenTabletDriver contributors.