You can gain lot of performance by configuring linux and graphics in designs. My boot time is about 7sec.
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.
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
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
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 (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.).
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ā.
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
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
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
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.
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
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
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
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.