Linux version info and install instructions

Though of opening a new thread for discussion about RealDash Linux version. Please report any problems or Linux version related requests here.

Current Linux version is build on top of Xorg and requires X11 desktop environment. This is not optimal performance wise, especially on SBC computers, but at least its something to get started. Benefit on running on desktop environment is ability to run on Windowed mode, and interoperability with other apps like Spotify.

Currently there are 4 versions available at My RealDash

  • Intel 64bit (amd64)
  • Intel 32bit (i386)
  • Arm 64bit (arm64)
  • Arm 32bit (armf)

To install, download the package and:

sudo apt install libopenal1 libvlc5 libssl1.1 gpiod espeak-ng
sudo dpkg -i [installation package file, for example: realdash-mrd_2.3.8-1_amd64.deb]

If you get errors about libssl1.1 dependency, try:

sudo apt --fix-broken install
sudo dpkg -i --ignore-depends=libssl1.1 [installation package file]

RealDash can be started from Start Menu->Graphics, or by typing realdash into the terminal.

Generic Notes

Arm version has been built and tested on Raspberry Pi4. Performance is not great, but its quite usable. The Raspberry Pi VideoCore GPU has a somewhat turbulent development history and drivers are still not great on Linux. Good example of this is that Running Android on same hardware gives much better graphics performance.

The ARM version of RealDash should run on any Linux SBC with ARM processor. RealDash pretty much requires 1Gb of ram to run. We have tested on 512Mb devices, but it will quickly run out of memory if using anything else than very simple dashboards.

There are also some settings that are required when running on Raspberry Pi:

  • Update everything
sudo apt update
sudo apt upgrade
sudo reboot
  • On Raspberry PI 4 and older, Increase the amount of GPU memory and enable KMS. The default 64Mb just is not enough for anything. On 1Gb ram devices, use at least 128Mb for GPU. On 2Gb or more ram, use at least 256Mb. The required GPU memory is related to screen pixel size; more pixels on screen, more memory is required to run.
sudo raspi-config
4 Performance Options
P2 GPU Memory
256
OK
FINISH
REBOOT

SocketCAN support

From version 2.0.5 RealDash supports SocketCAN. SocketCAN is a Linux kernel level support for CAN communications. Typically this is used with ‘cantools’ package. In practise, if you get CAN data with

candump can0

where can0 is your CAN interface, RealDash will also be able to read/write the CAN data. In addition, RealDash attempts to set the user selected CAN bitrate, but this requires that ‘ip link set’ commands are in sudoers list for the current user. You can test this by issuing command:

sudo ip link set can0 up type can bitrate 500000 restart-ms 100

If you are asked for password, RealDash will not be able to set the CAN parameters automatically, instead whatever state for the CAN interface is currently up, is used. Do not attempt to remedy this by running RealDash as root. Instead, create a sudoers file for the current user that CAN interface can be configured without password.

SocketCAN Implementation was developed and tested on Raspberry Pi 4 and PiCAN3 hat. In theory any Linux installation with working cantools/candump should work.

GPIO support

RealDash implements the GPIO inputs/outputs thru gpiod. This has been tested on Raspberry Pi 4 and 5, but should (in theory) work on other SBCs too. There is a new targetId category ‘GPIO’ and it contains all ‘free’ GPIO pins on typical raspi header. TargetIds are numbered per header PIN numbers. For example GPIO 17 is marked as PIN 11 in RealDash. In addition, RealDash introduces a special targetIds for servo motors. These allow easy usage of slider gauge etc. to control a servo motor via selected pin.

2 Likes

This is great updates for all us Linux SBC nerds.

Any chance you could implement support for PiCAN hat, or the Can-controller MCP2515?

Which version of Raspbian do you test on?

How much effort would it take for you to make Realdash run without an desktop installation?

There is a chance after Linux version stabilizes. On my backlog I have Raspi GPIO and PiCAN hat.

I can’t remember the Raspbian version, but its the latest available with full upgrades.

We already have a prototype of X-less version for Linux. It still has some issues though, worst being that it does not run without sudo and running with sudo causes issues with user folder handling.

I’m again swamped in projects, so no promises when these improvements would happen.

Sounds great, I hope you get some time soon to test out X-less on Linux so it gets available to us testers :wink: I think a Raspberry Pi and a PiCAN-hat would make an killer solution for different projects.

Have you tested CAN Analyzer with Linux? I get freezed RealDash window when I try to initiate the interface under connections in the garage. My user is a membor of the groups dialout and TTY. My testenviroment is RealDash on Ubuntu 21.10 amd64.
Same Usb-CAN Analyzer works great in another setup with Android on a different SCB.


Update:
Tested the same hardware on a Raspberry Pi 4 with Raspbian OS Bullseye and full X-desktop. RealDash freezes as soon as I plug the CAN-interface in the USB-connector, when I pull it out does RealDash resume and everything works again. Also on this setup is the user Pi a member of TTY and Dialout.

Thanks for reporting, I will test it.

Uploaded 1.9.9-2 Linux versions. This fixes USB/Serial connection hang experienced by some users.

Tried the new version now on Ubuntu 21.10 with X11. Works great with CAN Analyzer!

Now awaiting can-utills support and X-less setup :smiley:

Apparently i stumbled upon Realdash just in time, since running my digital dash on an RPi was my primary goal
are there some guinea pig things i can do, to robustify it?

question: can this linux version render two different gauges on two different displays off a Pi? or is that way too much horsepower to ask from it

I have not tried, but I’d rather use two devices and share the data between them with Data Multicasting feature.

Great, thanks for testing! X-less will take a bit more effort than we expected. Basically everything, like keyboard input, locales, mouse/touch inputs etc must be developed from the scratch. Locale based keyboard input for example is quite a problem when entering MRD passwords etc.

I would like to download this, but I don’t see any links. Is this because I don’t have enough posts? I run Realdash on a Tablet from a Link ECU and ODB2 Bluetooth adapter. Since it’s in my windshield it overheats on hot days. Looking to either throw this on a Pi 3B or on a Dell Wyse 3040 (which is currently my Omada network controller).

PS, I have a Can Hat on the Pi. Not sure how easily that’ll be to pass bits back and forth.

The Downloads section is in My RealDash pages. my.realdash.net

Thank you. Going to give this a shot on the Pi 3 tonight.

Just tested the armf package on Asus Tinker Board S, with their debian based TinkerOS.

Some results with out-of-the-box OS install, no tweaks of any kind. Image: ‘Tinker_Board-Debian-Buster-v3.0.11-20211026’

Pros:

  • Screen update performance seems to be a bit better than RPI 3/4. Still not full 60fps at all times, but not bad considering running on X11.
  • Cold boot is faster than RPI4- about 25 seconds to run RealDash. I bet this is mainly due booting from EMMC.
  • Consumes 15% less power than RPI4

Cons:

  • espeak-ng package is not available from default repos

I’ve been failing for a couple of days.
Raspberry OS Lite = Fail
piCore = Fail
DietPi = Fail
Raspberry OS Graphical = Working, but if you boot to the command line = Fail.

Is a Desktop Environment a requirement? I was hoping to be able to run it from the command line and have it start straight up. Plus, the fact that we know Pi’s aren’t the most powerful. I wanted a bare OS to just run Realdash.

Yes, X environment is currently required. We are working on X-less version, but there are multiple problems with it currently.

I would recommend for everybody to read the first post of this thread carefully before attempting to install the Linux version. That will probably save you a lot of time and frustration.

1 Like

I now have a collection of SBCs that I have run RD on. I really would like to use it under linux, as a fast boot option would solve all of the power supply and suspend issues. Working with a Raspberry Pi4 now, and if it boots all the way up, RD runs well. Unfortunately, the long boot time makes it impractical to deploy out. Will be really great if we can run RD from the command line, and only load the drivers we need, cutting that boot time down a bunch. If it can get down to a sub-6 second time, RD becomes practical and accessible for a lot more people.

Fast boot wise, I recommend experimenting with disabling unnecessary components, also compiling the OS image, and also booting from an SSD

How quick are you getting yours to boot up and run RD? What hardware are you using?