Archphile 0.99.5 alpha for Odroid C2 is up

Hi all,

I am very happy to announce that the first image for Odroid C2 is up. This version is in fact the 0.99.4 version for this board but as many software versions are newer (MPD, samba, shairport-sync etc.) I decided to increase the version number. Another difference is that it’s alpha stage and not beta. Although it’s stable enough for everyday use, 64 bit ARM architecture is new and not very well tested in general.

The only part of the hardware that is non functional currently is the IR receiver (not supported by default in Archphile but it’s always configurable for other boards). Based on the information I got from Hardkernel people, the driver is under development.

The image includes all the classic Archphile stuff (apart from squeezelite packages that are only for experimental purposes anyway) for which you will find instructions on this website. MPD version is 0.19.14 (the same version offered as an update for 0.99.4 beta images).

Please note that only USB DAC functionality wast tested and as a result supported, although enabling I2s is very easy.

As you will notice the compressed file offered is .7z and not zip. This changes nothing as you will still need 7-zip in order to extract and get the image.

There are many options in /usr/bin/archphile-optimize applicable to Odroid C2. I suggest you to try enabling, irq affinity, set the MPD to use 1 core and disable the blinking led. You can also experiment with CPU governors, setting ondemand as the default. Hardkernel chose performance governor as the default option but I believe that it’s an overkill for our application.

 

Greetings,

Michael

 

 

 

MPD 0.19.14 packages are up

Hi all,

MPD 0.19.14 packages are available for update if you are using latest 0.99.4 images:

1. clear the package cache

pacman -Scc

you will need to pres and ENTER twice

 

2. update the MPD package. For a standard installation you should do the following:

pacman -Sy mpd-archphile

Replace the name of the package with mpd-archphile-minimal or  mpd-archphile-native-dsd if you use a different package.

Please note that if you haven’t already updated ffmpeg package based on these instructions, you should also update ffmpeg-archphile.

 

3. If you use an i2s dac, its time to run i2select. If you use Odroid C1+ or Cubox-i you must run bselect and choose your board.

mpd-archphile-native-dsd 0.19.13 is up

Hi all

MPD 0.19.13 with native dsd patch is available for update if you are using latest 0.99.4 images:

 

  1. clear the package cache
pacman -Scc

you will need to pres and ENTER twice

 

2. Update ffmpeg (if you haven’t already done following the guide of previous post):

pacman -Sy ffmpeg-archphile

 

3. Now it’s time to update the MPD package:

pacman -Sy mpd-archphile-native-dsd

 

4. Finally restart mpd

systemctl restart mpd

 

This package is not for users with I2S dacs.

If you use cubox-i or Odroid C1+ please use bselect in order to select your board.

Please note that your mpd.conf file will be overwritten.

 

Cheers,

Michael

 

New MPD and ffmpeg packages available for update

Hi all,

I am writing to announce you that MPD 0.19.13 and ffmpeg 3 are available for update if you are using latest 0.99.4 images:

  1. clear the package cache
pacman -Scc

you will need to pres and ENTER twice

 

2. Update ffmpeg (it’s a good idea even if you use mpd-archphile minimal which is ffmpeg independent):

pacman -Sy ffmpeg-archphile

 

3. Now it’s time to update the MPD package. For a standard installation you should do the following:

pacman -Sy mpd-archphile

Replace the name of the package with mpd-archphile-minimal, mpd-archphile-sacd, mpd-archphile-sacd if you use a different package.

Please note that mpd-archphile-native-dsd remains in 0.19.12, and mpd-archphile-sacd remains on an old github version but they are both rebuilt in order to use latest ffmpeg package.

 

4. If you use an i2s dac, its time to run i2select. If you use Odroid C1+ or Cubox-i you must run bselect and choose your board.

 

Please note that MPD package update will override your mpd.conf configuration.

 

Have fun,

Michael

Ps. A special thanks goes to espakman  for his very important support in general (testing, bugfixing etc.) and to iSushi42 for testing the packages.

Raspberry Pi 3, Odroid C2 and Archphile

Hi all,

After the announcement of two very interesting hardware platforms:

I have been asked many times if I am willing to support them. The answer is obvious: of course I would like to support both devices but as Archphile is a community driven project the only way I can do this is with the support of the community!

If you are interested in seeing these two new platforms supported, please use the Paypal button on the right side to donate so that you can help me buy both of them and start the porting of Archphile distribution.

 

Cheers,

Michael

An apology to the community and a new version for Raspberry Pi 2 (0.99.4c)

Hi all,

As many of you may have noticed since the first version of 0.99.4 beta for Raspberry Pi 2, I stated that I had patched the linux kernel and had fixed some issues with 24 bit and i2s dacs. After a lot o research it appears that the patch I applied did nothing. Let me give you some history:

Since the beginning of Rpi kernels and i2s dacs there were two modules: bcm2708-i2s (from the source of Raspberry Pi foundation) and bcm2835-i2s (from the tree tha Linus Torvalds maintains). When these two sources merged, both modules continued existing although the only module that was needed for i2s connectivity was bcm2708-i2s. In latest dev Raspberry Pi kernels (If I remember correctly 4.4.y) the devs decided to merge these modules keeping only the name of bcm2835-i2s.

Later, a patch appeared that corrected the code for 24 bit playback . I found the code that was patching bcm2835-i2s (this is the one used in 4.4 and 4.5 and the patch was needed there) and without having understood that in 4.1.17 and 4.1.18 this module is in reality useless, I decided to patch it and offer a custom kernel package for Archphile.

As you understand my custom kernel was fixing a module that does nothing in these versions. In 4.1.18 that was the kernel of 0.99.4b, the only module used was bcm2708-i2s which is 100% ok with 24 bit playback.

In order to be able to fully understand all of the above, I decided to ask the man behind the code of these modules, Florian Meier. He was very quick and to the point explaining me that my patch was in fact doing nothing:


Hi Michael,

the bcm2835-i2s is coming from upstream (i.e. the kernel as maintained by Torvalds),
while the bcm2708-i2s is coming from downstream(i.e. the kernel maintained by the
Raspberry Pi Foundation). In principle they both perform the same task. At the time
of development there was a disagreement about how to name the platform so it was
different for upstream and downstream.
Unfortunately when merging the upstream kernel and the downstream kernel no one
thought about merging these files. It would be best to merge all recent changes to
the bcm2708-i2s into the bcm2835-i2s and replace the usage of the bcm2708-i2s with
the usage of the bcm2835-i2s everywhere.

Greetings,
Florian


I would like to apologize for spreading the community that I made a kernel package that solved a problem that did not exist. For this reason I decided to make an image again, this time using the default archlinuxARM kernel package 4.1.18. I hope this is the final image for now. You can donwload it here:

 

 

I hope you will have my feedback very soon regarding the Raspberry Pi 3 and Odroid C2!

 

Cheers,

Michael

 

0.99.4b Beta is up for Raspberry Pi 2, Odroid C1+, Cubox-i and Udoo Quad

Edit: Most of the new information is now included in Archphile Website documentation. Please read carefully all the sections of Tips & Tricks in order to understand how you can configure Archphile to suit your own needs!


 

Hi all,

after almost a week of feedback and testing after 0.99.4 Beta I am happy to announce you that Archphile 0.99.4b Beta is up for all the supported boards. With regards to the differences between 0.99.4 released last week for Raspberry Pi 2 and Odroid C1+ the only differences are:

– Fully updated system that includes latest Glibc that fixes a security vulnerability
– a custom Raspberry Pi 2 kernel based on 4.1.18 which fixes the maximum volume of Hifiberry Plus Dac
– an updated i2select package in order to be compliant with the kernel above

A quick summary for all devices:

– Latest MPD 0.19.12
– Latest YMPD with extra patches (fix for folders shown as empy – remeber last database folder position – dirble API Key)
– Replaced shairport with shairport-sync 2.8
– Added bselect command that configures mpd.conf for various embedded boards
– Added commands to backup/restore MPD database
– Added option to limit MPD in one core
– Added option to optimize IRQ affinity
– Added Samba capabilities – USB disks can be shared in local network
– Added USB sleep support (needs extra configuration)
– Added brutefir support (playground repository)
– Added an alternative minimalistic MPD package named mpd-archphile-minimal (playground repository)
– Added optional MPD fork with SACD ISO support and another MPD fork with native DSD support
– Added the useful alsacap command line tool

The website is not updated yet in order to include the latest tips and how-tos. You can use all the information from the previous announcements for 0.99.4 Beta where I explain most of the new stuff until I finish with the website pages.

Please note that Archphile is a completely open source and non-commercial distribution based on user donations. If you like my distribution and you want to help me keep it alive please donate using the paypal button below!

 

I hope you will enjoy it!

Cheers,

Michael

 

P.s I would like to thank Espakman from Archphile forum and Sat Lover from avclub.gr that helped me apply all the bugfixes for Hifiberry Plus i2s DAC!

 

Archphile 0.99.4 beta for Odroid C1+ is up!

Hi all,

I am very happy to announce that the first image for Odroid C1+ (and C1 too) is up!

All the tips I  have written for the Raspberry Pi 2 release  are the same for an Odroid Archphile installation.

An additional feature is that you can customize IRQ affinity:

# nano /usr/bin/archphile-optimize

you will find the following section:

# IRQ affinity optimization – Do not apply it if you are using Raspberry Pi 2 !!!
#/usr/bin/irq-archphile

change it to:

# IRQ affinity optimization – Do not apply it if you are using Raspberry Pi 2 !!!
/usr/bin/irq-archphile

and reboot with:

# systemctl reboot

If you want to customize it further you can edit the following file and play around with it:

#nano /usr/bin/irq-archphile

Another tweak that you may want to apply is to stop the blue blinking light after the boot process. In order to do this, find the following section in the same file:

# Disable Odroid C1+ heartbeat blue led
#echo default-on > /sys/class/leds/blue\:heartbeat/trigger

and change it to:

# Disable Odroid C1+ heartbeat blue led
echo default-on > /sys/class/leds/blue\:heartbeat/trigger

Last but not least, after installing any of the additional MPD packages (mpd-archphile-minimal, mpd-archphile-sacd, mpd-archphile-native-dsd) or when you come back to default package, please remember to run the following command:

# bselect

and choose Odroid C1+.

bselect (from Board Selection) is a very simple script that ensures that mpd.conf will be modified accordingly in order to be ready for your Odroid C1+ board. If you don’t run this command you will not be able to hear any sound!

Please note that Archphile is a completely open source and non-commercial distribution based on user donations. If you like my distribution and you want to help me keep it alive please donate using the paypal button below!

 

I hope you will enjoy it!

Cheers,

Michael

Archphile 0.99.4 beta for Raspberry Pi 2 is up!

Edit: Please see updated guide for mpd-archphile-sacd. Due to a typo you need to give one extra command. The package will be re-uploaded.

Edit 2: The new mpd-archphile-sacd package is uploaded. If you haven’t installed it, please follow the instructions directly. If you have already installed, please run the following command before reinstalling:

pacman -Scc

when it asks you please press Y and ENTER twice.


 

Hi all,

it’s been a long since the last uploaded image and I am very happy to announce that Archphile 0.99.4 beta image for Raspberry Pi 2 is up!

If you want to have a look at the changelog please click here.

Some noticeable changes:

– custom kernel image based on 4.1.17
MPD 0.19.12
– option to run MPD only in one core
– latest YMPD with many fixes and additions (please go to settings for update DB!) that you will notice immediately like, option to play stream from the web interface, dirble support etc. It also solves an old bug that caused many folders to appear as empty.
– replacement of shairport with shairport-sync to support latest ios devices
– custom libupnp package
– dbackup/drestore commands to backup and restore MPD database
samba support for USB disks – now you can add music to your USB disk through your local network using samba
brutefir support – it’s installed by default with options in mpd.conf but of course it needs extra configuration to work
lirc installed by default. I will write a how to on how to configure your custom remote control
– Playground repository is enabled by default. It includes many packages like a minimal version of MPD, a custom MPD version with native DSD playback support and a fork of MPD with SACD ISO playback support. It also includes squeezelite, logitechmediaserver and some extra packages for which I am going to write a separate how-to.

Run MPD in one core

edit /usr/bin/archphile-optimize with:

nano /usr/bin/archphile-optimize

and make the changes to:

# set affinity of MPD in one core – choose values from 0-3
#taskset -c -p 2 $(pidof mpd)

so that it becomes as follows:

# set affinity of MPD in one core – choose values from 0-3
taskset -c -p 2 $(pidof mpd)

and reboot with:

systemctl reboot

Backup/restore MPD database

Run dbackup command to backup the database and drestore in order to restore it. The backup location is in /opt/dbackup. You can also put your mpd.db using a fresh installation there and give drestore to restore your previously backed up MPD database. The location of the file you have to manually backup (using filezilla with sftp protocol for example) is:

/var/lib/mpd/mpd.db

Share your mounted USB disk using SAMBA

systemctl start nmbd smbd
systemctl enable nmbd smbd

Installation of custom MPD packages (please note that only the preinstalled package is supported!)

pacman -Sy mpd-archphile-minimal
systemctl reenable mpd
systemctl restart mpd
pacman -Sy mpd-archphile-native-dsd
systemctl reenable mpd
systemctl restart mpd
pacman -Sy mpd-archphile-sacd
systemctl reenable mpd
systemctl restart mpd

In order to restore official MPD package just do the following:

pacman -Sy mpd-archphile
systemctl reenable mpd
systemctl restart mpd

Installation of squeezelite/logitechmediaserver (completely unofficial – just for experimenting – Archphile will always be an MPD based distribution)

pacman -Sy logitechmediaserver squeezelite-archphile
systemctl stop mpd ympd
systemctl disable mpd ympd
systemctl start squeezelite logitechmediaserver
systemctl enable squeezelite logitechmediaserver

The commands above will install logitechmediaserver and squeezelite on the same machine, disable MPD and ympd and will use squeezelite by default.

If you want to go back to the old situation:

systemctl start mpd ympd
systemctl enable mpd ympd

and if you want to unininstalled the extra packages:

pacman -R logitechmediaserver squeezelite-archphile

Please note that in the next days I will update the website with new sections including additional details for all the changes and additions. Most of the existing guides are ready to be used with this version

That’s all for now! I will come back the next days uploading the images for the remaining devices. I will also update i2select package in order to support the Iqaudio AMP+.

Please note that Archphile is a completely open source and non-commercial distribution based on user donations. If you like my distribution and you want to help me keep it alive please donate using the paypal button below!

 

P.S. I would like to thank a new Archphile forum member named espakman. His last minute bugfixes and suggestions helped me upload the best possible image for this device!

 

Cheers,

Michael