March 9, 2026

Ergodox EZ -- Wally

Wally is the old command line tool you once used to install new firmware on your Ergodox keyboard.

Now that I am working with my keyboard again in 2026, I learn that ZSA has abandoned "wally", and now recommends using their "keymapp" tool (which I also downloaded). Keymapp is closed source and more of a GUI tool -- apparently based on GTK3. Wally is and was open source.

Note that there are/were both "wally" and "wally-cli".

I never had wally-cli apparently. And when the smoke clears from what follows, "wally" announces itself as V2.1.3.

Wally on Fedora 43

I run Fedora linux. As of 2026 (this writing) I am running Fedora 43.

On March 6, 2026, I used a link they provide to download the latest version of "wally" for linux. I also have a copy of "wally" in /home/tom/bin from October, 2021 when I was last working with my keyboard. I use cmp to compare the two and they are exactly the same.

When I try to launch wally, I get the error:

error while loading shared libraries: libwebkit2gtk-4.0.so.37:
cannot open shared object file: No such file or directory
I did install this package using "dnf install libwebkit2gtk, but that gives me the latest version, which is libwebkit2gtk-4.1.so.0. Apparently "wally" is locked to an older specific version. I use "locate" on my linux machine and discover:
/u1/f24_root/usr/lib64/libwebkit2gtk-4.0.so.37
/u1/f24_root/usr/lib64/libwebkit2gtk-4.0.so.37.14.10
It has been my practice when I do major system updates (such as total fresh installs or installing a new hard drive) to make a backup of my entire root directory, and that is apparently going to save my bacon here. I do this:
cd /usr/lib64
ls -l libwebkit*
lrwxrwxrwx 1 root root       27 Feb  9 17:00 libwebkit2gtk-4.1.so.0 -> libwebkit2gtk-4.1.so.0.19.8
-rwxr-xr-x 1 root root 89078808 Feb  9 17:00 libwebkit2gtk-4.1.so.0.19.8

cd /u1/f24_root/usr/lib64
ls -l libwebkit*
lrwxrwxrwx 1 root root       29 Jan 17  2017 libwebkit2gtk-4.0.so.37 -> libwebkit2gtk-4.0.so.37.14.10
-rwxr-xr-x 1 root root 41856184 Jan 17  2017 libwebkit2gtk-4.0.so.37.14.10

This is just the first of many libraries and other things that need to be found.
I end up needing this list of libraries:

cp /u1/f24_root/usr/lib64/libwebkit2gtk-4.0.so.37.14.10 .
cp /u1/f24_root/usr/lib64/libjavascriptcoregtk-4.0.so.18.4.10 .
cp /u1/f24_root/usr/lib64/libicudata.so.56.1 .
cp /u1/f24_root/usr/lib64/libicui18n.so.56.1 .
cp /u1/f24_root/usr/lib64/libicuuc.so.56.1 .
cp /u1/f24_root/usr/lib64/libwebp.so.6.0.2 .
Once I track down all these, I hit the next barrier:
Unable to fork a new WebProcess: Failed to execute child process
  “/usr/libexec/webkit2gtk-4.0/WebKitNetworkProcess” (No such file or directory).
Unable to fork a new WebProcess: Failed to execute child process 
  “/usr/libexec/webkit2gtk-4.0/WebKitWebProcess” (No such file or directory).
My Fedora 43 system has webkit2gtk-4.1, but the files from Fedora 24 save the day again.

Now I get a warning when I run Wally, but it does start and run:

* (WebKitWebProcess:12399): WARNING **: 12:41:22.637:
  Error loading the injected bundle (/usr/lib64/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so):
  /usr/lib64/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so:
  cannot open shared object file: No such file or directory
I get rid of the warning by providing this file. Now wally starts up and is looking for the keyboard.

Try Wally with the keyboard

I plug the keyboard in first, then start wally.

The is a big of a delay, then I get a "peach" colored GUI screen that says "Select firmware" with a box that says "Select File". It tells me to select or drop a hex file.

The bottom of the GUI has a "Restart" link and a think that looks like ">_". This latter is a toggle that goes to a status screen and back out. The status screen shows text:

13:49:55 info Found 1 compatible device(s)
13:49:55 info Probing compatible usb devices
There seem to be no options whatsoever with Wally. I could look at the source (in golang) to see if there are interesting hidden features.

In particular, I would like to be able to pull a hex file from the keyboard.


Have any comments? Questions? Drop me a line!