GPK FWBuilder is a user-friendly desktop application that simplifies the process of building custom mechanical keyboard firmware.
It provides a graphical interface for QMK and Vial firmware compilation.
fwbuilder.mp4
- Support for both QMK and Vial firmware
- Easy keyboard and keymap selection from dropdown menus
- Tag/commit-based builds for version control
- Support for up to 5 custom QMK/Vial fork repositories
- Real-time build logs with side panel view
- Automatic firmware output to
~/GPKFW/
directory
- QMK Keyboard Files: Generate template keyboard configuration files
- Create info.json, rules.mk, config.h, and keymap files
- Support for various MCU types
- Customizable keyboard name and author
- Vial Unique ID: Create unique identifiers for Vial-enabled keyboards
- Generate 8-byte unique ID required for Vial
- Vial to Keymap.c: Convert Vial JSON files to QMK keymap.c format
- Import .vil files exported from Vial
- Automatic keymap generation
- KLE to Keyboard: Transform KLE (Keyboard Layout Editor) JSON files into QMK/Vial keyboard files - Base on zykrah/firmware-scripts
- Repository Management:
- Configure and update custom firmware repositories
- Support for GitHub URLs
- Docker Image:
- Rebuild and manage the Docker build environment
- External Server:
- Configure external GPK FWMaker server for remote builds
- Update Notifications:
- View update history
- Language Support:
- English and Japanese (日本語) interfaces
Install Docker Desktop from https://www.docker.com
Note: Any Docker-compatible environment that supports docker compose will work
- Launch GPK FWBuilder
- The application will initialize the Docker environment on first run
- This may take several minutes as it downloads the build image
- You can skip Docker check if needed (not recommended)
-
Select Firmware Type
- Choose between QMK or Vial from the dropdown
- The keyboard list will update based on your selection
-
Select Keyboard
- Choose your target keyboard from the list
- Use the search feature for faster navigation
- Copy keyboard files to local if needed
-
Select Keymap
- Choose from available keymaps
- Default keymap is usually a good starting point
-
Configure Build Options (Optional)
- Select specific tag or commit
- Choose custom repository if using forks
-
Build
- Click the "Build" button
- Monitor progress in the logs panel
- Firmware will be saved to
~/GPKFW/
- Firmware Output:
~/GPKFW/
- Keyboard Files: Copy custom keyboards to
~/GPKFW/keyboards/
- Build Logs: Displayed in the application
You can add up to 5 fork repositories each for QMK and Vial:
- Go to Settings → Repository
- Enter the GitHub repository URL
- Click Update to sync
- Create your layout in Keyboard Layout Editor
- Export the JSON file
- Use Convert → KLE to Keyboard File
- Configure matrix settings and generate files
Generate Via configuration files from QMK info.json and KLE layouts:
- Select your info.json file
- Select your KLE layout file
- Generate via.json for VIA configurator compatibility
- Ensure Docker Desktop is running before launching the app
- Check Docker Desktop settings for resource allocation
- On Windows, ensure Hyper-V is enabled
- Try rebuilding the Docker image from Settings → Image
- Check the build logs for specific error messages
- Ensure keyboard and keymap names are correct
- Verify the repository is up to date
- Check for sufficient disk space
- Click "Refresh" to update the keyboard list
- Update repositories from Settings → Repository
- Verify the keyboard exists in the selected firmware type
# Clone the repository
git clone https://github.com/darakuneko/gpk_fwbuilder.git
cd gpk_fwbuilder
# Install dependencies
npm install
# Start development server
npm run dev
# In another terminal, start Electron
npm run start
# Build for all platforms
npm run build
# Platform-specific builds
npm run dist:win # Windows
npm run dist:mac # macOS
npm run dist:linux # Linux
- CUI Version: GPK FWMaker - Command-line version
- Firmware Scripts: Based on zykrah/firmware-scripts
- Vial2C: Uses ymkn/vial2c for Vial conversions
Buy me a coffee
Amazon Wishlist | Ko-fi
This project is released under the MIT License.
GPK FWBuilder - Making QMK/Vial firmware generation easier
Made with ❤ by darakuneko