Stellarium app on byzantium

I know, there was an older thread more then a year ago: Stellarium on Librem 5
but now for me stellarium is starting, showing what it is loading, but not presenting the sky. Only running with high CPU usage. Any ideas?

After a year, I did again a test with the stellarium (after a fresh installation with apt remove ... apt install ..... It reads in the various database, objects etc. but is not able to bring up the scene. Attached is a log, maybe some gives an idea what could be done to fix it.

Thanks

2022-11-06T08:40:26
Operating System: PureOS
Compiled using GCC 10.2.1
Qt runtime version: 5.15.2
Qt compilation version: 5.15.2
Addressing mode: 64-bit
MemTotal:        3062532 kB
MemFree:          466292 kB
MemAvailable:    2123376 kB
SwapTotal:       1530876 kB
stellarium --startup-script= --safe-mode 
 -----------------------------------------------------
[ This is Stellarium 0.20.4 - https://stellarium.org/ ]
[ Copyright (C) 2000-2021 Fabien Chereau et al.       ]
 -----------------------------------------------------
Writing log file to: "/home/purism/.stellarium/log.txt"
File search paths:
  0 .  "/home/purism/.stellarium"
  1 .  "/usr/share/stellarium"
Config file is:  "/home/purism/.stellarium/config.ini"
Default surface format:  QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
Desired surface format:  QSurfaceFormat(version 2.1, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
StelGLWidget constructor
StelGraphicsScene constructor
initializeGL
OpenGL supported version:  "2.1 Mesa 21.2.6"
Current Format:  QSurfaceFormat(version 2.1, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
StelMainView::init
Detected: OpenGL "2.1"
Driver version string: "2.1 Mesa 21.2.6"
GL vendor is "etnaviv"
GL renderer is "Vivante GC7000 rev 6214"
GL Shading Language version is "1.20"
MESA Version Number detected:  21.2
Mesa version is fine, we should not see a graphics problem.
GLSL Version Number detected:  1.2
This is not enough: we need GLSL1.30 or later.
You should update graphics drivers or graphics hardware.
Else, please try to use an older version like 0.12.9, and try there with --safe-mode
Config option main/ignore_opengl_warning found, continuing. Expect problems.
Cache directory is:  "/home/purism/.cache/stellarium/stellarium"
[StelPropertyMgr] Registering object "StelSkyCultureMgr"
[StelPropertyMgr] Registering object "StelApp"
[StelPropertyMgr] Registering object "MainView"
[StelPropertyMgr] Registering object "StelObjectMgr"
Sky language is  "en_US"
Planetary features language is  "en_US"
Application language is  "en_US"
Empty translation file for language  "en_US" in section "stellarium-scripts"
Scripts language is  "en_US"
[StelPropertyMgr] Registering object "HipsMgr"
Loading Solar System data (1: planets and moons) ...
Loading from : "/usr/share/stellarium/data/ssystem_major.ini"
SolarSystem has  83 entries.
Loaded 83 Solar System bodies
Loading Solar System data (2: minor bodies)...
Loading from : "/home/purism/.stellarium/data/ssystem_minor.ini"
SolarSystem has  190 entries.
Loaded 107 Solar System bodies
File ssystem_minor.ini is loaded successfully...
[StelPropertyMgr] Registering object "SolarSystem"
Loading nomenclature for Solar system bodies ...
Loaded 15670 / 15672 items of planetary surface nomenclature
WARNING - The next planets to assign nomenclature items is not found: "Dactyl"
[StelPropertyMgr] Registering object "NomenclatureMgr"
Loading star data ...
"Loading /usr/share/stellarium/stars/default/stars_0_0v0_8.cat: 0_0v0_8; 4979"
"Loading /usr/share/stellarium/stars/default/stars_1_0v0_8.cat: 1_0v0_8; 21806"
"Loading /usr/share/stellarium/stars/default/stars_2_0v0_8.cat: 2_0v0_8; 150826"
"Loading /usr/share/stellarium/stars/default/stars_3_1v0_4.cat: 3_1v0_4; 425807"
Finished loading star catalogue data, max_geodesic_level:  3
Loading scientific star names from "/usr/share/stellarium/stars/default/name.fab"
Loaded 6489 / 6489 scientific star names
Loading variable stars from "/usr/share/stellarium/stars/default/gcvs_hip_part.dat"
Loaded 6862 / 6862 variable stars
Loading double stars from "/usr/share/stellarium/stars/default/wds_hip_part.dat"
Loaded 16412 / 16412 double stars
Loading cross-identification data from "/usr/share/stellarium/stars/default/cross-id.dat"
Loaded 108338 / 108338 cross-identification data records for stars
Loading parallax errors data from "/usr/share/stellarium/stars/default/hip_plx_err.dat"
Loaded 117703 / 117703 parallax error data records for stars
[StelPropertyMgr] Registering object "StarMgr"
StelCore: Invalid timezone name: ""  -- not setting timezone.
navigation/preset_sky_time is a double - treating as jday: "2451514.25001"
[StelPropertyMgr] Registering object "StelMovementMgr"
qt.gui.icc: Unsupported ICC profile class 70727472
QPngHandler: Failed to parse ICC profile
[StelPropertyMgr] Registering object "StelSkyDrawer"
[StelPropertyMgr] Registering object "StelCore"
qt.gui.icc: Unsupported ICC profile class 70727472
QPngHandler: Failed to parse ICC profile
qt.gui.icc: Unsupported ICC profile class 70727472
QPngHandler: Failed to parse ICC profile
qt.gui.icc: Unsupported ICC profile class 70727472
QPngHandler: Failed to parse ICC profile
qt.gui.icc: Unsupported ICC profile class 70727472
QPngHandler: Failed to parse ICC profile
qt.gui.icc: Unsupported ICC profile class 70727472
QPngHandler: Failed to parse ICC profile
qt.gui.icc: Unsupported ICC profile class 70727472
QPngHandler: Failed to parse ICC profile
Loading DSO data ...
[...] "Stellarium DSO Catalog, version 3.12 (standard edition)"
Loaded 94671 DSO records
Loading DSO outline data ...
Loaded 95 DSO outline records successfully
[StelPropertyMgr] Registering object "NebulaMgr"
[StelPropertyMgr] Registering object "MilkyWay"
Got location "Grobenzell, Bavaria, Germany (48.2, 11.3667; Europe/Berlin)" for IP "188.174.49.249"
[StelPropertyMgr] Registering object "ZodiacalLight"
[StelPropertyMgr] Registering object "StelSkyLayerMgr"
[StelPropertyMgr] Registering object "ToastMgr"
[StelPropertyMgr] Registering object "StelVideoMgr"
[StelPropertyMgr] Registering object "ConstellationMgr"
[StelPropertyMgr] Registering object "AsterismMgr"
LandscapeMgr: initialized Cache for 100 MB.
LandscapeMgr::setCurrentLandscapeID: Loading from file: "guereins"
[StelPropertyMgr] Registering object "LandscapeMgr"
[StelPropertyMgr] Registering object "GridLinesMgr"
[StelPropertyMgr] Registering object "SpecialMarkersMgr"
[StelPropertyMgr] Registering object "SporadicMeteorMgr"
[StelPropertyMgr] Registering object "LabelMgr"
Loading star names from "/usr/share/stellarium/skycultures/western/star_names.fab"
Loaded 1004 / 1004 common star names
Loading DSO name data ...
Loaded 1135 / 1161 DSO name records successfully
WARNING - No position data for 26 objects: "NGC 3184, NGC 5907, NGC 5907, NGC 5907, PGC 2907, PGC 23521, PGC 28759, PGC 29167, PGC 34658, PGC 42102, PGC 44750, PGC 54559, PGC 59117, PGC 59858, PGC 59953, PGC 69018, PGC 69877, PGC 73957, PGC 95597, PGC 100170, PGC 100170, PGC 119230, PGC 1694462, PGC 2822840, PGC 2826829, PGC 3098124"
Loaded 88 / 88 constellation records successfully for culture "western"
Loaded 85 / 85 constellation art records successfully for culture "western"
Loaded 88 / 88 constellation names
Loading constellation boundary data ... 
Loaded 782 constellation boundary segments
Error in Asterism  "EnP" : can't find star with coordinates 4.1186 / 88.9226
ERROR reading asterism lines record at line  74 for culture "western"
Error in Asterism  "TA1" : can't find star with coordinates 3.88679 / 63.4834
ERROR reading asterism lines record at line  80 for culture "western"
Error in Asterism  "TA2" : can't find star with coordinates 3.42407 / 71.6847
ERROR reading asterism lines record at line  82 for culture "western"
Error in Asterism  "TA4" : can't find star with coordinates 14.2555 / 18.5829
ERROR reading asterism lines record at line  85 for culture "western"
Error in Asterism  "TA5" : can't find star with coordinates 0.364622 / -23.0087
ERROR reading asterism lines record at line  87 for culture "western"
Error in Asterism  "TA6" : can't find star with coordinates 2.20589 / 8.78867
ERROR reading asterism lines record at line  88 for culture "western"
Error in Asterism  "TA8" : can't find star with coordinates 12.598 / -12.0689
ERROR reading asterism lines record at line  91 for culture "western"
Error in Asterism  "TA9" : can't find star with coordinates 12.6438 / -11.3215
ERROR reading asterism lines record at line  92 for culture "western"
Loaded 74 / 82 asterism records successfully for culture "western"
WARNING - asterism abbreviation "EnP" not found when loading asterism names
WARNING - asterism abbreviation "TA1" not found when loading asterism names
WARNING - asterism abbreviation "TA2" not found when loading asterism names
WARNING - asterism abbreviation "TA4" not found when loading asterism names
WARNING - asterism abbreviation "TA5" not found when loading asterism names
WARNING - asterism abbreviation "TA6" not found when loading asterism names
WARNING - asterism abbreviation "TA8" not found when loading asterism names
WARNING - asterism abbreviation "TA9" not found when loading asterism names
Loaded 64 / 72 asterism names
[StelPropertyMgr] Registering object "MarkerMgr"
[StelPropertyMgr] Registering object "CustomObjectMgr"
[StelPropertyMgr] Registering object "HighlightMgr"
[StelPropertyMgr] Registering object "ScreenImageMgr"
stel.OpenGLArray: Vertex Array Objects are supported
Initializing basic GL shaders... 
Creating GUI ...
[StelPropertyMgr] Registering object "SearchDialog"
[StelPropertyMgr] Registering object "StelGui"
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
Loaded plugin "Exoplanets"
[StelPropertyMgr] Registering object "Exoplanets"
[Exoplanets] Version of the format of the catalog: 1
[Exoplanets] loading catalog file: "/home/purism/.stellarium/modules/Exoplanets/exoplanets.json"
Loaded plugin "MeteorShowers"
[StelPropertyMgr] Registering object "MeteorShowers"
[MeteorShowersMgr] Loading catalog file: "/home/purism/.stellarium/modules/MeteorShowers/showers.json"
Loaded plugin "Novae"
[StelPropertyMgr] Registering object "Novae"
[Novae] version of the catalog: 1
[Novae] loading catalog file: "/home/purism/.stellarium/modules/Novae/novae.json"
Loaded plugin "Oculars"
[StelPropertyMgr] Registering object "Oculars"
Oculars::validateAndLoadIniFile() ocular.ini exists at:  "/home/purism/.stellarium/modules/Oculars/ocular.ini" . Checking version...
Oculars::validateAndLoadIniFile() found existing ini file version  3.1
Loaded plugin "Satellites"
[StelPropertyMgr] Registering object "Satellites"
[Satellites] loading catalogue file: "/home/purism/.stellarium/modules/Satellites/satellites.json"
Loaded plugin "SolarSystemEditor"
[StelPropertyMgr] Registering object "SolarSystemEditor"
Using the ssystem_minor.ini file that already exists in the user directory...
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
qt.qpa.xcb: xcb_shm_create_segment() can't be called for size 17179344900, maximumallowed size is 4294967295
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::setCompositionMode: Painter not active
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::setCompositionMode: Painter not active
qt.qpa.xcb: QXcbConnection: XCB error: 11 (BadAlloc), sequence: 688, resource id: 1314, major code: 53 (CreatePixmap), minor code: 0

Yes, same here:
apt info stellarium
apt info stellarium-data
sudo apt install stellarium

Above, old version, is not working because of:


sudo apt purge stellarium
sudo apt autoremove

Now it is your turn to visit and try stellarium in version 1.1 (user guide linked). Official link is here: https://github.com/Stellarium/stellarium/releases/. Web version is here: https://stellarium-web.org/.

I started a thread in https://github.com/Stellarium/stellarium/discussions/2831# For some reason (bug?) Qt asks for 16 GByte memory.

1 Like

From: Ruslan Kabatsayev notifications@github.com:

«Something funny is happening inside Qt. I suppose we get tlwRect.size() with enormous values in QWidgetRepaintManager::paintAndFlush(). (Looks like “tlw” means “top-level window” from what I can find in qwidgetrepaintmanager.cpp.) Someone will have to run a debugging session (with a debug build of Qt) on a device like yours to see what’s going on. »

1 Like

The file BUILDING.md lists as build dependencies:

To install all of these, use the following commands:

#### Debian / Ubuntu

##### Qt5

sudo apt install build-essential cmake zlib1g-dev libgl1-mesa-dev libdrm-dev gcc g++ \
                 graphviz doxygen gettext git libgps-dev \
                 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-pulseaudio \
                 gstreamer1.0-libav gstreamer1.0-vaapi qtbase5-dev \
                 qtbase5-private-dev qtscript5-dev libqt5svg5-dev qttools5-dev-tools \
                 qttools5-dev libqt5opengl5-dev qtmultimedia5-dev libqt5multimedia5-plugins \
                 libqt5serialport5 libqt5serialport5-dev qtpositioning5-dev libqt5positioning5 \
                 libqt5positioning5-plugins qtwebengine5-dev libqt5charts5-dev

Do you think that this could be done on the L5? Or, are there even some things which could break the phone?

1 Like

Someone compiled their own kernel on the phone, I’m sure it can handle building stellarium. Just make sure it has time and power.

What is the best way to detect in a script if any of the dependency pkg is already installed without running the install?

If you apt install them, it’ll tell you which ones are already installed and at the newest version. Other than that I’m not sure.

1 Like
for name in build-essential cmake zlib1g-dev ,,, ; do
    inst=`dpkg -l $name 2> /dev/null | grep ^.i > /dev/null && echo installed  `
    printf "%s: %s\n" $name "$inst"
done

20 of the 33 sependencies are not installed:

$ grep -v installed nohup.out  
libgl1-mesa-dev: 
libdrm-dev: 
graphviz: 
doxygen: 
libgps-dev: 
gstreamer1.0-pulseaudio: 
gstreamer1.0-vaapi: 
qtbase5-dev: 
qtbase5-private-dev: 
qtscript5-dev: 
libqt5svg5-dev: 
qttools5-dev-tools: 
qttools5-dev: 
libqt5opengl5-dev: 
qtmultimedia5-dev: 
libqt5serialport5-dev: 
qtpositioning5-dev: 
libqt5positioning5-plugins: 
qtwebengine5-dev: 
libqt5charts5-dev: 
1 Like
~$ apt list build-essential cmake zlib1g-dev libgl1-mesa-dev libdrm-dev gcc g++ graphviz doxygen gettext git libgps-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-pulseaudio gstreamer1.0-libav gstreamer1.0-vaapi qtbase5-dev qtbase5-private-dev qtscript5-dev libqt5svg5-dev qttools5-dev-tools qttools5-dev libqt5opengl5-dev qtmultimedia5-dev libqt5multimedia5-plugins libqt5serialport5 libqt5serialport5-dev qtpositioning5-dev libqt5positioning5 libqt5positioning5-plugins qtwebengine5-dev libqt5charts5-dev

apt list shows that every package available. I would proceed with sudo apt install (related to those that are not at this moment installed, please remove installed packages from my list) as you can purge those that are not currently/already installed any time afterwards if final result not what expected.

Hopefully stellarium 1.1 install process doesn’t require higher version(s) of here related packages than those within byzantium repository (this should not come out with executing: sudo apt install , yet might cause next step issue, for now let us leave this aside).

P.S. I’ll have tomorrow long day and therefore not allowed (sort of) to test anything now.

Yeah there is that, but if that’s the case then nothing in this thread will help.

1 Like

I have installed all dependency pkg, cmake went fine and make is at

...
[ 53%] Building CXX object plugins/MeteorShowers/src/CMakeFiles/MeteorShowers-static.dir/MeteorObj.cpp.o
...
[ 98%] Building CXX object src/CMakeFiles/stellarium.dir/stellarium_autogen/mocs_compilation.cpp.o
[100%] Linking CXX executable stellarium
[100%] Built target stellarium

looks promising … but not now at 1:56 CET :slight_smile:

2 Likes

Last night I compiled 1.1 from source, directly on the L5 (took ~4h). Compilation went fine, but the test start directly from /home/purism/stellarium-1.1/build/unix/src/stellarium shows the same issue:

...
Loaded plugin "Satellites"
[Satellites] loading catalogue file: "/home/purism/.stellarium/modules/Satellites/satellites.json"
Loaded plugin "SolarSystemEditor"
Using the ssystem_minor.ini file that already exists in the user directory...
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
qt.qpa.xcb: xcb_shm_create_segment() can't be called for size 17179344900, maximumallowed size is 4294967295
QWidget::paintEngine: Should no longer be called
...

One can google for the string xcb_shm_create_segment() can't be called for size 17179344900 and there are a few other such cases with other pieces of software, some pointing to screen size 4k or V4L issues. The screen of our device in question, the L5, is 720x1440. Maybe this is not correctly detected by stellarium?

The answer to this from the maintainer of stellarium is below. I’m not equipped with any knowledge of Qt. For me this story ends here.

Maintainer says in https://github.com/Stellarium/stellarium/discussions/2831 «All detection stellarium does is via Qt. And here it’s not even stellarium’s action, it’s Qt internals. This is why I said one needs a debugging session to look into Qt, this is why you need a debug build of Qt for this.»

1 Like

Is QT_QPA_PLATFORM=wayland set on your Librem 5? Running env | grep QT_QPA should tell.

If not, try starting stellarium with env QT_QPA_PLATFORM=wayland stellarium and see if this helps.

The env var was not set in general. If I set it in the small shell script which should bring up stellarium, this spills out on STDOUT or STDERR:

purism@pureos:~$ cat /tmp/stellarium.stdout
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Aborted

Are those plugins code of stellarium or of our L5 installation?

The reply from the stellarium forum about this is clear:

«These are Qt plugins. Looks like Qt has been built without Wayland support (but with X11).»

And now?

There’s a package for that, IIRC it’s qtwayland5. Install it (sudo apt install qtwayland5), and the backend will be supported.
TBH, I don’t know why it and the environment variable are not set/installed by default on the Librem 5 - the situation, as is, makes things unnecessary difficult for users.