Linux version info and install instructions

You can gain lot of performance by configuring linux and graphics in designs. My boot time is about 7sec.

1 Like

which linux are you using exactly and the setup to get boot time to 7 seconds?
I saw Alpine Linux is pretty light and bare but I couldnt figure out how to load realdash in it after I downloaded it.

1 Like

I using my own linux. Optimalized and throwed out from boot what takes boot time.

@realdashdev Iā€™m testing current version (2.2.9) and getting weird behavior with screen size. It seems that RealDash is setting itā€™s window size in a very brutal way - it checks somehow the resolution of all available screen space and sets that value as itā€™s window minimum size.
This kind of works, but has a catastrophic drawback when using multiple monitors - RealDash starts on one of the screens, but has a minimal width set as the whole width of all my screens - in result, I can only see half of it :slightly_frowning_face:

Here are the results of xprop executed on RealDash:

_NET_WM_ICON(CARDINAL) = 	Icon (128 x 128):
	(not shown)

_NET_WM_DESKTOP(CARDINAL) = 2
_NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
WM_STATE(WM_STATE):
		window state: Normal
		icon window: 0x0
WM_HINTS(WM_HINTS):
		Client accepts input or input focus: True
WM_ICON_NAME(STRING) = "RealDash"
WM_NAME(STRING) = "RealDash"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
		program specified location: -1371544704, 21845
		program specified size: 3840 by 1080
		program specified minimum size: 3840 by 1080

And because that value is set as a minimum, no window manager (or any CLI tool like xdotool or wmctrl) is able to change itā€™s window sizeā€¦ Could you please set that window minimum size to something sane, for example 10% of single screen size by default?
I can easily scale the RD on Windows up to my liking, so would be nice to get it done on the Linux too.

Also, Iā€™ve noticed that if you exit from RealDash at the language or login dialog boxes, the process keeps running, has to be SIGINTed. And while on the login page, when I click on the X button, RD closes but there is core dumped - not so clean exit after all :slight_smile:

And a tiny nitpick - the .deb package should depend on following libs: libssl3, libegl1, libgles2 - it will crash on runtime without these. There is also a dependency on xdg-open app which is triggered when ā€œregisterā€ clicked on login page, but it doesnā€™t crash the RD when missing :wink: (but has weird UX of ā€˜nothing happeningā€™).

If there is anything you would need to get this done, I volunteer to be a guinea pig (capture the core dump, logs, etc.).

1 Like

Thanks for reporting these. The Linux version is on least testing of all versions so all help and bug reports are welcome.

I will check these for next release.

Edit: On what distro/hardware you made these tests? On desktop ubuntu 64bit Iā€™m unable to reproduce any core dumps or hanging processes.

As for minimum window size, I think it makes sense when app is running on fullscreen mode to have minimum size of full area. You can exit the fullscreen mode from ā€˜Settings->Application->Editingā€™.

1 Like

Iā€™ve created a bare minimum environment on Docker with Debian Bookworm and RD installed from .deb package (x64, desktop) - I guess the issues Iā€™ve pointed arenā€™t distro/setup specific, but I can test Ubuntu (in any specific version) also if that makes any sense for you (fairly easy when using Docker).

To be able to get into Settings, I need to login first, which requires turning off one of the screens :smile:
The reason for this testing is my target setup - Iā€™m planning to use RPi with 2 screens on my vehicle, one dedicated to RD and one for iOS CarPlay. Using i3 window manager itā€™s super easy to assign specific app to specific screen, but RealDash is very stubborn on this with full screen enabled by default :slight_smile:

Yes, issues you mentioned are generic outside of the exit problems/zombie process after exit, which Iā€™m unable to reproduce on my development environment. On Linux, I use gcc address sanitizer builds which is typically very efficient on catching these issues.

Repeated the tests today with refreshed 2.2.9-2 version - I can still reproduce zombie process when RD closed on language selection screen:

[bochen@pinky ~]$ realdash &
[1] 430
13:49:58.796 os_linux.cpp(443)(tid:0xf30be164) : NUTS_INFO -
13:49:58.857 renderer_opengles.cpp(328)(tid:0x00000000) : NUTS_INFO - OpenGL ES version : OpenGL ES 3.0 Mesa 22.3.6, Renderer: Mesa Intel(R) HD Graphics 4000 (IVB GT2)
13:49:58.892 gpio.cpp(321)(tid:0x00000000) : NUTS_INFO - GPIO is not available

### at this point I've closed RD ###

[bochen@pinky ~]$ ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0   3924  3072 pts/0    Ss   13:30   0:00 bash /usr/local/bin/init.sh bash
bochen        15  0.0  0.0   4704  3840 pts/0    S    13:30   0:00 bash
bochen       430 11.1  0.9 639836 156072 pts/0   Sl   13:49   0:03 realdash
bochen       437  0.0  0.0   8084  4224 pts/0    R+   13:50   0:00 ps aux
[bochen@pinky ~]$

EDIT: Iā€™ve run it with strace and this is what I get in the end (RD closed, process hanging):

poll([{fd=4, events=POLLIN}], 1, -1)    = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
restart_syscall(<... resuming interrupted poll ...>

On the harsh exit from login page (and further), I was able to capture this coredump and got this backtrace from gdb:

(gdb) bt
#0  0x00007fad7e931ccc in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fad7e8e2ef2 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007fad7e8cd472 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007fad7ef0fe44 in ?? () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#4  0x00007fad7ef327e0 in _dbus_warn_check_failed () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#5  0x000056551fd07ca2 in ?? ()
#6  0x000056551fd07cd4 in ?? ()
#7  0x000056551fd1dbe6 in ?? ()
#8  0x000056551fece8d8 in ?? ()
#9  0x000056551fcca18c in ?? ()
#10 0x00007fad7e8ce18a in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x00007fad7e8ce245 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#12 0x000056551fce7d05 in ?? ()

It corresponds to this RD log:

dbus[317]: arguments to dbus_connection_unref() were incorrect, assertion "connection != NULL" failed in file ../../../dbus/dbus-connection.c line 2823.
This is normally a bug in some application using the D-Bus library.

  D-Bus not built with -rdynamic so unable to print a backtrace
Aborted (core dumped)

So it seems that DBus connection is missing (no surprise on minimal Docker image) and RD is not handling that very well :slightly_smiling_face:

This is very helpful, indeed this points to DBus problem. The DBus is used to communicate with Spotify and to prevent the screen saver activating while RealDash is running. I will check and fix for next release.

1 Like

When iā€™m trying to install the software. i get the error: libssl3 not installed. how can i resolve this?

Hi @realdashdev

Thank you for the great guide at the top. I ran into the same problem as @bramus had when trying to install on the current version on Pi OS which is Debian 11 and GLIBC 2.31. It seems the current version of Realdash is requesting GLIBC 2.34, or at leas the version of libssl3 that requires 2.34.

Are legacy versions of Realdash available for download that would be happy with the Pi OS 2.31?
Would it be possible to lower the min requirement of Realdash so that its happier on Pi OS

We do the builds and testing on Raspberry Pi4 on Raspberry Pi OS Debian Bullseye. Here are the install package dependencies:

Depends: libbluetooth3 (>= 4.91), libc6 (>= 2.27), libdbus-1-3 (>= 1.9.14), libegl1, libgles2, libssl3, libglib2.0-0 (>= 2.12.0), libgstreamer1.0-0 (>= 1.0.0), libopenal1 (>= 1.14), libuuid1 (>= 2.16), libx11-6, libvlc5

Iā€™m not sure what dependency would need to be relaxed. libssl3 is the requirement for latest ssh/https connections.

Thank you for getting back to me on this, good to know that it should work. Not sure where Iā€™m going wrong then. My install wasnā€™t happy with the version of libssl3, and couldnā€™t seem to update that without a newer version of libc6. Iā€™ll try again

1 Like

the package libssl3 is not found in raspbian, so i canā€™t install last version.

Donā€™t know what I could do about this. We use Raspberry Pi4 and the latest OS on development, so ā€œsomehowā€ the libssl3 has been included there.

Ok, I did a fresh installation of Raspian on Rapbarry pi 4 and went I try to install RD, I got an error about missing package libssl3

How about:

sudo apt install libssl-dev

And then trying to install RD.

Thanks @realdashdev, just tried it, but it still asks for libssl3 if you do the libssl-dev as above. I had it working earlier in the week, took quite a few extra packages to get running. That SD failed so just going through it again now. Will post the bits I needed once installed

1 Like

Good news, Iā€™ve got it kinda working on Pi 4 with 32bit os. Itā€™s still not happy though.

The dpkg suggests that it hasnā€™t installed due the missing libssl3, however if you check in the menu, itā€™s there and launches fine. Not tested any connections in the car yet.

Issue is though, the system sees Realdash as a broken install and if you do fix broken install it gets removed.

Libssl-dev doesnā€™t install libssl3.

If I try to install libssl3, it wants newer libc6, if i try to install libc6 it wonā€™t as it will break locales (not sure what this mean) if I try try update it wonā€™t because lib-bin isnā€™t right :thinking:

If anyone can suggest a way to install libssl3 without the faff of chasing these other dependancies that would really helpful. If yiubtry to do it the same way as the others in the guide, it says libssl3 canā€™t be found, so perhaps thereā€™s an extra source we need to add?

Ok, thank you for trying this out. I will also make another ā€˜cleanā€™ test environment for install.

1 Like