Updating SqueezeplayOS

General discussion relating to the O2 Joggler, from the default O2 setup, to alternative operating systems and applications.
Post Reply
sixedup
Posts: 25
Joined: Mon May 14, 2012 12:01 pm

Updating SqueezeplayOS

Post by sixedup »

I've been running SqueezeplayOS (viewtopic.php?f=2&t=14) on the internal flash of several Jogglers for many years now. It works really well, but does hang from time to time, and is now getting very (VERY) old. I would like to update everything to newer software versions. I noticed @Roobarb! is now building i386 headless Debian Bookworm images for the Joggler, and after talking to @Man in a van I'm quite interested in adding just javalite and squeezelite to it, to keep everything as lightweight as possible.

So far, I've got Debian Bookworm from @Roobarb installed on a USB flash key installed in the side of an O2 Joggler. It works nicely.

Next I wanted to add javalite. So I followed the instructions on post 3 of this thead https://forums.slimdevices.com/forum/us ... pplication to add javalite.

SSH into the running debian install, and install build tools, git and SDL:

Code: Select all

sudo apt update
sudo apt upgrade
sudo apt install build-essential git libsdl1.2-dev libsdl-ttf2.0-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libexpat1-dev
Install luajit. Unfortunately the luajit v2.1 in the Debian repositories can't compile the javalite code (and I couldn't work out why not!) so we need to install the old 2.0 version from the lua website instead:

Code: Select all

git clone https://luajit.org/git/luajit-2.0.git
cd luajit-2.0
make
sudo make install
sudo ldconfig
cd ..
Now install jivelite:

Code: Select all

git clone https://github.com/ralph-irving/jivelite.git
cd jivelite
make
Now try running jivelite:

Code: Select all

sudo /home/of/javalite/bin/javalite
The result is that the framebuffer and touchscreen are detected, and the GUI comes straight up. Nice. The cursor tracks finger movement on the touchscreen, but is significantly offset from my actual finger position (half a screen to the left, and half a screen above my actual finger position). This makes a lot of the UI unusable, but it looks like I just need to calibrate the touchscreen. How hard can that be? :lol:

I've seen comments claiming calibration success from people using TSLib, so:

Code: Select all

sudo apt install libts0 libts-bin
I then calibrated the touchscreen using ts_calibrate:

Code: Select all

sudo TSLIB_FBDEVICE=/dev/fb0 TSLIB_TSDEVICE=/dev/input/event1 TSLIB_CALIBFILE=/etc/pointercal TSLIB_CONFFILE=/etc/ts.conf TSLIB_PLUGINDIR=/usr/lib/i386-linux-gnu/ts0 /usr/bin/ts_calibrate

xres = 800, yres = 480
Took 1 samples...
Top left : X = 2336 Y = 3808
Took 2 samples...
Top right : X = 30464 Y = 3936
Took 3 samples...
Bot right : X = 30592 Y = 29536
Took 1 samples...
Bot left : X = 2208 Y = 29824
Took 4 samples...
Center : X = 16528 Y = 16976
-6.908454 0.024773 0.000000
-8.259348 0.000042 0.014722
Calibration constants: -452752 1623 0 -541284 2 964 65536
Confguration data is also written into /etc/pointercal so it can be automatically used from now on. I then tested the calibration using ts_test:

Code: Select all

sudo TSLIB_FBDEVICE=/dev/fb0 TSLIB_TSDEVICE=/dev/input/event1 TSLIB_CALIBFILE=/etc/pointercal TSLIB_CONFFILE=/etc/ts.conf TSLIB_PLUGINDIR=/usr/lib/i386-linux-gnu/ts0 /usr/bin/ts_test
The result of this was apparently perfect; very accurate and precise tracking of the cursor to my finger on the screen. But when I tried to do the same with jivelite:

Code: Select all

sudo TSLIB_FBDEVICE=/dev/fb0 TSLIB_TSDEVICE=/dev/input/event1 TSLIB_CALIBFILE=/etc/pointercal TSLIB_CONFFILE=/etc/ts.conf TSLIB_PLUGINDIR=/usr/lib/i386-linux-gnu/ts0 /home/of/jivelite/bin/jivelite
The result was initially exactly as if I had no calibrated the touchscreen at all. However, as I continued to use it, it seemed to get somewhat more accurate. Which makes no sense. And even at its best, it was still a very clunky experience. So, how have other people succeeded with this? Did you all install X Windows (which provides calibration of the touchscreen, albeit at the price of loading a lot more software onto the machine) or did you find a better solutiion?
Man in a van
Posts: 486
Joined: Sun Aug 25, 2013 2:39 pm
Location: Staffordshire. UK

Re: Updating SqueezeplayOS

Post by Man in a van »

@sixedup

I normally install Jivelite using xserver, but here is a procedure I have just completed, without xserver, it gives jivelite, autostart at reboot using a cronjob, no cursor and calibration is out a bit. but workable.

This brings the size to
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
of@openframe:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 242M 0 242M 0% /dev
tmpfs 50M 1.8M 48M 4% /run
/dev/sda2 30G 1.4G 27G 5% /
tmpfs 246M 0 246M 0% /dev/shm
tmpfs 5.0M 8.0K 5.0M 1% /run/lock
tmpfs 192M 20K 192M 1% /tmp
tmpfs 16M 16K 16M 1% /var/log
/dev/sda1 41M 16M 26M 37% /boot
tmpfs 50M 0 50M 0% /run/user/1000
of@openframe:~$
I'm using a 32gb micro sd card in a reader (It's a bit quicker for testing purposes)

This is with

user=of
passwd=joggler

Note:
With regard to the line "make && echo joggler | sudo -S sudo make install", I use this because the sudo may timeout.
If you have changed the password then alter the word "joggler" correspondingly

I use PuTTY for SSH from a Windows 10 Desktop

SSH into the joggler and run

Code: Select all

sudo apt update && sudo apt full-upgrade -y; sudo of-expand
-----------------------------------------------------------------------------------------------------------------------------
When it comes back up, log in and wait for the expand to complete

Code: Select all

sudo apt update && sudo apt install -y build-essential git libluajit-5.1-dev libsdl1.2-dev libsdl-ttf2.0-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libexpat1-dev && sudo reboot
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When the joggler comes back up

Code: Select all

sudo apt update
cd 
mkdir luajit
cd luajit
git clone https://luajit.org/git/luajit-2.0.git
cd luajit-2.0
make &&  echo joggler | sudo -S sudo make install
sudo ldconfig
cd 
git clone https://github.com/ralph-irving/jivelite.git
cd jivelite
sudo make PREFIX=/usr/local
sudo reboot
--------------------------------------------------------------------------------------------------

When the Joggler comes back up

ssh into joggler and type

Code: Select all

sudo nano startjivelite.sh
add the following text (replace user name if different)
-------------------------------------------------------------------------------------

Code: Select all

#!/bin/bash

export JIVE_NOCURSOR=1

/home/of/jivelite/bin/jivelite
---------------------------------------------------------------------------------
Save the file by pressing Ctrl + O, and press enter, and exit using Ctrl + X

Make it executable

Code: Select all

sudo chmod -R 755 startjivelite.sh
--------------------------------------------------------------------------------
Then set the crontab for start-up

Code: Select all

sudo crontab -e
(select option 1 )

add at the botttom (change user name and location if different)

Code: Select all

@reboot /home/of/startjivelite.sh
Save the file by pressing Ctrl + O, and press enter, and exit using Ctrl + X

Code: Select all

sudo reboot

ronnie

I do get some album art (playing BBC 6 at the moment) but further testing is required

Note: it is possible to put the install and build instructions into a bash file (maybe with a small alteration here and there) and run that, then do the startjivelte.sh file and cronjob.

Album art changing ok so far, it seems to need to "warm up"
Man in a van
Posts: 486
Joined: Sun Aug 25, 2013 2:39 pm
Location: Staffordshire. UK

Re: Updating SqueezeplayOS

Post by Man in a van »

If one want to add xserver;

Do,

Code: Select all

sudo apt update && sudo apt install -y xinit xserver-xorg && sudo reboot
and change the startjivelite bash file to

Code: Select all

#!/bin/bash

export JIVE_NOCURSOR=1

sudo -E xinit /home/of/jivelite/bin/jivelite
ronnie
Man in a van
Posts: 486
Joined: Sun Aug 25, 2013 2:39 pm
Location: Staffordshire. UK

Re: Updating SqueezeplayOS

Post by Man in a van »

From some old notes

Originally posted by chill View Post
- The 'Quit' option on the Jivelite home screen dumps you out of Jivelite, and in my case leaves a terminal screen with some messy video artefacts along the bottom third of the screen. I think that option should be changed to restart JiveLite, or just be removed altogether.


It's easier to just start jivelite from a script which relaunches jivelite on exit.
You can hide the Quit option, hold the Quit menu item until a popup window displays, then choose Hide from Home Menu.

Code:

#!/bin/bash
export JIVE_NOCURSOR=1

while true; do
/usr/local/bin/jivelite
sleep 1
done

Originally posted by chill View Post
- The cursor is still present for ~15 seconds before disappearing.

export JIVE_NOCURSOR=1

Before you start jivelite will prevent the cursor displaying at all.
Ralphy
-------------------------------------------------------------------------------------------------------------------------------------------

For tinycore or alpine linux and jivelite without X windows, you will need to have linux frame buffer support enabled in the SDL 1.2.15 library.
Ralphy
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Man in a van
Posts: 486
Joined: Sun Aug 25, 2013 2:39 pm
Location: Staffordshire. UK

Re: Updating SqueezeplayOS

Post by Man in a van »

Some further thoughts

If you want to keep it on the internal ram then I think Ralphy's Squeezeplay is the way to go.

I use an external usb stick or sd card in a reader for testing out the procedure.

I don't expand the card size, so that is always comparable to the Internal ram

so far I have it working but with poor album art integartion

Raphy has replied on your thread at slimdevices for but I don't reall understand where to insert the path.

I have it configured for no-cursor (not quite calibrated) but workable.

Audio output is easy (there is advice from Ralphy on slimdevices)

Lastly you might like to read this thread, Chill did the install as Root but I don't think that is "best practise"

https://forums.slimdevices.com/forum/us ... ost1366446

It does work on Bookworm (well I had it sort off working, as i missed bits out)

ronnie
sixedup
Posts: 25
Joined: Mon May 14, 2012 12:01 pm

Re: Updating SqueezeplayOS

Post by sixedup »

Man in a van wrote: Sat Jul 08, 2023 11:42 am
<snip>

Code: Select all

sudo apt update && sudo apt install -y build-essential git libluajit-5.1-dev libsdl1.2-dev libsdl-ttf2.0-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libexpat1-dev && sudo reboot
Just a quick check, are you deliberately installing libluajit-5.1-dev (that will pull in libluajit-5.1-2 and libluajit-5.1-common, ie all the luajit code) from the Debian repository, as well as installing it all manually from the luajit git? When I saw the Debian version is more recent (2.1 vs 2.0 from that git repo) I hoped I could use that rather than the git version (I always prefer the distribution version) but when I tried to use it, I found that it checks the language syntax more stringently, and wouldn't compile jivelite, so I removed the distribution version and went back to the git version, which seemed enough on its own. I assume with both installed you are only using one of them, presumably the git version, as you don't mention any compilation issues. But personally I'd be wary of having both installed...
Man in a van wrote: Sat Jul 08, 2023 11:42 am

Code: Select all

sudo nano startjivelite.sh
add the following text (replace user name if different)
-------------------------------------------------------------------------------------
<snipped chrontab stuff>
Since we've got systemd in Bookworm it makes sense to create a "jivelite unit" and then we can make the operating system manage jivelite. It can do nice things like automatically restart it if it dies unexpectedly. I'll write up how in a separate post.
Man in a van wrote: Sat Jul 08, 2023 11:42 am I do get some album art (playing BBC 6 at the moment) but further testing is required

Album art changing ok so far, it seems to need to "warm up"
Yes, album art and station idents are working fine on my install too. My only problem is the touchscreen is only barely usable at the moment :(

So I think if I summarise the situation, you've installed pretty much the same way as me. We're both depending on the Debian touchscreen driver to detect the touchscreen and make it available to SDL (as an /dev/input/event device). But your setup gives a functional UI, whereas mine leaves the touchscreen calibration miles off, at least sometimes. >sigh<

I also tried adding TSLib to my stack, which in theory allows me to filter the touchscreen events and apply further calibration. But I couldn't see much difference with or without it, and in the end I wasn't sure if I was getting jivelite (or the SDL layer it uses) to actually use TSLib, and unfortunately documentation (and comments in the jivelite code) isn't exactly plentiful on this stuff.

I've got some free time this coming week, so I'll see if I can dig into the code and try to get up to speed with how the various layers interact.
sixedup
Posts: 25
Joined: Mon May 14, 2012 12:01 pm

Re: Updating SqueezeplayOS

Post by sixedup »

Man in a van wrote: Sat Jul 08, 2023 11:45 am If one want to add xserver;
Thanks; was hoping to avoid this if possible :)
sixedup
Posts: 25
Joined: Mon May 14, 2012 12:01 pm

Re: Updating SqueezeplayOS

Post by sixedup »

Man in a van wrote: Sat Jul 08, 2023 11:47 am From some old notes

Originally posted by chill View Post
- The 'Quit' option on the Jivelite home screen dumps you out of Jivelite, and in my case leaves a terminal screen with some messy video artefacts along the bottom third of the screen. I think that option should be changed to restart JiveLite, or just be removed altogether.


It's easier to just start jivelite from a script which relaunches jivelite on exit.
You can hide the Quit option, hold the Quit menu item until a popup window displays, then choose Hide from Home Menu.

Code:

#!/bin/bash
export JIVE_NOCURSOR=1

while true; do
/usr/local/bin/jivelite
sleep 1
done
Systemd will solve all that for us. Will write it up...
Originally posted by chill View Post
- The cursor is still present for ~15 seconds before disappearing.

export JIVE_NOCURSOR=1

Before you start jivelite will prevent the cursor displaying at all.
Ralphy
Actually, setting that environment variable to anything seems to hide the cursor - I confused myself for a while trying to set it to 0 and 1 to enable or disable it, and both made the cursor hidden!
For tinycore or alpine linux and jivelite without X windows, you will need to have linux frame buffer support enabled in the SDL 1.2.15 library.
Ralphy
I've yet to use either of those distributions in anger, so not going to worry about them yet. The comment about framebuffer support in SDL1.2 is interesting, but as far as I can tell its either compiled in or not. SDL then makes use of whatever is the "best" interface that is available to it. So in our case (with everything compiled in) when running without X, we use fbcon. But if X is available, SDL will use X in preference (as its normally higher performance)
sixedup
Posts: 25
Joined: Mon May 14, 2012 12:01 pm

Re: Updating SqueezeplayOS

Post by sixedup »

Man in a van wrote: Sat Jul 08, 2023 11:59 am Some further thoughts

If you want to keep it on the internal ram then I think Ralphy's Squeezeplay is the way to go.
Maybe. Its what I'm used to with Roobarbs SQPOS ... but I thought I'd try jivelite/squeezelite too before just going with what I knew :)
I use an external usb stick or sd card in a reader for testing out the procedure.

I don't expand the card size, so that is always comparable to the Internal ram
Ditto.
so far I have it working but with poor album art integartion
Album art is actually working fine for me, once I win the fight to get it connected to a player...
Raphy has replied on your thread at slimdevices for but I don't reall understand where to insert the path.
Audio output is easy (there is advice from Ralphy on slimdevices)
Will go back and check that out, thanks
Lastly you might like to read this thread, Chill did the install as Root but I don't think that is "best practise"
https://forums.slimdevices.com/forum/us ... ost1366446

It does work on Bookworm (well I had it sort off working, as i missed bits out)
Thanks - will take a read of that too.
Man in a van
Posts: 486
Joined: Sun Aug 25, 2013 2:39 pm
Location: Staffordshire. UK

Re: Updating SqueezeplayOS

Post by Man in a van »

@sixedup

Well the first thing to say, is that you obviously know a lot more than I do :)

I don't know much about linux of any sort, if I find something that works' I stick with it.

This is how I install Squeezelite to use the joggler internal speaker

-----------------------------------------------------------------------------------------------------

Code: Select all

wget -O squeezelite.tgz https://sourceforge.net/projects/lmsclients/files/squeezelite/linux/squeezelite-1.9.9.1421-i686.tar.gz
sudo tar -C /usr/bin -zxvf squeezelite.tgz
rm squeezelite.tgz
----------------------------------------------------------------------------------------------

Code: Select all

cd /lib/systemd/system

sudo touch squeezelite.service

sudo nano squeezelite.service 
----------------------------------------------------------------------------------------------

Code: Select all

[Unit]
Description=start squeezelite
After=multi-user.target

[Service]
ExecStart=/usr/bin/squeezelite -n joggler -e dsd -o hw:CARD=MID,DEV=0  
User=of

[Install]
WantedBy=multi-user.target
-------------------------------------------------------------------------------------------------

Code: Select all

sudo systemctl daemon-reload

sudo systemctl enable squeezelite.service 

sudo systemctl start squeezelite.service 
------------------------------------------------------------------------------------------
This seems to work

If I try the same thing with a jivelite.service file it dies
Loaded: loaded (/lib/systemd/system/jivelite.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Sun 2023-07-09 08:40:01 BST; 22s ago
Duration: 264ms
Process: 620 ExecStart=/home/of/startjivelite.sh (code=exited, status=255/EXCEPTION)
Main PID: 620 (code=exited, status=255/EXCEPTION)
CPU: 258ms

Jul 09 08:40:01 openframe systemd[1]: Started jivelite.service - start jivelite.
Jul 09 08:40:01 openframe startjivelite.sh[621]: JiveLite 0.1.0
Jul 09 08:40:01 openframe systemd[1]: jivelite.service: Main process exited, code=exited, status=255/EXCEPTION
Jul 09 08:40:01 openframe systemd[1]: jivelite.service: Failed with result 'exit-code'.
~
I have always returned to the cronjob, which works

I did a quick search on "status=255/EXCEPTION" and it seems related to the available ram.

I'll welcome any advice on systemctl and its use, I really only use it for Squeezelite and Librespot on raspberry pi

In Chill's link he uses a different method to start, but iirc that is Squeezeplay

I have added xinit xserver-xorg to this install and calibration is much better.

I have noticed that the Joggler does not repond well to multiple corrections via the command line, I think that this is a combination of the low ram, the flash maybe wearing and the actual OS.

If one installs a Debian Bookworm (i686) using the expert install, on a low powered computer there are more basic packages and options installed. It's an aproximatimate base of 1.2gb as opposed to 650 MB (or thereabouts)

This is a much trimmed version, although very welcome :) :)

Also Bookworm is not keen on using xserver, I think Bullseye is the better version for that

I'm also of the opinion that a good usb stick is better, it's much faster and saves the internal ram, which is why I think Squeezeplay is the way for an install on the Internal

ronnie
sixedup
Posts: 25
Joined: Mon May 14, 2012 12:01 pm

Re: Updating SqueezeplayOS

Post by sixedup »

Man in a van wrote: Sun Jul 09, 2023 10:12 am @sixedup

Well the first thing to say, is that you obviously know a lot more than I do :)
No, I just know different stuff :)
I don't know much about linux of any sort, if I find something that works' I stick with it.
Not a bad approach at all!
This is how I install Squeezelite to use the joggler internal speaker
This is very helpful thanks - I suspect it's going to be where I end up - getting jivelite working (well) isn't proving simple.
If I try the same thing with a jivelite.service file it dies

Code: Select all

    Loaded: loaded (/lib/systemd/system/jivelite.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Sun 2023-07-09 08:40:01 BST; 22s ago
   Duration: 264ms
    Process: 620 ExecStart=/home/of/startjivelite.sh (code=exited, status=255/EXCEPTION)
   Main PID: 620 (code=exited, status=255/EXCEPTION)
        CPU: 258ms

Jul 09 08:40:01 openframe systemd[1]: Started jivelite.service - start jivelite.
Jul 09 08:40:01 openframe startjivelite.sh[621]: JiveLite 0.1.0
Jul 09 08:40:01 openframe systemd[1]: jivelite.service: Main process exited, code=exited, status=255/EXCEPTION
Jul 09 08:40:01 openframe systemd[1]: jivelite.service: Failed with result 'exit-code'.
~
I have always returned to the cronjob, which works
I did a quick search on "status=255/EXCEPTION" and it seems related to the available ram.
I'll welcome any advice on systemctl and its use, I really only use it for Squeezelite and Librespot on raspberry pi
I have it partially working, but something is not quite right. My service file is:

Code: Select all

[Unit]
Description=Jivelite
After=network.target
Requires=network.target

[Service]
Type=exec
User=root
Group=root
WorkingDirectory=/home/of/jivelite/bin
Environment="JIVE_NOCURSOR=1"
ExecStart=/bin/sh -c "/home/of/jivelite/bin/jivelite"
ExecStop=/bin/sh -c "/usr/bin/killall jivelite"
Restart=on-failure

[Install]
WantedBy=multi-user.target
It auto-starts perfectly when I boot the Joggler.
I can stop it with:

Code: Select all

sudo systemctl stop jivelite
and Jivelite terminates, but doesn't seem to release the framebuffer, as the Jivelite GUI is left on the screen. When I then try to restart it, by either

Code: Select all

sudo systemctl start jivelite
or

Code: Select all

sudo /home/of/jivelite/bin/jivelite
the jivelite processes all start up, but it doesn't get control of the framebuffer, so there is no GUI. From what I can tell it looks like it is getting stuck trying to register event listeners with SDL, which makes me think its not fully cleaning up after itself when it terminates.

BUT, if instead I terminate it with

Code: Select all

sudo killall jivelite
then it terminates cleanly and releases the framebuffer (which reverts to a logintty), and then systemd automatically restarts jivelite, which restarts successfully to a working GUI again. Since that is the same "stop" command that systemd should be using, I'm not quite sure why I see a different outcome to the

Code: Select all

sudo systemctl stop jivelite
command :(

Similarly, if I start and stop jivelite with the commands

Code: Select all

sudo /home/of/jivelite/bin/jivelite &
and
sudo killall jivelite
then everything works properly and repeatedly. So my suspicion is something associated with the systemd execution environment is preventing SDL from shutting down cleanly. Maybe :?
In Chill's link he uses a different method to start, but iirc that is Squeezeplay
That method should work for jivelite too.
I have noticed that the Joggler does not repond well to multiple corrections via the command line, I think that this is a combination of the low ram, the flash maybe wearing and the actual OS.
I'm not sure what you mean?
If one installs a Debian Bookworm (i686) using the expert install, on a low powered computer there are more basic packages and options installed. It's an aproximatimate base of 1.2gb as opposed to 650 MB (or thereabouts)
This is a much trimmed version, although very welcome :) :)
Still very functional compared to some of the really tiny distros though :)
Man in a van
Posts: 486
Joined: Sun Aug 25, 2013 2:39 pm
Location: Staffordshire. UK

Re: Updating SqueezeplayOS

Post by Man in a van »

@sixedup

Thanks for the jivelite.service script

I installed it on a Bookworm image that I built using "of" as the user.
"of" seems also to be "root", well anyway, your script works.

of@openframe:~$ sudo systemctl status jivelite.service
● jivelite.service - Jivelite
Loaded: loaded (/etc/systemd/system/jivelite.service; enabled; preset: enabled)
Active: active (running) since Mon 2023-07-10 19:51:43 BST; 12min ago
Main PID: 364 (sh)
CPU: 32.293s
CGroup: /system.slice/jivelite.service
├─364 /bin/sh -c /home/of/jivelite/bin/jivelite
└─367 /home/of/jivelite/bin/jivelite

Jul 10 19:51:43 openframe systemd[1]: Starting jivelite.service - Jivelite...
Jul 10 19:51:43 openframe systemd[1]: Started jivelite.service - Jivelite.
Jul 10 19:51:44 openframe sh[367]: JiveLite 0.1.0
Jul 10 19:56:12 openframe sh[367]: libpng warning: iCCP: known incorrect sRGB profile
of@openframe:~$

I find the Album art from the BBC Sounds is a bit variable, but most of the other streams seem OK.

I'll have to do more testing.

--------------------------------------------------------------------------------------------------------------------------------------------------------

Squeezelite running OK

of@openframe:~$ sudo nano /lib/systemd/system/squeezelite.service
of@openframe:~$ sudo systemctl daemon-reload
sudo systemctl enable squeezelite.service
sudo systemctl start squeezelite.service
sudo systemctl status squeezelite.service
Created symlink /etc/systemd/system/multi-user.target.wants/squeezelite.service → /lib/systemd/system/squeezelite.service.
● squeezelite.service - start squeezelite
Loaded: loaded (/lib/systemd/system/squeezelite.service; enabled; preset: enabled)
Active: active (running) since Mon 2023-07-10 19:55:15 BST; 202ms ago
Main PID: 603 (squeezelite)
CPU: 40ms
CGroup: /system.slice/squeezelite.service
└─603 /usr/bin/squeezelite -n joggler -e dsd -s 192.168.1.134 -o hw:CARD=MID,DEV=0

Jul 10 19:55:15 openframe systemd[1]: Started squeezelite.service - start squeezelite.
of@openframe:~$ alsamixer
of@openframe:~$

--------------------------------------------------------------------------------------------------------------------------------------------------------

of@openframe:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 242M 0 242M 0% /dev
tmpfs 50M 1.8M 48M 4% /run
/dev/sda2 15G 1.4G 13G 10% /
tmpfs 246M 0 246M 0% /dev/shm
tmpfs 5.0M 8.0K 5.0M 1% /run/lock
tmpfs 192M 16K 192M 1% /tmp
tmpfs 16M 16K 16M 1% /var/log
/dev/sda1 41M 16M 26M 37% /boot
tmpfs 50M 0 50M 0% /run/user/1000
of@openframe:~$
Post Reply