Rockbox Technical Forums

Rockbox Development => New Ports => Topic started by: pietro77 on December 15, 2015, 07:00:49 AM

Title: ibasso dx80
Post by: pietro77 on December 15, 2015, 07:00:49 AM
Hi
I am the owner rockboxed ibasso dx50 and I really enjoying with it. Now ibasso realased dx80. I am thinking about it, but since rockbox is must have for me I wonder is it possibility that we will have port for it in future?
Title: Re: ibasso dx80
Post by: jafnvaegi on December 17, 2015, 12:17:50 PM
Much like with the DX50 port, there must be willing and able developers who either own the DX80 or at least have information about all the hardware (pictures, a schematic maybe) in order to create the port.  So the latter determines if it's even possible as some hardware isn't compatible with RB, so until someone opens one up and tears it down we won't know that.  I'd say it is possible until someone rules out the hardware being incompatible, but that still leaves whether or not anyone wants to go through with making the port, or lets say determine if the version made for the DX50 is adaptable and then make the port from there.  I know at least for my experience with the DX50 version (which I've followed since the beginning, as I have used RB on Clip+ and iPod 5.5G for many years and got my own DX50 in lieu of the port being announced on head-fi) that it took alot of work, like I speculate with any port, and involved one primary dev and several others helping out along the way working out bugs and assisting with code.  That dev has been inactive for the last year, but I will always appreciate his hard work because I use it every day.

If you check the DX50 page http://www.rockbox.org/wiki/IBassoDXPort (http://www.rockbox.org/wiki/IBassoDXPort) you can see all the info needed to start off.  I would personally love to see someone create a port for this DAP, it looks like at the very least a great step up from the DX50 hardware-wise.
Title: Re: ibasso dx80
Post by: [Saint] on December 17, 2015, 04:46:19 PM
Due to the odd nature of these devices, it isn't as complicated as you might think.

Rockbox on the iBasso devices isn't a traditional full firmware replacement like most of the other devices in the Rockbox roster, and this makes things significantly less complicated to some degrees.

I realize that it certainly looks as though it is a full firmware replacement, and it doesn't act like the traditional "Rockbox as an application" type model on the other hosted targets, but, it is.

These devices run an Android OS. From memory, it is Android 4.2, but rather curiously modified. The upshot of this is that Rockbox doesn't need to do any real work to boot and setup the device hardware. It is "just" a case of working with the hardware that is exposed by the main operating system. I would be very surprised if anything in this regard is different for the DX80 as the DX50 and DX90 both share this trait of being run by a bastardized cut-down Android version with an odd crippled runtime engine.

I would be immensely surprised if it was more than a few dozen lines of code to bring up a DX80 port. Very surprised.


[Saint]


EDIT: If anyone is interested in learning how to set up a development environment with a modern Android SDK and NDK, and compile Rockbox for Android, I would be happy to share my knowledge and the required (but not yet submitted) patch sets to do so.
Title: Re: ibasso dx80
Post by: kelchm on January 04, 2016, 08:10:38 PM
Just ordered a DX80 today, should have it on Wednesday.

I'm planning to put some time in this weekend to see if I can get RockBox running on it. Saint, I'll be sending you a PM to ask for a hand getting setup.
Title: Re: ibasso dx80
Post by: [Saint] on January 05, 2016, 08:06:12 PM
Drop me a line at #rockbox (http://) over on Freenode, for ease of use here is a preformed link to our IRC channel (https://webchat.freenode.net/?channels=rockbox) using qwebirc.

That's probably the easiest way to reach me directly if you're able to idle. It is quite rare for me to go much longer than a ~12h period at a time without checking my IRC traffic backlog.

There's a couple of patches you'll need to apply, and the rest is just some helpers in the form of environment variables and $PATH structure. I'm happy to help getting you set up. I also have current pre-built 64 bit toolchains available (you'll be needing an armeabi toolchain, preferably ours).

Looking forward to speaking with you.


[Saint]
Title: Re: ibasso dx80
Post by: kelchm on January 11, 2016, 01:19:47 PM
I think [Saint] has me mostly setup. I'm just trying to figure out how to repack my modified system.img back into an update.img correctly at this point. If anyone has any information on that process please let me know. Thanks!

EDIT: The first two versions of afptool which I tried had some issues with the parameters file -- I actually ended up coming across this (http://wiki.t-firefly.com/index.php/FirePrime/Customize_android_firmware/en) which provides a working version of afptool as well as some very clear instructions on the process.
Title: Re: ibasso dx80
Post by: kelchm on January 15, 2016, 12:44:44 PM
I've made some progress on bringing Rockbox to the DX80, but have hit a bit of a roadblock. I have a process down for unpacking/repacking the update img and ADB is working on my DX80.  Additionally, I have a build environment setup and have successfully built Rockbox targeting the DX90 with modern-ish versions of the required tools (thanks [Saint]!). While the loader application is at a state where I can continue debugging it and get it fully working, Rockbox itself crashes instantly (https://gist.github.com/kelchm/4561ea22119655392951) before I can actually collect any useful information.
 
I'm going to keep working on it, but as a web developer I'm a bit out of my depth here. If anyone has any expertise with Android NDK application or Rockbox in general, shoot me a PM and we can collaborate on this.
Title: Re: ibasso dx80
Post by: TexasRockbox on February 07, 2016, 11:15:14 PM
I think the DX80 Uses Android 5.1 which uses the ART runtime which means Rockbox, as is, it won't work on the installed version of Android.