How to guide: Mission Planner on Raspberry Pi

Thank you to @Holly918 for putting the guide together and all the work you put in and @Michael_Oborne for the guidance. We put together a Ground Control Station with a Rpi4 at its core, running MP and online dashboard for onboard IoT/MQTT environmental sensors. The main reason we went with Rpi4 is the ability to run dual monitors, however we ran into a roadblock when turning off OpenGL as you can only use one monitor. As Michael O. noted, you can use the LIBGL_ALWAYS_SOFTWARE=1 environment parm however that would be universal (also believe others ran into problems with that). After digging around and finding an old post on Reddit we found a workaround to use this parm flag by app (MP only) and OpenGL can run on all other instances.

Use the desktop shortcut file that Holly918 lists in their guide, however change this one line:

Exec=env LIBGL_ALWAYS_SOFTWARE=1 mono /home/pi/MissionPlanner-latest/MissionPlanner.exe

*Note if you are using an explicit version instead of ‘MissionPlanner-latest’ then change that section to your version.

That did the trick for us, leaving OpenGL enabled, now we can run MP on one screen and webpage dashboards on the other. We also have UDP working over Zerotier VPN and UAVCast. Note: We encountered a problem with gstreamer, once we installed that MP would crash constantly. Even after removing gstreamer and its dependencies we still had problems so just started with a fresh install of Raspbian OS on a 32GB SD card. Our USV has a RaPi3B+ and our GCS is using the RaPi4 2GB version. When we first connected via UDP we were having problems with the map rendering however after rebooting we are now able to zoom all the way in to the max limit.

We will revisit the gstreamer issue later but will be moving on for now as we have separate android tablets to use for live video as a workaround. Mission creep has already dragged this on long enough, moving on to actual live missions.

Thanks again, much appreciated!

Edit: credit to reddit /u/magick_68 for his fix here: https://www.reddit.com/r/Crostini/comments/f0g9d3/disable_gpu_acceleration_per_app/ They found that tip on some other nameless thread.

1 Like