[Sugar-devel] Regarding the Sugar on Raspberry Pi project

James Cameron quozl at laptop.org
Sun Apr 2 06:27:26 EDT 2023


G'day Simrann,

I'll reply in context below, please scroll down.

You wrote:
> While performing the testing on Sugar platform, almost all the
> activities 'failed to load' and were having erratic
> behavior. However, when I restarted Sugar, some of them started
> working fine, but after sometime again that erratic behavior showed
> up.

Yes, you may wish to investigate this.

When the shell starts an activity, a timer is initiated.  If the
activity has not started when the timer expires, the shell declares
"failed to start".  An activity that is slow to start may yet appear
after this message.

Raspberry Pi can be very slow, depending on the performance
(i.e. price) of the microSD or SD card being used.  You can measure
performance using "sudo apt install pv" and "sudo pv /dev/mmcblk0 >
/dev/null".  My test system, a Raspberry Pi Model B+ with an old 32GB
SD card, shows 20 MiB/s.

On first start, GStreamer populates a
.cache/gstreamer-1.0/registry.armv7l.bin file, Python must load all
modules, and Calculate import of matplotlib iterates over the
available styles.  All this takes time, and may cause the shell to
timeout and report "failed to start".

Graphics updates can also be very slow.  During activity launch a
pulsing icon in the shell process competes with the starting of the
activity.  Simultaneous processes making demands of the operating
system and hardware cause mutual slowdown.  You can see this using
top(1) over ssh(1).

sugar:src/jarabe/view/launcher.py sets a default launcher interval of
100 milliseconds.  On particularly slow systems we have set this to
500 milliseconds using gsettings.  You might try that, and if it fixes
the problem then you know it is the pulsing icon to blame.

```
gsettings set org.sugarlabs.desktop launcher-interval 1000
```

The pulsing icon should look much slower.  Perhaps Sugar should detect
Raspberry Pi and set it lower by default.

You can look through .sugar/default/logs for previous sessions, using
stat(1) to compare file birth (activity start), modify (last output),
and change (activity stop).  This may show you that some activities
did actually start later, but were not visible because you had gone on
to start something else.

> Also, I did try installing other activities by using the following
> command and had also listed the error in my testing report shared
> earlier with you: 
>
> sudo apt install sugar-{abacus,
> [...]

That command has been removed from my instructions.  It was out of
date.  Therefore the error is of no concern.

> As far as your second point is concerned, by Browse -> Activities
> (the library) you mean that installing activities via the Sugar
> Store ([1] https://activities.sugarlabs.org/en-US/sugar/) right? I
> will try that as well going further.

No, that's for Python 2 activities.  Debian, Ubuntu, Fedora, and
Raspberry Pi OS no longer provide Python 2.

For Python 3 activities the library is linked from Browse default page
to https://v4.activities.sugarlabs.org

The library is much smaller, because many activities have not been
released since the library was opened.

> I have also shared my GSoC proposal on mail and sugar-devel mailing
> list, I would request your suggestions and valuable feedback for
> improving the same.

That's really up to your mentors.

> Thanks a lot
> Simrann Arora


More information about the Sugar-devel mailing list