Closed lilyinstarlight closed 2 years ago
I'm giving this a quick test on Mac.
Works great. I'm seeing some issues with the copy to the data partition failing because, I think, crank isn't waiting long enough, but that's not related to these changes, I think.
Quick note for anyone finding this:
I have my Playdate now and with the following udev rules and udisks auto-mounting, crank run
works mostly as expected on Linux:
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1331", ATTRS{idProduct}=="5740", TAG+="uaccess"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1331", ATTRS{idProduct}=="5741", TAG+="uaccess"
The only minor caveat is that pdutil /dev/ttyACM0 run /Games/[game].pdx
usually failed since it often ran before udev updated the permissions with the rules (it could be worked around with something like adding , SYMLINK+="playdate"
to the first rule and setting env var PLAYDATE_SERIAL_DEVICE=/dev/playdate
, but it's fairly minor and not that much of a bother for me at the moment)
This PR adds better Linux support to Crank with the following minor changes:
arm-none-eabi-gcc
andarm-none-eabi-objcopy
are in PATH env var instead of using static paths on LinuxPLAYDATE_SERIAL_DEVICE
andPLAYDATE_MOUNT_POINT
with reasonable defaults on Linux (note: untested since I've not received my Playdate yet)eject
command to eject the Playdate on non-macOS (note: untested since I've not received my Playdate yet)PlaydateSimulator
is in PATH on non-macOS instead of using the macOS-specificopen -a
xdg-open
on Linux (that tool will use whatever the default file manager is, but does not natively support selecting a particular file)The CI should pass once pd-rs/get-playdate-sdk#5 is merged or the apt command is put into this workflow (depending on which is decided there)
Let me know if anything is problematic or otherwise unclear. Thank you for making these tools and libraries!