How to launch Makecode Arcade UF2s in Raspbian/RetroPie?

Hi @mmoskal and @peli,

I’m sorry to bother you again during no doubt busy times and I don’t mean to nag. But I’m waiting like a kid on Christmas eve here, for MakeCode Arcade ELFs to work correctly(exit back to console) on Raspberry Pi OS and to spread the happy word about it… No doubt, many others would welcome this as well.

Any new information on whether or when this will be addressed on GitHub?

Have a nice day and hope for a quick and positive reply! Don’t hesitate to get in touch if I can help with testing or anything else.


1 Like

We haven’t been able to look into this issue. Any taker on trying to diagnose this?

1 Like

Finally, there’s a working work-around, with gamepad and/or keyboard controls for up to 2 players!

Thanks for all the help and support, @mmoskal and @peli!



By the way, @njp. I forgot to mention what eluded me for a long time; that the screen and keyboard were still frozen even though the MakeCode game PIDs were killed and gone. By pure coincidence I found the termfix repo, which helped me, and those same 2-3 last ioctl commands might also be of help in your project, from what you have described above, and if you haven’t already found a solution:

Would be nice if I could check out your setup up with xboxdrv. It’s the recommended choice by RetroPie for key mapping, but I found it a bit difficult and I didn’t want to have any extra external dependencies/drivers to install.

Br, Vegard

McAirpos now updated and tested ok with improved controller support:


I have lately been studying the article “One chip to flash them all”, the uf2 and uf2-linux bootloader Github repos, to better understand the uf2 file format.

My goal is maybe to embark on a hobby/training programming project to get McAirpos to open MakeCode Arcade uf2 files for the rpi directly, instead of having to download rawElf files.

The greatest benefit, if I understand this correctly, would be that the uf2 files would still contain the MakeCode code and blocks in the file itself, while the rawELFs are stripped of this information(?).

I am also under the impression that the uf2 files have their own included memory area for saved game states and settings, which then can be carried around with the uf2 files, instead of the seperate folders which are created for rawELFs(?).

However, I am just not able to figure out what part of the source code to include and use, just to be able to open the uf2 files and read/run the executables within these files.

Would anyone have an idea if this would be feasible, and could they please point me just a little bit in the right direction and to what part of the uf2 code that would be needed to include/call to make this work?

Any help is greatly appreciated!

This post from @kwx surely gives me some hope in the matter of getting uf2s to run directly on the Raspberry, thereby saving both blocks and code together with the executable, so we don’t need separate file copies and we can load them back into the editor to make changes: