Skip to content

Conversation

@mrpollo
Copy link
Contributor

@mrpollo mrpollo commented Jun 23, 2025

Proposes an AppImage for PX4 SITL

The AppImage comes bundled with the gazebo transport shared libraries, and with all the ROMFS contents you need to run PX4 standalone. It also saves config and airframe metadata to XDG compliant directories in the user's home.

$XDG_STATE_HOME for persistant storage of logs under $XDG_STATE_HOME/px4/logs
$XDG_DATA_HOME for ROMFS contents under $XDG_DATA_HOME/px4/romfs

Directory structures

$ tree -C -L 2 ~/.local/state/px4
/home/rroche/.local/state/px4
├── logs
│   ├── 2025-06-24
│   └── 2025-06-25
└── version

$ ~ tree -C -L 3 ~/.local/share/px4/romfs
/home/rroche/.local/share/px4/romfs
├── bin
│   ├── px4-actuator_test
│   ├── px4-airship_att_control
│   ├── px4-airspeed_selector
│   ├── px4-alias.sh
│   ├── px4-attitude_estimator_q
│   ├── px4-battery_simulator
│   ├── px4-bsondump
│   ├── px4-camera_feedback
│   ├── px4-camera_trigger
│   ├── px4-cdev_test
│   ├── px4-commander
│   ├── px4-control_allocator
│   ├── px4-controllib_test
│   ├── px4-dataman
│   ├── px4-dyn
│   ├── px4-ekf2
│   ├── px4-failure
│   ├── px4-fake_gps
│   ├── px4-fake_imu
│   ├── px4-fake_magnetometer
│   ├── px4-flight_mode_manager
│   ├── px4-fw_att_control
│   ├── px4-fw_autotune_attitude_control
│   ├── px4-fw_lat_lon_control
│   ├── px4-fw_mode_manager
│   ├── px4-fw_rate_control
│   ├── px4-gimbal
│   ├── px4-gps
│   ├── px4-gyro_calibration
│   ├── px4-gyro_fft
│   ├── px4-gz_bridge
│   ├── px4-hello
│   ├── px4-hrt_test
│   ├── px4-land_detector
│   ├── px4-landing_target_estimator
│   ├── px4-led_control
│   ├── px4-listener
│   ├── px4-load_mon
│   ├── px4-local_position_estimator
│   ├── px4-logger
│   ├── px4-mag_bias_estimator
│   ├── px4-manual_control
│   ├── px4-mavlink
│   ├── px4-mavlink_tests
│   ├── px4-mc_att_control
│   ├── px4-mc_autotune_attitude_control
│   ├── px4-mc_hover_thrust_estimator
│   ├── px4-mc_pos_control
│   ├── px4-mc_rate_control
│   ├── px4-msp_osd
│   ├── px4-navigator
│   ├── px4-param
│   ├── px4-payload_deliverer
│   ├── px4-perf
│   ├── px4-pwm_out_sim
│   ├── px4-px4_mavlink_debug
│   ├── px4-px4_simple_app
│   ├── px4-rc_tests
│   ├── px4-rc_update
│   ├── px4-replay
│   ├── px4-rover_ackermann
│   ├── px4-rover_differential
│   ├── px4-rover_mecanum
│   ├── px4-rover_pos_control
│   ├── px4-sd_bench
│   ├── px4-send_event
│   ├── px4-sensor_agp_sim
│   ├── px4-sensor_airspeed_sim
│   ├── px4-sensor_baro_sim
│   ├── px4-sensor_gps_sim
│   ├── px4-sensor_mag_sim
│   ├── px4-sensors
│   ├── px4-shutdown
│   ├── px4-simulator_mavlink
│   ├── px4-simulator_sih
│   ├── px4-system_power_simulator
│   ├── px4-system_time
│   ├── px4-temperature_compensation
│   ├── px4-tests
│   ├── px4-tone_alarm
│   ├── px4-tune_control
│   ├── px4-uorb
│   ├── px4-uorb_tests
│   ├── px4-uuv_att_control
│   ├── px4-uuv_pos_control
│   ├── px4-uxrce_dds_client
│   ├── px4-ver
│   ├── px4-vtol_att_control
│   ├── px4-work_item_example
│   ├── px4-work_queue
│   └── px4-wqueue_test
├── dataman
├── eeprom
├── etc
│   ├── init.d
│   │   ├── airframes
│   │   ├── rc.airship_apps
│   │   ├── rc.airship_defaults
│   │   ├── rc.autostart_ext
│   │   ├── rc.balloon_apps
│   │   ├── rc.balloon_defaults
│   │   ├── rc.boat_defaults
│   │   ├── rc.fw_apps
│   │   ├── rc.fw_defaults
│   │   ├── rc.heli_defaults
│   │   ├── rc.logging
│   │   ├── rc.mc_apps
│   │   ├── rc.mc_defaults
│   │   ├── rc.rover_ackermann_apps
│   │   ├── rc.rover_ackermann_defaults
│   │   ├── rc.rover_apps
│   │   ├── rc.rover_defaults
│   │   ├── rc.rover_differential_apps
│   │   ├── rc.rover_differential_defaults
│   │   ├── rc.rover_mecanum_apps
│   │   ├── rc.rover_mecanum_defaults
│   │   ├── rcS
│   │   ├── rc.sensors
│   │   ├── rc.sysinit
│   │   ├── rc.thermal_cal
│   │   ├── rc.uuv_apps
│   │   ├── rc.uuv_defaults
│   │   ├── rc.vehicle_setup
│   │   ├── rc.vtol_apps
│   │   └── rc.vtol_defaults
│   └── init.d-posix
│       ├── airframes
│       ├── px4-rc.gzsim
│       ├── px4-rc.jmavsim
│       ├── px4-rc.mavlink
│       ├── px4-rc.mavlinksim
│       ├── px4-rc.sihsim
│       ├── px4-rc.simulator
│       ├── rc.replay
│       └── rcS
├── log
│   └── 2025-06-25
│       ├── 20_25_43.ulg
│       └── 20_28_10.ulg
├── parameters_backup.bson
├── parameters.bson
└── test_data -> /home/rroche/Work/PX4-Autopilot/test_data

You can download an AppImage that works in Ubuntu via CI (latest images), once you unzip you will find the AppImage.

How to use:

$ ./PX4_Autopilot_SITL-x86_64.AppImage

# has built-in debug mode

$ ./PX4_Autopilot_SITL-x86_64.AppImage --debug

[DEBUG] Running in debug mode
[DEBUG] PX4_VERSION = v1.16.0-rc1-318-g384e198cc4
[DEBUG] STATE_HOME = /home/rroche/.local/state
[DEBUG] DATA_HOME = /home/rroche/.local/state
[DEBUG] Using cached ROMFS version v1.16.0-rc1-318-g384e198cc4
[DEBUG] LOG_DIR = /home/rroche/.local/state/px4/logs
[DEBUG] Launching: /tmp/.mount_PX4_AuDCBMNN/usr/bin/px4 -w /home/rroche/.local/share/px4/romfs
INFO  [px4] assuming working directory is rootfs, no symlinks needed.

______  __   __    ___
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/

px4 starting.

INFO  [px4] startup script: /bin/sh etc/init.d-posix/rcS 0
INFO  [param] selected parameter default file parameters.bson
INFO  [param] importing from 'parameters.bson'
INFO  [parameters] BSON document size 115 bytes, decoded 115 bytes (INT32:2, FLOAT:3)
INFO  [param] selected parameter backup file parameters_backup.bson
INFO  [dataman] data manager file './dataman' size is 1208528 bytes
INFO  [init] SIH simulator
INFO  [simulator_sih] Simulation loop with 250 Hz (4000 us sim time interval)
INFO  [simulator_sih] Simulation with 1.0x speedup. Loop with (4000 us wall time interval)
INFO  [lockstep_scheduler] setting initial absolute time to 4000 us
INFO  [commander] LED: open /dev/led0 failed (22)
No autostart ID found
INFO  [uxrce_dds_client] init UDP agent IP:127.0.0.1, port:8888
INFO  [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 18570 remote port 14550
INFO  [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14580 remote port 14540
INFO  [mavlink] mode: Onboard, data rate: 4000 B/s on udp port 14280 remote port 14030
INFO  [mavlink] mode: Gimbal, data rate: 400000 B/s on udp port 13030 remote port 13280
INFO  [logger] logger started (mode=all)
INFO  [logger] Start file log (type: full)
INFO  [logger] [logger] ./log/2025-06-25/20_28_10.ulg
INFO  [logger] Opened full log file: ./log/2025-06-25/20_28_10.ulg
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [px4] Startup script returned successfully
pxh> WARN  [health_and_arming_checks] Preflight Fail: Accel 0 uncalibrated

@mrpollo mrpollo force-pushed the mrpollo/appimage branch from d6eab7d to 5b089e0 Compare June 23, 2025 23:46
@mrpollo mrpollo force-pushed the mrpollo/appimage branch 2 times, most recently from ed26963 to fb9e087 Compare June 25, 2025 14:42
@DronecodeBot
Copy link

This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there:

https://discuss.px4.io/t/px4-dev-call-june-25-2025-team-sync-and-community-q-a/46161/2

@DronecodeBot
Copy link

This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there:

https://discuss.px4.io/t/px4-dev-call-june-25-2025-team-sync-and-community-q-a/46161/1

@farhangnaderi
Copy link
Contributor

[DEBUG] Running in debug mode
[DEBUG] PX4_VERSION = v1.16.0-rc1-341-g938ba6adb7
[DEBUG] STATE_HOME = /home/farhang/.local/state
[DEBUG] DATA_HOME = /home/farhang/.local/state
[DEBUG] Using cached ROMFS version v1.16.0-rc1-341-g938ba6adb7
[DEBUG] LOG_DIR = /home/farhang/.local/state/px4/logs
[DEBUG] Launching: /tmp/.mount_PX4_AuO78FW6/usr/bin/px4 -w /home/farhang/.local/share/px4/romfs 
INFO  [px4] assuming working directory is rootfs, no symlinks needed.

______  __   __    ___ 
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/

px4 starting.

INFO  [px4] startup script: /bin/sh etc/init.d-posix/rcS 0
INFO  [param] selected parameter default file parameters.bson
INFO  [param] importing from 'parameters.bson'
INFO  [parameters] BSON document size 324 bytes, decoded 324 bytes (INT32:11, FLOAT:5)
INFO  [param] selected parameter backup file parameters_backup.bson
INFO  [dataman] data manager file './dataman' size is 1208528 bytes
INFO  [init] SIH simulator
INFO  [simulator_sih] Simulation loop with 250 Hz (4000 us sim time interval)
INFO  [simulator_sih] Simulation with 1.0x speedup. Loop with (4000 us wall time interval)
INFO  [lockstep_scheduler] setting initial absolute time to 4000 us
INFO  [commander] LED: open /dev/led0 failed (22)
No autostart ID found
INFO  [uxrce_dds_client] init UDP agent IP:127.0.0.1, port:8888
INFO  [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 18570 remote port 14550
INFO  [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14580 remote port 14540
INFO  [mavlink] mode: Onboard, data rate: 4000 B/s on udp port 14280 remote port 14030
INFO  [mavlink] mode: Gimbal, data rate: 400000 B/s on udp port 13030 remote port 13280
INFO  [logger] logger started (mode=all)
INFO  [logger] Start file log (type: full)
INFO  [logger] [logger] ./log/2025-06-26/23_52_16.ulg	
INFO  [logger] Opened full log file: ./log/2025-06-26/23_52_16.ulg
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [px4] Startup script returned successfully
pxh> WARN  [health_and_arming_checks] Preflight Fail: barometer 0 missing
WARN  [health_and_arming_checks] Preflight Fail: Found 0 compass (required: 1)
WARN  [health_and_arming_checks] Preflight Fail: barometer 0 missing
WARN  [health_and_arming_checks] Preflight Fail: Found 0 compass (required: 1)
INFO  [mavlink] partner IP: 127.0.0.1
WARN  [health_and_arming_checks] Preflight Fail: barometer 0 missing
WARN  [health_and_arming_checks] Preflight Fail: Found 0 compass (required: 1)
ERROR [mavlink] open failed: No such file or directory
WARN  [health_and_arming_checks] Preflight Fail: barometer 0 missing
WARN  [health_and_arming_checks] Preflight Fail: Found 0 compass (required: 1)
INFO  [tone_alarm] notify negative
WARN  [health_and_arming_checks] Preflight Fail: barometer 0 missing
WARN  [health_and_arming_checks] Preflight Fail: Found 0 compass (required: 1)
WARN  [health_and_arming_checks] Preflight Fail: barometer 0 missing
WARN  [health_and_arming_checks] Preflight Fail: Found 0 compass (required: 1)

Tested on my side on Ubuntu 24.04 and these are the outputs.

Comment on lines 128 to 134
gperf \
fuse \
kconfig-frontends \
libelf-dev \
libexpat-dev \
libfuse2 \
libgmp-dev \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mrpollo instead of libfuse2 and fuse, could the newer fuse3? Or is there a particular reason for using the other two?

@beniaminopozzan
Copy link
Member

@farhangnaderi the appimage needs to run with some env vars, see this test:

PX4_SYS_AUTOSTART=4001 PX4_SIM_MODEL=gz_x500 ./PX4_Autopilot_SITL-x86_64.AppImage 
INFO  [px4] assuming working directory is rootfs, no symlinks needed.

______  __   __    ___ 
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/

px4 starting.

INFO  [px4] startup script: /bin/sh etc/init.d-posix/rcS 0
env SYS_AUTOSTART: 4001
INFO  [param] selected parameter default file parameters.bson
INFO  [param] selected parameter backup file parameters_backup.bson
  SYS_AUTOCONFIG: curr: 0 -> new: 1
  SYS_AUTOSTART: curr: 0 -> new: 4001
  CAL_ACC0_ID: curr: 0 -> new: 1310988
  CAL_GYRO0_ID: curr: 0 -> new: 1310988
  CAL_ACC1_ID: curr: 0 -> new: 1310996
  CAL_GYRO1_ID: curr: 0 -> new: 1310996
  CAL_ACC2_ID: curr: 0 -> new: 1311004
  CAL_GYRO2_ID: curr: 0 -> new: 1311004
  CAL_MAG0_ID: curr: 0 -> new: 197388
  CAL_MAG0_PRIO: curr: -1 -> new: 50
  CAL_MAG1_ID: curr: 0 -> new: 197644
  CAL_MAG1_PRIO: curr: -1 -> new: 50
  SENS_BOARD_X_OFF: curr: 0.0000 -> new: 0.0000
  SENS_DPRES_OFF: curr: 0.0000 -> new: 0.0010
INFO  [dataman] data manager file './dataman' size is 1208528 bytes
INFO  [init] Gazebo simulator 8.9.0
INFO  [init] Starting gazebo with world: /default.sdf
INFO  [init] Starting gz gui
[Err] [SystemPaths.cc:534] File [/default.sdf] resolved to path [/default.sdf] but the path does not exist
[Err] [ServerPrivate.cc:631] Failed to find world [/default.sdf]
[Err] [Server.cc:86] Error Code 1: Msg: Failed to find world [/default.sdf]
INFO  [init] Waiting for Gazebo world...
INFO  [init] Waiting for Gazebo world...
INFO  [init] Waiting for Gazebo world...
INFO  [init] Waiting for Gazebo world...
INFO  [init] Waiting for Gazebo world...
INFO  [init] Waiting for Gazebo world...
INFO  [init] Waiting for Gazebo world...

all the combinations described in https://docs.px4.io/main/en/sim_gazebo_gz/#usage-configuration-options shall be available.
However in the example above the world and model files are not found. Indeed the Appimage does not pack them.

@mrpollo
Copy link
Contributor Author

mrpollo commented Jun 27, 2025

@beniaminopozzan try running with --debug it will show you the paths it's trying to use

@beniaminopozzan
Copy link
Member

@mrpollo --debug gives me

[DEBUG] Running in debug mode
[DEBUG] PX4_VERSION = v1.16.0-rc1-341-g938ba6adb7
[DEBUG] STATE_HOME = /home/ubuntu/.local/state
[DEBUG] DATA_HOME = /home/ubuntu/.local/state
[DEBUG] Using cached ROMFS version v1.16.0-rc1-341-g938ba6adb7
[DEBUG] LOG_DIR = /home/ubuntu/.local/state/px4/logs
[DEBUG] Launching: /tmp/.mount_PX4_AuihPEtZ/usr/bin/px4 -w /home/ubuntu/.local/share/px4/romfs 
INFO  [px4] assuming working directory is rootfs, no symlinks needed.

______  __   __    ___ 
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/

px4 starting.

INFO  [px4] startup script: /bin/sh etc/init.d-posix/rcS 0

I think this is the expected behaviour.

I'm running the Appimage in a docker container that does not have PX4-Autopilot cloned.


Everything works nicely if the Appimage is combined with https://github.com/PX4/PX4-gazebo-models though:

Prerequisites

Testing procedure

Terminal 1

From inside the directory where https://github.com/PX4/PX4-gazebo-models was cloned

python3 simulation-gazebo

Terminal 2

PX4_GZ_STANDALONE=1 PX4_SYS_AUTOSTART=4001 PX4_SIM_MODEL=gz_x500 ./PX4_Autopilot_SITL-x86_64.AppImage

will produce output:

ubuntu@113373fda9c9:~$ PX4_GZ_STANDALONE=1 PX4_SYS_AUTOSTART=4001 PX4_SIM_MODEL=gz_x500 ./PX4_Autopilot_SITL-x86_64.AppImage
INFO  [px4] assuming working directory is rootfs, no symlinks needed.

______  __   __    ___ 
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/

px4 starting.

INFO  [px4] startup script: /bin/sh etc/init.d-posix/rcS 0
env SYS_AUTOSTART: 4001
INFO  [param] selected parameter default file parameters.bson
INFO  [param] importing from 'parameters.bson'
INFO  [parameters] BSON document size 312 bytes, decoded 312 bytes (INT32:13, FLOAT:3)
INFO  [param] selected parameter backup file parameters_backup.bson
INFO  [dataman] data manager file './dataman' size is 1208528 bytes
INFO  [init] Gazebo simulator 8.9.0
INFO  [init] Standalone PX4 launch, waiting for Gazebo
INFO  [init] Gazebo world is ready
INFO  [init] Spawning Gazebo model
INFO  [gz_bridge] world: default, model: x500_0
INFO  [lockstep_scheduler] setting initial absolute time to 7500000 us
INFO  [commander] LED: open /dev/led0 failed (22)
WARN  [health_and_arming_checks] Preflight Fail: ekf2 missing data
WARN  [health_and_arming_checks] Preflight Fail: system power unavailable
WARN  [health_and_arming_checks] Preflight Fail: No connection to the ground control station
INFO  [uxrce_dds_client] init UDP agent IP:127.0.0.1, port:8888
INFO  [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 18570 remote port 14550
INFO  [tone_alarm] home set
INFO  [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14580 remote port 14540
INFO  [mavlink] mode: Onboard, data rate: 4000 B/s on udp port 14280 remote port 14030
INFO  [mavlink] mode: Gimbal, data rate: 400000 B/s on udp port 13030 remote port 13280
INFO  [logger] logger started (mode=all)
INFO  [logger] Start file log (type: full)
INFO  [logger] [logger] ./log/2025-06-27/17_03_09.ulg
INFO  [logger] Opened full log file: ./log/2025-06-27/17_03_09.ulg
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [px4] Startup script returned successfully
pxh> WARN  [health_and_arming_checks] Preflight Fail: No connection to the ground control station
WARN  [health_and_arming_checks] Preflight Fail: No connection to the ground control station

and the x500 is properly spawned.

@mrpollo what is your idea regarding the AppImage capabilities?

  • Shall it be able to start a GZ sim with only GZ as prerequisite? (no models or worlds independetly downloaded, no dependency from https://github.com/PX4/PX4-gazebo-models)
  • Shall it only contain px4_sitl and the airframes leaving the user to provide worlds and models?

@mrpollo
Copy link
Contributor Author

mrpollo commented Jun 27, 2025

The idea is that this is a standalone instance, that is deployed in the backtground, I'm not too sure how the gz-transport works within sitl, but it's bundled in the appimage, it would be great if gazebo could be started independently and just work.

@beniaminopozzan
Copy link
Member

Let's assume a fresh GZ Harmonic is installed.

it would be great if gazebo could be started independently and just work.

The missing part here is the provider of the world and model files. Right now the Appimage does not contain them so you cannot do the equivalent of make px4_sit gz_x500 and have Gazebo starting, x500 spawing and PX4 attaching to it.

Do you want to run to run something like make px4_sit gz_x500 (in it's appimage version) and have Gazebo starting, x500 spawing and PX4 attaching to it?

@mrpollo
Copy link
Contributor Author

mrpollo commented Jun 27, 2025

The current px4_sitl + Gazebo launcher is provided for convenience; it's, however, not a requirement. Both Gazebo and SITL should be able to coexist independently. The PX4 binary offers multiple ways to set up a vehicle; you don't always need to define it by the build target. You can also utilize environment variables or configuration files for added convenience.

I'm going to look further into how Sitl and Gazebo communicate and how the wrapper launcher is currently working, so we can demystify some of its inner workings and document as much as possible. This will also enable us to utilize it conveniently for our use case.

I agree that the models and worlds should be bundled in the AppImage. Do you know where they are typically stored and accessed from?

@beniaminopozzan
Copy link
Member

The current px4_sitl + Gazebo launcher is provided for convenience; it's, however, not a requirement.

Indeed, that's why I wanted to make sure it we want to support this in the appimage

I'm going to look further into how Sitl and Gazebo communicate and how the wrapper launcher is currently working, so we can demystify some of its inner workings and document as much as possible. This will also enable us to utilize it conveniently for our use case.

https://docs.px4.io/main/en/sim_gazebo_gz/#usage-configuration-options covers most of the use cases.

I agree that the models and worlds should be bundled in the AppImage. Do you know where they are typically stored and accessed from?

Nice!
Models and worlds are in Tools/simulation/gz/models and Tools/simulation/gz/worlds respectively.
To let Gazebo know they are there src/modules/simulation/gz_bridge/gz_env.sh.in is parsed and compiled at buildtime

configure_file(gz_env.sh.in ${PX4_BINARY_DIR}/rootfs/gz_env.sh)

and the resulting gz_env.sh is sourced when px4 sim starts in non standalone mode.
# Setup gz environment variables
if [ -f ./gz_env.sh ]; then
. ./gz_env.sh
elif [ -f ../gz_env.sh ]; then
. ../gz_env.sh
fi

@DronecodeBot
Copy link

This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there:

https://discuss.px4.io/t/px4-dev-call-july-2-2025-team-sync-and-community-q-a/46266/4

mrpollo added 12 commits July 3, 2025 18:59
Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
avoids security issues in the runner

Signed-off-by: Ramon Roche <[email protected]>
mrpollo added 17 commits July 3, 2025 18:59
Signed-off-by: Ramon Roche <[email protected]>
This makes it so its usable in ubuntu 22.04 & 24.04, otherwise we start
running into dependency issues in the system for example:

```
/tmp/.mount_PX4_AuYR3Xk1/usr/bin/px4: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_PX4_AuYR3Xk1/usr/bin/px4)
/tmp/.mount_PX4_AuYR3Xk1/usr/bin/px4: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /tmp/.mount_PX4_AuYR3Xk1/usr/bin/px4)
```

Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
silly me

Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
Signed-off-by: Ramon Roche <[email protected]>
@mrpollo mrpollo force-pushed the mrpollo/appimage branch from 168c7f3 to 34ca76b Compare July 3, 2025 18:59
Signed-off-by: Ramon Roche <[email protected]>
@github-actions github-actions bot added the stale label Aug 3, 2025
@mrpollo mrpollo removed the stale label Sep 12, 2025
@github-actions
Copy link

This PR was identified as stale and it will be closed in 30 days unless any activity is detected.

@github-actions github-actions bot added the stale label Dec 12, 2025
@github-actions
Copy link

This pull request has been automatically closed due to 120 days of inactivity. If you would like to continue, please feel free to reopen it or submit a new PR.

@github-actions github-actions bot closed this Jan 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants