paintstorm-distrobox-legacy
README.md
Paintstorm Studio Distrobox Setup
A complete setup script to run Paintstorm Studio v2.50 in an Ubuntu 20.04 distrobox container on modern Linux systems, with full tablet pressure and tilt support using native Linux HID drivers.
Features
Complete Installation
- Automated Ubuntu 20.04 container creation
- GLEW 1.13.0 built from source
- All required dependencies installed
- Font crash prevention configured
Tablet Support (Native HID - RECOMMENDED)
- Full pressure sensitivity (0-8191 levels)
- Tilt support (X/Y angles)
- Hidraw device passthrough for pressure/tilt data
- Button mapping to keyboard shortcuts
- No OpenTabletDriver required!
Hardware Acceleration
- Automatic NVIDIA GPU detection and support
- OpenGL acceleration
Easy Management
- Desktop launcher integration
- Management script for maintenance
- Configuration-based button mapping
Quick Start
Prerequisites
# Install distrobox and podman
sudo pacman -S distrobox podman
# For button mapping (optional)
sudo pacman -S xbindkeys xdotool
Note: OpenTabletDriver is NOT required and NOT recommended for Paintstorm. Native HID works better.
Installation
-
Clone or download this repository
- Run the installation script
cd paintstorm-setup/ chmod +x paintstorm-install-distrobox.sh ./paintstorm-install-distrobox.shThe script will automatically:
- Download Paintstorm v2.50 from the official website
- Create the distrobox container
- Install all dependencies
- Set up desktop integration
- Launch Paintstorm
- From application menu: Graphics → Paintstorm Studio
- Or from terminal:
~/paintstorm
Tablet Pressure & Tilt Support
Using Native HID (RECOMMENDED)
Native Linux HID drivers provide full pressure and tilt support without any configuration:
# Just launch Paintstorm - it works!
~/paintstorm
What you get:
- Full pressure sensitivity (0-8191 levels)
- Tilt support (X/Y angles)
- Stable, reliable operation
- No mouse freezing issues
- Works every time
Configure Tablet Buttons
See native-hid-tablet-mapping/ for button mapping tools.
Quick setup:
cd native-hid-tablet-mapping/
# Detect your buttons
./test-pen-buttons.sh
./test-tablet-keyboard-events.sh
# Configure mappings
nano tablet-button-config.conf
# Apply configuration
./apply-button-mappings.sh
# Make it persistent
./setup-autostart.sh
❌ OpenTabletDriver NOT Recommended
Testing revealed OTD has unfixable issues with Paintstorm:
- Mouse freezes during drawing
- Pressure fails on second launch
- Device recognition problems
If you want to troubleshoot OTD anyway, see otd-diagnostics/ (not recommended).
For detailed tablet troubleshooting, see docs/TABLET-PRESSURE-FIX.md.
Quick Check
# Test pressure and tilt
./test-tablet-pressure.sh
This will verify:
- Hidraw devices on host
- Hidraw devices in container
- Input device configuration
Project Structure
paintstorm-distrobox-legacy/
│
├── README.md # This file
├── test-tablet-pressure.sh # General tablet diagnostic
│
├── paintstorm-setup/ # Paintstorm installation
│ ├── README.md # Installation guide
│ ├── paintstorm-install-distrobox.sh # Main installer (run this)
│ ├── container-setup.sh # Container configuration
│ ├── paintstorm-launcher.sh # App launcher template
│ └── paintstorm-manage.sh # Container management
│
├── native-hid-tablet-mapping/ # RECOMMENDED: Button mapping
│ ├── README.md # Setup guide
│ ├── tablet-button-config.conf # Your button mappings (edit this)
│ ├── apply-button-mappings.sh # Apply configuration
│ ├── setup-autostart.sh # Make persistent
│ ├── test-pen-buttons.sh # Detect pen buttons
│ ├── test-tablet-keyboard-events.sh # Detect tablet buttons
│ ├── detect-tablet-buttons.sh # Comprehensive detection
│ └── configure-tablet-buttons.sh # Legacy manual config
│
└── docs/ # Documentation
└── TABLET-PRESSURE-FIX.md # Detailed tablet troubleshooting
Tested Configuration
- Distribution: Arch Linux
- Tablet: Huion G930L (works with other Huion tablets)
- Drivers: Native Linux HID (generic hid driver)
- Container: Ubuntu 20.04 (distrobox/podman)
- Button Mapping: xbindkeys + xdotool
Known Issues & Solutions
Pressure/Tilt Works Perfectly ✅
Native HID provides full pressure and tilt support out of the box. No configuration needed.
Button Mapping
Your Huion G930L has:
- 6 tablet buttons: Already send keyboard shortcuts (Ctrl+Alt+Z, [, ], b, etc.)
- 2 pen buttons: Can be mapped with xbindkeys
See native-hid-tablet-mapping/README.md for complete setup.
OpenTabletDriver Issues
Don’t use OTD with Paintstorm. See otd-diagnostics/README.md for details on why it doesn’t work.
Version History
v2.5 - CURRENT
- Reorganized into native HID (recommended) and OTD diagnostics (not recommended)
- Added configuration-based button mapping system
- Created comprehensive native HID setup guide
- Documented why OTD doesn’t work with Paintstorm
- Cleaned up script organization
v2.4
- Added hidraw device detection and passthrough
- Created tablet diagnostic scripts
- Extensive OTD troubleshooting (determined OTD not viable)
v2.3
- Pen tablet support with event device passthrough
- X11 input libraries
v2.0-2.2
- Initial distrobox implementation
- GLEW building
- Font crash prevention
- NVIDIA support
Recommendation
For Huion tablets (and likely other brands):
- Use native HID (no OTD)
- Configure buttons with xbindkeys (see
native-hid-tablet-mapping/) - Enjoy full pressure and tilt without any hassle
This provides the best experience with Paintstorm in distrobox.
Contributing
Found an issue? Have improvements? Please open an issue or pull request.
License
This setup script is provided as-is for use with legally obtained copies of Paintstorm Studio.
Credits
- Paintstorm Studio by Sergey Kolesov
- Distrobox by Luca Di Maio
- Native HID tablet support by Linux kernel developers
**Happy painting! **
For tablet button setup, go to: native-hid-tablet-mapping/
Commit history
- Readme update
- Paintstorm Distrobox Scripts merging
- Add automatic Paintstorm download and improve installation feedback
- Organize Paintstorm scripts into dedicated folder for cleaner structure
- Major reorganization: Separate native HID solution from OTD diagnostics
- Add dedicated pen button detection test
- Add simpler keyboard event test for tablet buttons
- Add tablet button mapping tools and xsetwacom compatibility test
- Add pressure data verification diagnostic
- Add tools to diagnose and fix second-launch failure issue
- Add diagnostics and fixes for mouse pointer freezing issue with OTD
- Fix event counting bug and improve OTD detection
- Improve check-which-device-used.sh with clean table format and verbose option
- Add comprehensive guide for OTD vs Native HID device conflict
- Update README to reflect new modular script structure
- Refactor: Extract embedded scripts into separate files for better organization
- Fix input group check and clarify OTD virtual device behavior
- Fix tablet pressure sensitivity and tilt support by adding hidraw device passthrough
- initial commit
Files
17 tracked files
at main.
docs
- TABLET-PRESSURE-FIX.md
native-hid-tablet-mapping
- apply-button-mappings.sh
- configure-tablet-buttons.sh
- detect-tablet-buttons.sh
- README.md
- setup-autostart.sh
- tablet-button-config.conf
- test-pen-buttons.sh
- test-tablet-keyboard-events.sh
paintstorm-setup
- container-setup.sh
- paintstorm-icon.png
- paintstorm-install-distrobox.sh
- paintstorm-launcher.sh
- paintstorm-manage.sh
- README.md
- README.md
- test-tablet-pressure.sh