Watchface and Package Installation: Difference between revisions

From AsteroidOS
m (Fixed typo in ipv4 address of watch)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
To use the script you will need to clone the unofficial-watchfaces repo.
To use the script you will need to clone the unofficial-watchfaces repo.


<code>
<pre>
git clone https://github.com/AsteroidOS/unofficial-watchfaces
git clone https://github.com/AsteroidOS/unofficial-watchfaces
</code>
</pre>


Change into the new directory.
Change into the new directory.


<code>
<pre>
cd unofficial-watchfaces
cd unofficial-watchfaces
</code>
</pre>


Execute the script with no flag to use SSH connection and SCP commands.
Execute the script with no flag to use SSH connection and SCP commands.


<code>
<pre>
./watchface
./watchface
</code>
</pre>


Or use ADB connection and commands with the <code>-a</code> flag.
Or use ADB connection and commands with the <code>-a</code> flag.


<code>
<pre>
./watchface -a
./watchface -a
</code>
</pre>


These commands will display a series of text menus.  To install watchfaces on your watch, choose the <code>deploy</code> option.
These commands will display a series of text menus.  To install watchfaces on your watch, choose the <code>deploy</code> option.
Line 37: Line 37:


Installing a watchface requires pushing the .qml file and the required assets (e.g.  fonts, images, etc.) into the <code>/usr/share/asteroid-launcher/watchfaces/</code> directory on your watch.
Installing a watchface requires pushing the .qml file and the required assets (e.g.  fonts, images, etc.) into the <code>/usr/share/asteroid-launcher/watchfaces/</code> directory on your watch.
<code>
<pre>
scp watchface-name.qml root@192.168.2.15:/usr/share/asteroid-launcher/watchfaces/
scp watchface-name.qml root@192.168.2.15:/usr/share/asteroid-launcher/watchfaces/
</code>
</pre>
If the watchface has additional dependencies on assets you can push them the same way.
If the watchface has additional dependencies on assets you can push them the same way.
<code>
<pre>
scp image.png root@192.168.2.15:/usr/share/asteroid-launcher/watchfaces-img/
scp image.png root@192.168.2.15:/usr/share/asteroid-launcher/watchfaces-img/
</code>
</pre>
Some watchfaces include their own font.
Some watchfaces include their own font.
<code>
<pre>
scp fontname.ttf root@192.168.2.15:/usr/share/fonts/
scp fontname.ttf root@192.168.2.15:/usr/share/fonts/
</code>
</pre>


= Wallpaper Installation =
= Wallpaper Installation =
Line 55: Line 55:


To use the script you will need to clone the [https://github.com/AsteroidOS/asteroid-wallpapers asteroid-wallpapers] repo.
To use the script you will need to clone the [https://github.com/AsteroidOS/asteroid-wallpapers asteroid-wallpapers] repo.
<code>
<pre>
git clone https://github.com/AsteroidOS/asteroid-wallpapers
git clone https://github.com/AsteroidOS/asteroid-wallpapers
</code>
</pre>
Change into the new directory.
Change into the new directory.
<code>
<pre>
cd asteroid-wallpapers
cd asteroid-wallpapers
</code>
</pre>


Place jpg, jpeg, png, svg, bmp or webp wallpaper images of at least 480x480px resolution here. Then generate preview images and copy scaled versions of your wallpapers to the correct folders.
Place jpg, jpeg, png, svg, bmp or webp wallpaper images of at least 480x480px resolution here. Then generate preview images and copy scaled versions of your wallpapers to the correct folders.
<code>
<pre>
./generate-scaled-images.sh
./generate-scaled-images.sh
</code>
</pre>
Copy all wallpapers and preview images to a watch connected via USB/SDK Mode:
Copy all wallpapers and preview images to a watch connected via USB/SDK Mode:
<code>
<pre>
./copy-to-watch.sh
./copy-to-watch.sh
</code>
</pre>
For advanced copy options execute:
For advanced copy options execute:
<code>
<pre>
./copy-to-watch.sh -h
./copy-to-watch.sh -h
</code>
</pre>


== Manual method ==
== Manual method ==
In case you wish to quickly install a wallpaper that is not provided as a package, you can install it manually using the following command. Mind that copying a large image file might impact overall performance. Usage of the above described scripted method is highly advised.
In case you wish to quickly install a wallpaper that is not provided as a package, you can install it manually using the following command. Mind that copying a large image file might impact overall performance. Usage of the above described scripted method is highly advised.


<code>
<pre>
scp wallpapername.jpg root@192.168.2.15:/usr/share/asteroid-launcher/wallpapers/full/
scp wallpapername.jpg root@192.168.2.15:/usr/share/asteroid-launcher/wallpapers/full/
</code>
</pre>


Alternatively, you may also use the <code>watchface</code> script from the [unofficial-watchface collection](https://github.com/AsteroidOS/unofficial-watchfaces).  It has a command line option <code>-w</code> or <code>--wall</code> which can install a picture as wallpaper to the watch while you are installing a watchface.
Alternatively, you may also use the <code>watchface</code> script from the [unofficial-watchface collection](https://github.com/AsteroidOS/unofficial-watchfaces).  It has a command line option <code>-w</code> or <code>--wall</code> which can install a picture as wallpaper to the watch while you are installing a watchface.


<code>
<pre>
./watchface --wall MyPicture.jpg deploy sporty-round-v2
./watchface --wall MyPicture.jpg deploy sporty-round-v2
</code>
</pre>


= Package Installation=
= Package Installation=
Line 100: Line 100:
There are also some packages that are not installed by default that might be useful to some users.  For example, for developers, there is [https://github.com/MagneFire/asteroid-qmltester <code>asteroid-qmltester</code>] that provides a very handy way to test out QML code on the watch or in the emulator.  Installing it is simple from the command line as root on the watch.
There are also some packages that are not installed by default that might be useful to some users.  For example, for developers, there is [https://github.com/MagneFire/asteroid-qmltester <code>asteroid-qmltester</code>] that provides a very handy way to test out QML code on the watch or in the emulator.  Installing it is simple from the command line as root on the watch.


<code>
<pre>
opkg install asteroid-qmltester
opkg install asteroid-qmltester
</code>
</pre>


'''Note:''' as of 10 February 2023, the nightly builds aren't quite working correctly for these extra packages.  See [https://github.com/AsteroidOS/asteroid/issues/235 this open issue] for details.
'''Note:''' as of 10 February 2023, the nightly builds aren't quite working correctly for these extra packages.  See [https://github.com/AsteroidOS/asteroid/issues/235 this open issue] for details.
Line 108: Line 108:
== Installation of local packages ==
== Installation of local packages ==
Before you can install the package you need to push it to the watch.
Before you can install the package you need to push it to the watch.
<code>
<pre>
scp packagename.ipk root@192.168.2.15:/home/root
scp packagename.ipk root@192.168.2.15:/home/root
</code>
</pre>
After that you can use [[SSH]] to login and install the package
After that you can use [[SSH]] to login and install the package
<code>
<pre>ssh root@192.168.2.15</pre>
ssh root@192.168.2.15
<pre>opkg install packagename.ipk</pre>
opkg install packagename.ipk
</code>


When the package is installed you can remove the installation package from your root users home-directory and close the SSH connection to your watch.
When the package is installed you can remove the installation package from your root users home-directory and close the SSH connection to your watch.
<code>
<pre>rm /home/root/packagename.ipk</pre>
rm /home/root/packagename.ipk
<pre>exit</pre>
exit
</code>


== Reinstallation of local packages ==
== Reinstallation of local packages ==
If you need to reinstall a package you can add the <code>--force-reinstall</code> flag to the opkg command.
If you need to reinstall a package you can add the <code>--force-reinstall</code> flag to the opkg command.
<code>
<pre>
opkg install --force-reinstall packagename.ipk
opkg install --force-reinstall packagename.ipk
</code>
</pre>


== Troubleshooting==
== Troubleshooting==
Line 134: Line 130:


The package you are trying to install may depend on other packages and their versions. You can install the dependencies first, add the <code>--force-depends</code> flag to your install command to ignore dependencies or decide to not install the package. Ignoring the dependencies can lead to broken or unstable packages.
The package you are trying to install may depend on other packages and their versions. You can install the dependencies first, add the <code>--force-depends</code> flag to your install command to ignore dependencies or decide to not install the package. Ignoring the dependencies can lead to broken or unstable packages.
<code>
<pre>
opkg install --force-depends packagename.ipk
opkg install --force-depends packagename.ipk
</code>
</pre>

Latest revision as of 22:34, 4 July 2023

Watchface Installation

Scripted method

Watchfaces listed in the [unofficial-watchface collection](https://github.com/AsteroidOS/unofficial-watchfaces) bring their own installation script.

To use the script you will need to clone the unofficial-watchfaces repo.

git clone https://github.com/AsteroidOS/unofficial-watchfaces

Change into the new directory.

cd unofficial-watchfaces

Execute the script with no flag to use SSH connection and SCP commands.

./watchface

Or use ADB connection and commands with the -a flag.

./watchface -a

These commands will display a series of text menus. To install watchfaces on your watch, choose the deploy option.

Note: to make sure you have the latest versions of everything, you can run ./watchface update. This will pull the very latest versions from the web.

Manual method

If you wish to install a watchface that has no installation script or is not provided as a package you may install it manually using the following instructions.

Installing a watchface requires pushing the .qml file and the required assets (e.g. fonts, images, etc.) into the /usr/share/asteroid-launcher/watchfaces/ directory on your watch.

scp watchface-name.qml root@192.168.2.15:/usr/share/asteroid-launcher/watchfaces/

If the watchface has additional dependencies on assets you can push them the same way.

scp image.png root@192.168.2.15:/usr/share/asteroid-launcher/watchfaces-img/

Some watchfaces include their own font.

scp fontname.ttf root@192.168.2.15:/usr/share/fonts/

Wallpaper Installation

Scripted method

The scripts provided in the asteroid-wallpapers repo aim to make adding custom wallpapers easy.

To use the script you will need to clone the asteroid-wallpapers repo.

git clone https://github.com/AsteroidOS/asteroid-wallpapers

Change into the new directory.

cd asteroid-wallpapers

Place jpg, jpeg, png, svg, bmp or webp wallpaper images of at least 480x480px resolution here. Then generate preview images and copy scaled versions of your wallpapers to the correct folders.

./generate-scaled-images.sh

Copy all wallpapers and preview images to a watch connected via USB/SDK Mode:

./copy-to-watch.sh

For advanced copy options execute:

./copy-to-watch.sh -h

Manual method

In case you wish to quickly install a wallpaper that is not provided as a package, you can install it manually using the following command. Mind that copying a large image file might impact overall performance. Usage of the above described scripted method is highly advised.

scp wallpapername.jpg root@192.168.2.15:/usr/share/asteroid-launcher/wallpapers/full/

Alternatively, you may also use the watchface script from the [unofficial-watchface collection](https://github.com/AsteroidOS/unofficial-watchfaces). It has a command line option -w or --wall which can install a picture as wallpaper to the watch while you are installing a watchface.

./watchface --wall MyPicture.jpg deploy sporty-round-v2

Package Installation

While AsteroidOS has a package manager, there is currently no graphical app store.

Installation of prebuilt packages

There is a server that contains the latest prebuilt image files and packages. AsteroidOS uses a version of the opkg package manager. It's a lightweight package manager that allows the user to find, install and upgrade software that's installed on an AsteroidOS watch.

To use it to upgrade all software packages on the watch, see the instructions for how to update using opkg.

There are also some packages that are not installed by default that might be useful to some users. For example, for developers, there is asteroid-qmltester that provides a very handy way to test out QML code on the watch or in the emulator. Installing it is simple from the command line as root on the watch.

opkg install asteroid-qmltester

Note: as of 10 February 2023, the nightly builds aren't quite working correctly for these extra packages. See this open issue for details.

Installation of local packages

Before you can install the package you need to push it to the watch.

scp packagename.ipk root@192.168.2.15:/home/root

After that you can use SSH to login and install the package

ssh root@192.168.2.15
opkg install packagename.ipk

When the package is installed you can remove the installation package from your root users home-directory and close the SSH connection to your watch.

rm /home/root/packagename.ipk
exit

Reinstallation of local packages

If you need to reinstall a package you can add the --force-reinstall flag to the opkg command.

opkg install --force-reinstall packagename.ipk

Troubleshooting

Missing dependencies detected during package install

The package you are trying to install may depend on other packages and their versions. You can install the dependencies first, add the --force-depends flag to your install command to ignore dependencies or decide to not install the package. Ignoring the dependencies can lead to broken or unstable packages.

opkg install --force-depends packagename.ipk