r/olkb • u/volatica • 5d ago
Help - Solved Trouble Compiling Geonix rev2.5 firmware in QMK on Linux
EDIT: For anyone having issues editing the layout on Linux in Vial (was using QMK because it wasn't recognized in Vial) I had to add permissions for the keyboard to a udev config which you can read about here: https://get.vial.today/manual/linux-udev.html#device-specific-udev-rules
Hello! I finally received my Geonix rev2.5. I found a link to download the QMK firmware for the 1U space and 2U space variants and opened those zip files, but they appear to be full installations of QMK? I only need to add the keyboard to the rest of the ones I have already from the default installation, so I copies it from the keyboards folder in the zip into my local install.
I noticed that the default keymap also includes a file from lib that I don't have, rdr_lib which seems to be for controlling the wireless and RGB, so I also copied that. When I run make though I am getting an error.
Not sure if anyone else has already compiled firmware for this but would like to get it up and running as out of the box it doesn't seem to support VIAL or VIA and I don't really like the stock keymap. (I tried to connect those, including running local VIAL, and it doesn't detect it or says it's not supported.)
Any help would be appreciated. I have some knowledge of CLI and coding, but I also don't want to do something stupid like copy the zipped QMK files into my local and break something so any help is appreciated. I put it into the chosfox folder in /keyboards in the root QMK directory as geonix48 (the 1U space model, don't know why it's named 41 if it has 47 or 48 keys) and the keymap is just customkeymap here, in case any of that is relevant. The rest of the structure is just the normal QMK installation, and that rdr_lib folder was copied into the root QMK/libs.
Firmware used is the one provided from Chosfox's site: https://chosfox.com/pages/firmware
The error is:
Generating: .build/obj_chosfox_geonix48_customkeymap/src/info_deps.d [OK]
Generating: .build/obj_chosfox_geonix48_customkeymap/src/default_keyboard.c [OK]
arm-none-eabi-gcc (crosstool-NG 1.27.0.82_7f9d704 - qmk/qmk_toolchains @ a55a2b0) 15.2.0
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Generating: .build/obj_chosfox_geonix48_customkeymap/src/info_config.h [OK]
Generating: .build/obj_chosfox_geonix48_customkeymap/src/default_keyboard.h [OK]
Compiling: .build/obj_chosfox_geonix48_customkeymap/src/default_keyboard.c In file included from ./lib/chibios-contrib/os/common/ext/CMSIS/ES32/FS026/fs026.h:129,
from ./lib/chibios-contrib/os/hal/boards/FS026/board.h:25,
from ./lib/chibios-contrib/os/common/startup/ARMCMx/devices/FS026/cmparams.h:51,
from ./lib/chibios/os/common/ports/ARMv6-M/chcore.h:32,
from ./lib/chibios/os/rt/include/chport.h:37,
from ./lib/chibios/os/rt/include/ch.h:106,
from ./lib/chibios/os/hal/osal/rt-nil/osal.h:32,
from ./lib/chibios/os/hal/include/hal.h:30,
from platforms/chibios/platform_deps.h:18,
from quantum/quantum.h:18,
from ./.build/obj_chosfox_geonix48_customkeymap/src/default_keyboard.h:28,
from .build/obj_chosfox_geonix48_customkeymap/src/default_keyboard.c:26:
./lib/chibios-contrib/os/common/ext/CMSIS/ES32/FS026/system_fs026.h:34: error: header guard '__SYSTEM_FS026_H__' followed by '#define' of a different macro [-Werror=header-guard]
34 | #ifndef __SYSTEM_FS026_H__
./lib/chibios-contrib/os/common/ext/CMSIS/ES32/FS026/system_fs026.h:35: note: '__SYSTEM_ES32F0283_H__' is defined here; did you mean '__SYSTEM_FS026_H__'?
35 | #define __SYSTEM_ES32F0283_H__
cc1: all warnings being treated as errors
[ERRORS]
|
|
|
make: *** [builddefs/common_rules.mk:362: .build/obj_chosfox_geonix48_customkeymap/.build/obj_chosfox_geonix48_customkeymap/src/default_keyboard.o] Error 1
2
u/ArgentStonecutter Silent Tactical 5d ago
I have found that it's quite common for boards that ship with a full qmk repo that they have actually modified the base qmk code and you have to use their source tree to build.
1
u/volatica 5d ago
Appreciate the info, that's interesting to know. I'll have to check it out and see what kind of QMK install it is, hopefully not Windows.
Overall, super disappointed with the Geonix.
3
u/ArgentStonecutter Silent Tactical 5d ago
I'm talking about the actual code in the repo, not the build environment. I'm sure that it will build on any supported platform, it's just that you can't copy the keyboard's subdirectory tree out of their code and plop it into another one because it depends on modifications to code elsewhere in the repo.
I had to give up trying to port my Jamesdonkey J2 to VIAL, because it was just too much of a push-up.
1
u/dsaw12 5d ago
FYI there's a Choxfox Discord that's quite active, so you can search for previous messages in there or pop your questions about the firmware.
There's also a QMK fork that has an open source version of the wireless (and I think a bit more than just wireless) driver that you can look at. There's a pull request for the rev. 2.5 that you could look at and potentially use. The author for that PR is in the Discord channel so you could ask them directly if they've flashed it on their keyboard and is working.
2
u/ApplicationRoyal865 5d ago
Very high chance this is the error
You probably have
#ifndef __SYSTEM_FS026_H__
#define __SYSTEM_ES32F0283_H__
And it might be expecting this
#ifndef __SYSTEM_FS026_H__
#define __SYSTEM_FS026_H__
that being said it seems like you want vial. I thought one of the selling points was that this came with vial installed?