Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 2 12 LastLast
Results 1 to 10 of 12
  1. #1
    Junior Member
    Join Date
    Dec 2016
    Location
    The Netherlands
    Posts
    10

    Squeezelite on Odroid C2

    Is it possible to get Squeezelite running on an Odroid C2?
    I've searched and read about it a lot, but aside someone who was able to compile it himself, I don't see any possibilities yet. Max2Play/Picoreplayer etc don't have an Odroid C2 image (yet).

    I want to build a Touch replacement with a Class D Hypex amplifier integrated. The reason I would like to use an Odroid C2 is that it is has more memory, is 64 bit, has a GB NIC. I am aiming for fast response and do not need to run LMS as I have a Synology on which all my music is stored.

  2. #2
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    2,959
    The arm compiled version of squeezelite should work out of the box, just get it from Ralphy's site (although I've not looked too much into the 64 bits compatibilities issues on arm). Otherwise if you install the build essential tools, it should also compile easily. I assume you want a C2 for the display part, because as far as squeezelite is concerned, the extra speed of C2 will not make any difference. I have a C2 and a C1, if it still does not work for you let me know, I can have a look


    EnvoyÚ de mon iPad en utilisant Tapatalk
    LMS 7.7, 7.8 and 7.9 - 5xRadio, 3xBoom, 4xDuet, 1xTouch, 1 SB2. Sonos PLAY:3, PLAY:5, Marantz NR1603, JBL OnBeat, XBoxOne, XBMC, Foobar2000, ShairPortW, JRiver 21, 2xChromecast Audio, Chromecast v1 and v2, , Pi B3, B2, Pi B+, 2xPi A+, Odroid-C1, Odroid-C2, Cubie2, Yamaha WX-010, AppleTV 4, Airport Express

  3. #3
    Junior Member fbachofner's Avatar
    Join Date
    Nov 2016
    Location
    Seaside, CA
    Posts
    26
    Quote Originally Posted by Videopac View Post
    Is it possible to get Squeezelite running on an Odroid C2?
    Do you know about DietPi? They are very fond of the Odroid C2 and have a working image of it:

    http://dietpi.com/#download

    DietPi is an awesome way to quickly setup a SBC. With the Odroid C2 as powerful as it is, you could easily have a multi-purpose computer, not just a Franken-Squeezebox.

    That said, I am having serious trouble with good sound quality from the Odroid HiFi Shield+, detailed here: http://dietpi.com/phpbb/viewtopic.php?f=9&t=1825&p

    I'm working my way through it and hope to have a solution by the end of the day.
    -------------------------------------------------
    I help administer various Squeezeboxes
    (mostly Classic / SB3 and Touch)
    typically running against LMS 7.9x on LinuxMint 18 or Ubuntu 16.04

  4. #4
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    1,706
    Quote Originally Posted by fbachofner View Post
    That said, I am having serious trouble with good sound quality from the Odroid HiFi Shield+, detailed here: http://dietpi.com/phpbb/viewtopic.php?f=9&t=1825&p

    I'm working my way through it and hope to have a solution by the end of the day.
    Sounds like an issue with mmap. Have you tried telling squeezelite not to use it with the -a parameter?

    squeezelite -a :::0 -d output=debug

    Look for this line to confirm it's off

    alsa_open:389 opened device hw:3 using format: S16_LE sample rate: 44100 mmap: 0
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 1-UE Radio
    Squeezebox client builds donations always appreciated.

  5. #5
    Junior Member fbachofner's Avatar
    Join Date
    Nov 2016
    Location
    Seaside, CA
    Posts
    26
    Hi ralphy:

    Quote Originally Posted by ralphy View Post
    Sounds like an issue with mmap. Have you tried telling squeezelite not to use it with the -a parameter?
    Unfortunately, I forgot to subscribe to this thread and thus only just now saw your reply. [ Meanwhile (after getting absolutely no feedback at the DietPi forum) I started a very extensive discussion on your GitHub issues tracker: https://github.com/ralph-irving/squeezelite/issues/25 -- Unfortunately you didn't reply there and I thought I was being completely ignored. Ah well. Thanks for responding here! ]


    I think I set mmap to off at some point -- without positive result.

    [ At one point I invoked Squeezelite thussly:

    /usr/bin/squeezelite -o hw:CARD=ODROIDDAC,DEV=0 -a 160:0:0:0 -n 'LR-DietPi-Squeezelite' -d all=debug -f /var/log/squeezelite.log

    would that set mmap off? ]

    In the meantime, earlier this evening (without any resolution to sound quality issues), I wiped DietPi off the Odroid-C2 and installed a minimal version of Ubuntu 16.04. I attempted to install Squeezelite manually on top of it (and failed miserably!) and then just "sudo apt-get install squeezelite" which seems to have installed a reasonably current version (1.8.? -- unfortunately, "squeezelite -?" doesn't show full version #).

    Anyway, with this setup I (so far) get perfectly acceptable audio from the Odroid-C2 using RCA cables (I'll try other connections early next week).

    Fortunately, this demonstrates that the problem is not with the HiFi Shield+ (which I was worried about) but with the DietPi implementation of Squeezelite. I am surprised I am the first person to have come across this issue, and a bit disappointed that no one responded on the DietPi forum.

    I may try with DietPi again sometime to fully vet your suggestion to set mmap to off if you tell me that I invoked it incorrectly (see above).
    -------------------------------------------------
    I help administer various Squeezeboxes
    (mostly Classic / SB3 and Touch)
    typically running against LMS 7.9x on LinuxMint 18 or Ubuntu 16.04

  6. #6
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    1,706
    I don't check the github issues on a regular basis. The forum is the best place to discuss.

    I read issue 25 just now. Have you managed to compile squeezelite for the C2? I suggest that you try to build a binary on the OS you're running instead of a prebuilt one. I try to build my binaries so the work on most systems, but as soon as you have weird issues like what you're seeing.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 1-UE Radio
    Squeezebox client builds donations always appreciated.

  7. #7
    Junior Member fbachofner's Avatar
    Join Date
    Nov 2016
    Location
    Seaside, CA
    Posts
    26
    Hi ralphy:

    Quote Originally Posted by ralphy View Post
    I don't check the github issues on a regular basis. The forum is the best place to discuss.
    OK, thanks. Usually developers seem to prefer GitHub, but I am happy to discuss here.


    Quote Originally Posted by ralphy View Post
    I read issue 25 just now. Have you managed to compile squeezelite for the C2? I suggest that you try to build a binary on the OS you're running instead of a prebuilt one. I try to build my binaries so the work on most systems, but as soon as you have weird issues like what you're seeing.
    No, I have not compiled squeezelite on any platform.

    This takes me well out of my depth, but I would be thrilled to learn.

    A couple initial questions:

    1. Both DietPi and my current Ubuntu installs are very minimal. What (packages?) needs to be installed to build the Squeezelite binary? [ Presumably "makefiles" -- anything else? ]
    2. Does Squeezelite compilation necessarily need to take place on the target system (this may be a very newbie question!)? I do have many other Ubuntu-derived systems available, but none are ARM64. If those systems would/could work, they would be much faster at compiling the binary -- useful if I need to do it repeatedly for whatever reason!
    3. Once I have attained #1 above, what are the steps to build?
      [ README.md @GitHub doesn't provide any clues. There don't seem to be any "human" readable ;-) build instructions in the other folders. (Such information might also be useful to post to GitHub for others willing to take a stab at it -- sorry if I overlooked something).

      For kicks (and initial learning) I looked into:
      • Makefile.armel
      • Makefile
      • Makefile.resample
      and those didn't give me any immediate clues.]
    4. some initial research points to:
    5. If I eventually succeed in compiling Squeezelite for Odroid-C2 (which presumably would work for "all" or at least "many" ARM64) would you be interested in posting them to the Sourceforge binaries folder (so others don't have this issue)?



    Corollary question:

    When installing Squeezelite (with "sudo apt-get install squeezelite" yesterday I noticed there were a huge number of dependencies my minimal system did not yet have installed:

    A lot of them were clearly related to audio, video and image playback, so those made sense. However, why require

    fontconfig-config fonts-dejavu-core mesa-vdpau-drivers va-driver-all vdpau-driver-all vdpau-va-driver ??!


    Thanks in advance for any insights!
    -------------------------------------------------
    I help administer various Squeezeboxes
    (mostly Classic / SB3 and Touch)
    typically running against LMS 7.9x on LinuxMint 18 or Ubuntu 16.04

  8. #8
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    590
    Both DietPi and my current Ubuntu installs are very minimal. What (packages?) needs to be installed to build the Squeezelite binary? [ Presumably "makefiles" -- anything else? ]
    probably
    Code:
    libasound2-dev libflac-dev libmad0-dev libvorbis-dev libfaad-dev libmpg123-dev liblircclient-dev build-essential libavformat-dev
    Does Squeezelite compilation necessarily need to take place on the target system (this may be a very newbie question!)? I do have many other Ubuntu-derived systems available, but none are ARM64. If those systems would/could work, they would be much faster at compiling the binary -- useful if I need to do it repeatedly for whatever reason!
    It's possible (google cross compiling), but probably not worth the hassle for one small package

    Once I have attained #1 above, what are the steps to build?
    Code:
    OPTS=" -DDSD -DFFMPEG -DLINKALL -DRESAMPLE -DIR -DVISEXPORT" make -j4
    When installing Squeezelite (with "sudo apt-get install squeezelite" yesterday I noticed there were a huge number of dependencies my minimal system did not yet have installed:
    A lot of them were clearly related to audio, video and image playback, so those made sense. However, why require
    fontconfig-config fonts-dejavu-core mesa-vdpau-drivers va-driver-all vdpau-driver-all vdpau-va-driver ??!
    A disadvantage of binary packages - they are built with maximum features (and therefore dependencies), even if never used (eg squeezelite -> ffmpeg -> libva -> X11 -> mesa -> vdpau -> va-driver etc.)
    If you don't need ffmpeg support in squeezelite, remove the -DFFMPEG flag from OPTS, then you can uninstall all of the stuff.
    [ extGUI4LMS - an alternative web interface: forum / homepage | music visualizer for squeezelite ] [ Howto: build a self-contained LMS | Howto: play Ogg Opus files ]

  9. #9
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    1,706
    Quote Originally Posted by fbachofner View Post
    Hi ralphy:



    OK, thanks. Usually developers seem to prefer GitHub, but I am happy to discuss here.




    No, I have not compiled squeezelite on any platform.

    This takes me well out of my depth, but I would be thrilled to learn.

    A couple initial questions:

    1. Both DietPi and my current Ubuntu installs are very minimal. What (packages?) needs to be installed to build the Squeezelite binary? [ Presumably "makefiles" -- anything else? ]
    2. Does Squeezelite compilation necessarily need to take place on the target system (this may be a very newbie question!)? I do have many other Ubuntu-derived systems available, but none are ARM64. If those systems would/could work, they would be much faster at compiling the binary -- useful if I need to do it repeatedly for whatever reason!
    3. Once I have attained #1 above, what are the steps to build?
      [ README.md @GitHub doesn't provide any clues. There don't seem to be any "human" readable ;-) build instructions in the other folders. (Such information might also be useful to post to GitHub for others willing to take a stab at it -- sorry if I overlooked something).

      For kicks (and initial learning) I looked into:
      • Makefile.armel
      • Makefile
      • Makefile.resample
      and those didn't give me any immediate clues.]
    4. some initial research points to:
    5. If I eventually succeed in compiling Squeezelite for Odroid-C2 (which presumably would work for "all" or at least "many" ARM64) would you be interested in posting them to the Sourceforge binaries folder (so others don't have this issue)?



    Corollary question:

    When installing Squeezelite (with "sudo apt-get install squeezelite" yesterday I noticed there were a huge number of dependencies my minimal system did not yet have installed:

    A lot of them were clearly related to audio, video and image playback, so those made sense. However, why require

    fontconfig-config fonts-dejavu-core mesa-vdpau-drivers va-driver-all vdpau-driver-all vdpau-va-driver ??!


    Thanks in advance for any insights!
    I don't use autoconf (configure) or cross compile for squeezelite, just make.

    Squeezelite takes less than 90 seconds for a full rebuild on an original rpi b to network storage, so recompiles should not be an issue on the C2.

    You can download the squeezelite source in a zip from https://github.com/ralph-irving/squeezelite to start, so you don't need to install git.

    I'd suggest starting with the Makefile.resample, you can modified it to include the visualizer support for jivelite and forget about the other build time options until you successfully build squeezelite and test if the audio problems are gone.

    Code:
    $ cat Makefile.resample
    OPTS = -DRESAMPLE -DVISEXPORT
    
    include Makefile
    To build use make -f Makefile.resample clean to remove any old object files then make -f Makefile.resample to compile squeezelite.

    You will need to install these depend packages or equivalent for the compile to work.

    build-essential libsoxr-dev libfaad-dev libflac-dev libvorbis-dev libmad0-dev libmpg123-dev libogg-dev libasound2-dev

    Yes, I will put your 64bit binary on the lmsclient downloads SF site.
    Last edited by ralphy; 2017-05-07 at 04:28.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 1-UE Radio
    Squeezebox client builds donations always appreciated.

  10. #10
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    2,959
    Quote Originally Posted by fbachofner View Post
    Hi ralphy:



    OK, thanks. Usually developers seem to prefer GitHub, but I am happy to discuss here.




    No, I have not compiled squeezelite on any platform.

    This takes me well out of my depth, but I would be thrilled to learn.

    A couple initial questions:

    1. Both DietPi and my current Ubuntu installs are very minimal. What (packages?) needs to be installed to build the Squeezelite binary? [ Presumably "makefiles" -- anything else? ]
    2. Does Squeezelite compilation necessarily need to take place on the target system (this may be a very newbie question!)? I do have many other Ubuntu-derived systems available, but none are ARM64. If those systems would/could work, they would be much faster at compiling the binary -- useful if I need to do it repeatedly for whatever reason!
    3. Once I have attained #1 above, what are the steps to build?
      [ README.md @GitHub doesn't provide any clues. There don't seem to be any "human" readable ;-) build instructions in the other folders. (Such information might also be useful to post to GitHub for others willing to take a stab at it -- sorry if I overlooked something).

      For kicks (and initial learning) I looked into:
      • Makefile.armel
      • Makefile
      • Makefile.resample
      and those didn't give me any immediate clues.]
    4. some initial research points to:
    5. If I eventually succeed in compiling Squeezelite for Odroid-C2 (which presumably would work for "all" or at least "many" ARM64) would you be interested in posting them to the Sourceforge binaries folder (so others don't have this issue)?



    Corollary question:

    When installing Squeezelite (with "sudo apt-get install squeezelite" yesterday I noticed there were a huge number of dependencies my minimal system did not yet have installed:

    A lot of them were clearly related to audio, video and image playback, so those made sense. However, why require

    fontconfig-config fonts-dejavu-core mesa-vdpau-drivers va-driver-all vdpau-driver-all vdpau-va-driver ??!


    Thanks in advance for any insights!
    I have a C2 with Debian - do you want me to compile it for you?
    LMS 7.7, 7.8 and 7.9 - 5xRadio, 3xBoom, 4xDuet, 1xTouch, 1 SB2. Sonos PLAY:3, PLAY:5, Marantz NR1603, JBL OnBeat, XBoxOne, XBMC, Foobar2000, ShairPortW, JRiver 21, 2xChromecast Audio, Chromecast v1 and v2, , Pi B3, B2, Pi B+, 2xPi A+, Odroid-C1, Odroid-C2, Cubie2, Yamaha WX-010, AppleTV 4, Airport Express

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •