xmk on Windows with WSL / Linux VM #4
claviger-pc
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have been able to get xmk to run on Windows with the help of a linux virtual machine. I have tried the same thing with WSL, but the lack of hardware interfacing and support has not yet allowed me to complete the process, largely because the attached keyboard does not enumerate like a keyboard, even after building a WSL kernel with keyboard and input support: there is not a proper keyboard found in /dev after connecting with usbip.
With an Ubuntu server VM running on virtualbox, however, I can run xmk and use the VM as an in between to run zmk. There are limitations that are already known connected with usbip (e.g. layers do not seem to work). This is just an initial setup, it needs more work and testing. I am using separate sources for the windows usbip server and client, both listed below.
Find your keyboard on Windows (admininstrator prompt) :
usbipd list
Attach it to the usbipd server:
usbipd bind -b BUS_ID
Run native posix zmk/xmk build (from GH Actions xmk repo) on linux VM:
./native_posix_64-zmk.elf
Run xmk on linux VM:
./src/xmk -k /dev/input/by-id/YOUR_KBD_DEVICE -m ./src/maps/minidox/60_ansi -s > /dev/pts/FROM_PREVIOUS_COMMAND
on Linux server, start usbip server on alternate port:
sudo usbipd -t3241
finally, on Windows cmd:
usbip list -r IP_ADDRESS_LINUX_VM -b BUS_ID
Sources:
zmk native posix build: https://github.com/manna-harbour/xmk/actions
usbipd server: https://github.com/dorssel/usbipd-win
usbipd server: https://github.com/cezanne/usbip-win
Beta Was this translation helpful? Give feedback.
All reactions