Rockbox Technical Forums

Rockbox Development => New Ports => Topic started by: shabu on November 05, 2019, 10:05:45 AM

Title: Ubuntu Touch Rockbox Port
Post by: shabu on November 05, 2019, 10:05:45 AM
ubuntu touch is a mobile (qt5 based) version of the free and open source ubuntu linux os by ubports.

https://ubuntu-touch.io/

you can install this alternative os on various devices via an easy to handle installer within minutes, there is also an app store called openstore offering all kinds of usefull tools.

i remember reading about an android rb port and i think it would be great, if rockbox could be ported over as a native click app, too.

now as i am not a coder myself nor familiar with the extent of such a task - how likely would it be to see a rb app in the future?


p.s. i especially like the privacy ensured "touch" to it and the fact, that the rb community would gain a wider range of supported devices instantly with this new port.
Title: Re: Ubuntu Touch Rockbox Port
Post by: cela on November 07, 2019, 02:54:01 PM
I have been using Rockbox on daps for a few years now and have only recently in the last few months aquired an Ubuntu Touch supported phone (a Nexus 5) which I now use daily as my main phone.

A few weeks a ago I looked into this myself but since my coding skills are not up to making a full blown Ubuntu Click app with QML  I tried to build the Rockbox simulator on the device itself. (I have spare Nexus 5 phone built from parts to play around with)

After making the file system read/write and expanding the root partition size I was able to clone the
Rockbox source code but failed on the second stage a while into sudo apt-get install automake bison build-essential ccache flex libc6-dev libgmp3-dev libmpfr-dev libsdl1.2-dev libtool-bin texinfo zip gawk can't remember the message but I was missing a component or something or other.

My plan was see if I could run the Rockbox simulator natively on the phone and later make Rockbox into a .deb package and install it into the Libertine container.

Ideally for someone with better coding skills a Click app would be best as it could be put on the Openstore and is certainly do-able.

I really like Ubuntu Touch from Ubports and a lot of interest has re-ignited recently due to the privacy respecting aspect and freedom from unnecessary bloat.   If I get any ideas or progress I will post here ;-)
 
Title: Re: Ubuntu Touch Rockbox Port
Post by: shabu on November 08, 2019, 07:09:25 AM
thanks a lot for your input @cela, really appreciated.

i wish you good luck with your ut experiments - perhaps, with a little support from the rb coders, a ut rockbox port is not that far away than one might think of ;)
Title: Re: Ubuntu Touch Rockbox Port
Post by: cela on November 12, 2019, 03:26:04 PM
Almost built Rockbox on my Ubuntu Touch phone, had to make the file system read/write and did need to expand the system partition to create enough space to build in.

installed git:-
sudo apt-get update; sudo apt-get -y install git

downloaded Rockbox source:-
git clone git://git.rockbox.org/rockbox

installed:-
sudo apt-get install libsdl-dev
sudo apt-get install gcc
sudo apt-get install zip


cd rockbox
Type mkdir build
cd build
../tools/configure

type 200 for SDL app from table

then type N for normal build and created makefile.

type
sudo make

Got as far as error on filters.c as below,
To finish the build can I move the instructions into IT block? or configure the compiler somehow?
I'm a bit stuck now :-(
Code: [Select]
CC firmware/kernel/tick.c
CC firmware/kernel/timeout.c
CONVBDF fonts/08-Schumacher-Clean.bdf
CC build/sysfont.c
AR libfirmware.a
CC lib/rbcodec/codecs/libspeex/bits.c
CC lib/rbcodec/codecs/libspeex/cb_search.c
CC lib/rbcodec/codecs/libspeex/exc_10_16_table.c
CC lib/rbcodec/codecs/libspeex/exc_10_32_table.c
CC lib/rbcodec/codecs/libspeex/exc_20_32_table.c
CC lib/rbcodec/codecs/libspeex/exc_5_256_table.c
CC lib/rbcodec/codecs/libspeex/exc_5_64_table.c
CC lib/rbcodec/codecs/libspeex/exc_8_128_table.c
CC lib/rbcodec/codecs/libspeex/filters.c
{standard input}: Assembler messages:
{standard input}:343: Error: thumb conditional instruction should be in IT block -- `movgt r6,lr'
{standard input}:345: Error: thumb conditional instruction should be in IT block -- `movlt r7,lr'
{standard input}:350: Error: thumb conditional instruction should be in IT block -- `movlt r6,r7'
/home/phablet/rockbox/lib/rbcodec/codecs/libspeex/libspeex.make:43: recipe for target '/home/phablet/rockbox/build/lib/rbcodec/codecs/libspeex-voice/filters.o' failed
make: *** [/home/phablet/rockbox/build/lib/rbcodec/codecs/libspeex-voice/filters.o] Error 1
phablet@ubuntu-phablet:~/rockbox/build$
Title: Re: Ubuntu Touch Rockbox Port
Post by: enigma9o7 on February 05, 2020, 03:35:48 PM
Did you ever finish building under ubu touch?

I am trying the same exact thing on SailfishOS, build on device, and got to the exact same place then got stuck.  Somebody pointed me to a solution tho, you comment (//) lines 20 & 25 of  lib/rbcodec/codecs/libspeex/config-speex.h to disable using assembly.  Then make will continue past there.  I get stuck a little farther later however...