Skip to content

darakuneko/gpk_fwbuilder

Repository files navigation

GPK FWBuilder

A desktop application for building QMK and Vial keyboard firmware with ease

TypeScript Docker Node.js QMK Vial Ask DeepWiki

English | 日本語

Overview

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

Features

Build Firmware

  • 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

Generate Files

  • 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

Convert Tools

  • 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

Settings

  • 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

System Requirements

Prerequisites

Install Docker Desktop from https://www.docker.com
Note: Any Docker-compatible environment that supports docker compose will work

Getting Started

1. Initial Setup

  • 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)

2. Building Firmware

  1. Select Firmware Type

    • Choose between QMK or Vial from the dropdown
    • The keyboard list will update based on your selection
  2. Select Keyboard

    • Choose your target keyboard from the list
    • Use the search feature for faster navigation
    • Copy keyboard files to local if needed
  3. Select Keymap

    • Choose from available keymaps
    • Default keymap is usually a good starting point
  4. Configure Build Options (Optional)

    • Select specific tag or commit
    • Choose custom repository if using forks
  5. Build

    • Click the "Build" button
    • Monitor progress in the logs panel
    • Firmware will be saved to ~/GPKFW/

3. File Locations

  • Firmware Output: ~/GPKFW/
  • Keyboard Files: Copy custom keyboards to ~/GPKFW/keyboards/
  • Build Logs: Displayed in the application

Advanced Features

Custom Repositories

You can add up to 5 fork repositories each for QMK and Vial:

  1. Go to Settings → Repository
  2. Enter the GitHub repository URL
  3. Click Update to sync

KLE to Keyboard Conversion

  1. Create your layout in Keyboard Layout Editor
  2. Export the JSON file
  3. Use Convert → KLE to Keyboard File
  4. Configure matrix settings and generate files

KLE Guidelines

Via.json Generation

Generate Via configuration files from QMK info.json and KLE layouts:

  1. Select your info.json file
  2. Select your KLE layout file
  3. Generate via.json for VIA configurator compatibility

Troubleshooting

Docker Connection Issues

  • 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

Build Failures

  • 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

Missing Keyboards

  • Click "Refresh" to update the keyboard list
  • Update repositories from Settings → Repository
  • Verify the keyboard exists in the selected firmware type

Development

Development Setup

# 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

Building from Source

# 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

Related Projects

Developer Support

Buy me a coffee
Amazon Wishlist | Ko-fi

License

This project is released under the MIT License.


GPK FWBuilder - Making QMK/Vial firmware generation easier

Made with ❤ by darakuneko

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •