Defold -> Retro handhelds?

A small note for owners of Linux handhelds running the Rocknix operating system. Since I still haven’t reported their bug with missing window decorations for libdecor, the Defold bundle will not run on this device (yet). But I prepared a temporary workaround: just add this dependency to your project (only for Defold 1.10.0) - it disables GLFW requirement for libdecor.

So, the steps for Linux handhelds owners with Rocknix:

  • Add this dependency to the project: https://github.com/aglitchman/defold-arm64-disabled-libdecor/archive/refs/tags/1.0.0.zip, fetch deps.
  • In the IDE, click Project / Bundle / Linux Application
  • Select Platform = Arm64 and click Create Bundle...
  • Upload your files via SSH or copy them to MicroSD card manually to /roms/ports/your_game_title/ folder

Then, we need to create a menu item to be able to run the game from the “Ports” menu, create a new file your_game_title.sh in /roms/ports/ with the contents:

#!/bin/bash

cd "$(dirname "$0")"
cd ./your_game_title/
chmod +x your_game_title.arm64
./your_game_title.arm64

Then, update game lists in the menu Game Settings / Update Gamelists. Done!

Do not forget to add gamepad support to your game and an action to close your game to exit to the system:

function on_input(self, action_id, action)
	-- Shutdown your app on "back" button:
	if action_id == hash("gamepad_back") and action.pressed then
		sys.exit(0)
	end
end
2 Likes