Trying to run arduino ide and proffieboard plugin on steam deck OS

hI PEEPS,

so my steamdeck os has a desktop mode but the commands to run on linux don’t work cause apt-get is not a thing on arch linux.

I get this error though

FQBN: proffieboard:stm32l4:ProffieboardV2-L433CC
Using board ‘ProffieboardV2-L433CC’ from platform in folder: /home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6
Using core ‘stm32l4’ from platform in folder: /home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6

Detecting libraries used…
/home/deck/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -D_SYSTEM_PCLK_DIVIDER_=2 -DARDUINO=10607 -DARDUINO_STM32L4_BUTTERLY -DARDUINO_ARCH_STM32L4 -DSTM32L433xx -DPROFFIEBOARD_VERSION=2 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff -DUSB_MANUFACTURER=“hubbe.net” -DUSB_PRODUCT=“Proffieboard” -DUSB_TYPE=USB_TYPE_CDC -DDOSFS_SDCARD=1 -DDOSFS_SFLASH=0 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/CMSIS/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/CMSIS/Device/ST/STM32L4xx/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/STM32L4xx/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/cores/stm32l4 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/variants/STM32L433CC-ProffieboardV2 /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/sketch/ProffieOS.ino.cpp.merged -o /dev/null -MMD -MF /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/sketch/ProffieOS.ino.cpp.merged.libsdetect.d
Alternatives for Wire.h: [Wire@1.0]
ResolveLibrary(Wire.h)
→ candidates: [Wire@1.0]
/home/deck/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -D_SYSTEM_PCLK_DIVIDER_=2 -DARDUINO=10607 -DARDUINO_STM32L4_BUTTERLY -DARDUINO_ARCH_STM32L4 -DSTM32L433xx -DPROFFIEBOARD_VERSION=2 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff -DUSB_MANUFACTURER=“hubbe.net” -DUSB_PRODUCT=“Proffieboard” -DUSB_TYPE=USB_TYPE_CDC -DDOSFS_SDCARD=1 -DDOSFS_SFLASH=0 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/CMSIS/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/CMSIS/Device/ST/STM32L4xx/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/STM32L4xx/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/cores/stm32l4 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/variants/STM32L433CC-ProffieboardV2 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/libraries/Wire/src /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/sketch/ProffieOS.ino.cpp.merged -o /dev/null -MMD -MF /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/sketch/ProffieOS.ino.cpp.merged.libsdetect.d
Using cached library dependencies for file: /home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/libraries/Wire/src/Wire.cpp
Generating function prototypes…
/home/deck/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -D_SYSTEM_PCLK_DIVIDER_=2 -DARDUINO=10607 -DARDUINO_STM32L4_BUTTERLY -DARDUINO_ARCH_STM32L4 -DSTM32L433xx -DPROFFIEBOARD_VERSION=2 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff -DUSB_MANUFACTURER=“hubbe.net” -DUSB_PRODUCT=“Proffieboard” -DUSB_TYPE=USB_TYPE_CDC -DDOSFS_SDCARD=1 -DDOSFS_SFLASH=0 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/CMSIS/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/CMSIS/Device/ST/STM32L4xx/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/STM32L4xx/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/cores/stm32l4 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/variants/STM32L433CC-ProffieboardV2 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/libraries/Wire/src /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/sketch/ProffieOS.ino.cpp.merged -o /home/deck/.var/app/cc.arduino.IDE2/cache/2473159536/sketch_merged.cpp
/home/deck/.arduino15/packages/builtin/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c+±kinds=svpf --fields=KSTtzns --line-directives /home/deck/.var/app/cc.arduino.IDE2/cache/2473159536/sketch_merged.cpp

Compiling sketch…
/home/deck/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -MMD -flto -fdevirtualize-at-ltrans -D_SYSTEM_CORE_CLOCK_=80000000L -D_SYSTEM_PCLK_DIVIDER_=2 -DARDUINO=10607 -DARDUINO_STM32L4_BUTTERLY -DARDUINO_ARCH_STM32L4 -DSTM32L433xx -DPROFFIEBOARD_VERSION=2 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff “-DUSB_MANUFACTURER=“hubbe.net”” “-DUSB_PRODUCT=“Proffieboard”” -DUSB_TYPE=USB_TYPE_CDC -DDOSFS_SDCARD=1 -DDOSFS_SFLASH=0 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/CMSIS/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/CMSIS/Device/ST/STM32L4xx/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/STM32L4xx/Include -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/cores/stm32l4 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/variants/STM32L433CC-ProffieboardV2 -I/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/libraries/Wire/src /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/sketch/ProffieOS.ino.cpp -o /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/sketch/ProffieOS.ino.cpp.o
Compiling libraries…
Compiling library “Wire”
/home/deck/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld:/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/variants/STM32L433CC-ProffieboardV2/linker_scripts/STM32L433CC_FLASH.ld:224: warning: memory region `SRAM2’ not declared
Using previously compiled file: /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/libraries/Wire/Wire.cpp.o
Compiling core…
Using previously compiled file: /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/core/variant.cpp.o
Using precompiled core: /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/cores/3c235fd1e180dec79af35442f5800e09/core.a
Linking everything together…
/home/deck/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/arm-none-eabi-gcc -L/home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951 -g -Os -Wl,–gc-sections -DSTM32L433xx -DPROFFIEBOARD_VERSION=2 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff “-DUSB_MANUFACTURER=“hubbe.net”” “-DUSB_PRODUCT=“Proffieboard”” -DUSB_TYPE=USB_TYPE_CDC -DDOSFS_SDCARD=1 -DDOSFS_SFLASH=0 -T/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/variants/STM32L433CC-ProffieboardV2/linker_scripts/STM32L433CC_FLASH.ld -Wl,-Map,/home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/ProffieOS.ino.map --specs=nano.specs -mcpu=cortex-m4 -mthumb -Wl,–cref -Wl,–check-sections -Wl,–gc-sections -Wl,–unresolved-symbols=report-all -Wl,–warn-common -Wl,–warn-section-align -flto -fuse-linker-plugin -fdevirtualize-at-ltrans -o /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/ProffieOS.ino.elf /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/sketch/ProffieOS.ino.cpp.o /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/libraries/Wire/Wire.cpp.o /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/core/variant.cpp.o -Wl,–start-group /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/../../cores/3c235fd1e180dec79af35442f5800e09/core.a -Wl,–end-group -L/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/STM32L4xx/Lib -L/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/system/CMSIS/Lib -lstm32l433 -larm_cortexM4lf_math -lc -lm
lto-wrapper: warning: using serial compilation of 8 LTRANS jobs
lto-wrapper: note: see the ‘-flto’ option documentation for more information
/home/deck/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld: warning: start of section .bss changed by 8
/home/deck/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/arm-none-eabi-objcopy -O binary /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/ProffieOS.ino.elf /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/ProffieOS.ino.dfu
/home/deck/.arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/arm-none-eabi-objcopy -O binary -R .boot /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/ProffieOS.ino.elf /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/ProffieOS.ino.iap
/home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/tools/linux//dfu-suffix -v 0x1209 -p 0x6668 -d 0xffff -a /home/deck/.var/app/cc.arduino.IDE2/cache/arduino/sketches/FE610D9FCDC26373CD4AD0D287248951/ProffieOS.ino.dfu
Using library Wire at version 1.0 in folder: /home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/libraries/Wire
fork/exec /home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/tools/linux//dfu-suffix: no such file or directory

Compilation error: fork/exec /home/deck/.arduino15/packages/proffieboard/hardware/stm32l4/4.6/tools/linux//dfu-suffix: no such file or directory

This is because of missing i386 support.

You must either add i386 support to your system, or the tools (dfu-suffix and openocd) have to be recompiled to work on arm64 without emulation.

I don’t have a steam deck, or an archlinux installation (which I think is what steamos is based on), and I don’t know what commands are needed to add i386 support (assuming that is even possible.) If you figure it out, let me know, or update the documentation on the POD.

Adding statically compiled arm64 tools is probably not that hard either, it’s just a matter of getting the sources and compiling them with the right flags to reduce dependencies as much as possible.

Maybe this site/page can help?

1 Like

thanks for update, I’ll look into it.