Boris Gjenero | 25 Apr 15:11 2015

File creation can take a long time

Occasionally I use text_editor to take notes on my 5G 30GB iPod. This 
has always worked well in the past with the stock MK3008GAL hard drive. 
(BTW I recommend opti2.kbd ) Recently I 
upgraded to a HS12YHA, which is 120GB with 4k sectors.

I was playing WMA. When I saved in text_editor, creating a new file, it 
seemed to hang. The wait was long enough that I reset the iPod, leaving 
a 0 length file. Then I tried again, also playing WMA and waiting longer 
and it worked. This made me think that Rockbox took a long time to look 
through the FAT because the drive was mostly full and free space was 
toward the end.

Specific conditions are needed to reproduce this. FAT32 has an fsinfo 
sector with a hint value telling where the first free cluster should be 
located. Rockbox makes use of this, allowing fast cluster allocation. 
After mounting the iPod in Windows, the free space hint was 0x1da2. Then 
I played that same WMA album, and reproduced the problem. The free space 
hint was now 0x321da2, showing that Rockbox must have scanned though 
many clusters in the FAT. Here is sudo dd if=/dev/sdb2 bs=512 count=1 
skip=1 | hexdump -C
00000000  52 52 61 41 00 00 00 00  00 00 00 00 00 00 00 00 
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 
000001e0  00 00 00 00 72 72 41 61  0a a2 05 00 a2 1d 32 00 
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa 
(Continue reading)

Michael Gindonis | 10 Apr 09:27 2015

OpenID 2 end of life....


I was about to register to gerrit so I could add some of my patches to
rockbox and came across this note from google about the end of support
for OpenID 2.0 on the 20th of April.

Is there a plan in place for move to OAuth?


Michael Gindonis

Frank Gevaerts | 16 Feb 11:47 2015

"User selectable freq scaling governor"


A setting for user selectable freq scaling governor (for ibasso players)
was added in 040306a. Can anyone explain why this is needed? It's a
setting that the vast majority of users will have no clue about, while
those who actually know what it means won't know what to set it to.

I would expect that for rockbox use, one of those possible governors
will consistently be the best one to use. I'd suggest figuring out which
one that is and then using it. For developer experiments, a debug menu
item is a good way to play with this, but a user-visible setting?



"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan

Thomas Martitz | 15 Feb 23:45 2015

commit 9076b433

The below commit isn't necessary.

buflib buffers can be passed to yielding functions just fine. Problems 
only arise if the are concurrent allocations, for example if two threads 
allocate from the same context simultaneously or if the callee does it's 
own allocations. This can't happen in the pictureflow case, it has it's 
own context and a single thread allocating from it.

Therefore the problem isn't yield() itself, but possible concurrent 
buflib_alloc() calls that result from the thread switch. This is because 
compaction only ever happens on allocation (and not in a backgroud 
thread or so).

Best regards.

commit 9076b433d18b5db1a1987fe99ca7c70808f22b0e
Author: Thomas Jarosch <tomj <at>>
Date:   Thu Jan 1 23:45:24 2015 +0100

     PictureFlow: Add move callback for buflib allocations

     If we don't provide a callback to buflib_alloc(),
     the buffer is always movable (to reduce fragmentation).

     Since we pass our buffer to functions that call yield(),
     this could lead to memory corruption on buflib compaction.

     Change-Id: Id1fad1822479d692551c55cb8bc87cea7b78f759

diff --git a/apps/plugins/pictureflow/pictureflow.c 
(Continue reading)

Mike Giacomelli | 8 Feb 00:21 2015

d81b362: iBasso DX50: Digital filter roll off setting.

This commit should not have been made without discussion because:

1)  We had previously rejected it
2)  We generally try to avoid giving users frivolous hardware settings.


Udo Schläpfer | 31 Jan 14:25 2015

buildserver/buildclient and iBasso DX50/DX90: Major code cleanup and reorganization.


As stated here i will submit this 
patchset in a few days.

This will most likely break the current build for ibassodx50.


is the current configuration of the build server, than this

android19:0:ibassodx50:iBasso DX50:rockbox.apk:110450:../tools/configure 
--target=ibassodx50 --type=n && make apk

shoud probably be

--target=ibassodx50 --type=n && make zip

as this is no longer a PLATFORM_ANDROID device (no JAVA parts).

Adding ibassodx90 would be nice.


The Android specific configuration has changed:

(Continue reading)

Frank Gevaerts | 11 Jan 18:32 2015

recorder build


The recorder build is still failing due to size limits, and it's
unlikely to get better soon. I'm proposing to remove it from the
automated build system.

It's close enough to the recorderv2 to avoid breakages slipping
through, and having that persistent red makes reds elsewhere less

Any objections?



"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan

Thomas Orgis | 3 Jan 23:19 2015

Completed extended metronome plugin (gerrit #887)


after a few prototypes I have pushed my (first) final version of an
extended metronome plugin to Gerrit:

Testing and eventually merging of that into rockbox proper would be
welcome. This replaces the existing metronome plugin now, as all the
functionality is there.

PS: Gerrit items 1100 to 1116 are junk caused by me not squashing
commits before pushing ... they can be ignored and I would abandon them
if I could remember where my OpenID thingy for Gerrit came from.

Robert Durkacz | 20 Dec 02:16 2014

build error (missing header files) on cygwin


I am trying to build for sansa clip + on cygwin following the
instructions. I have a few missing header files as follows:
/home/robert/rockbox/apps/language.c:36:31: error:
max_language_size.h: No such file or directory
/home/robert/rockbox/firmware/common/version.c:22:23: error:
rbversion.h: No such file or directory
/home/robert/rockbox/apps/recorder/jpeg_idct_arm.S:25:31: error:
apps/core_asmdefs.h: No such file or directory
/home/robert/rockbox/apps/plugins/credits.c:27:71: error: credits.raw:
No such file or directory

How do I go about sorting this out please?

h | 11 Dec 21:11 2014

Ladies and gentlemen, we have sound on Android/ARM - Pono Player!

  I'm pleased to announce that Rockbox on my Pono Player
running a slightly customized Android 2.3.3 (GB), which has an OMAP3 
successfully played its first track on the evening of December the 10.:
Sly Fox by KOAN Sound

I will add the Details to the wiki in the next few days.


Andrey Ryabinin | 29 Nov 09:55 2014

Revert "Rewrite filesystem code (WIP)"

[Duplicating [3] in mailing list for wider audience and discussion.]

Commit 7d1a47cf ("Rewrite filesystem code (WIP)") introduced
regressions ([1],[2]) on several rk27xx targets, making them nearly unusable.

Due to size of this change it's nearly impossible to find the root
of the problem, so I'm suggesting to revert it for now.

I'll keep searching the source of problem. It definitely will take a
lot of time. But once I'll find it we could revert the revert back.

We don't have stable release for this targets, cause they are never
been officially stable. So dev builds is the only option for users and
I would like to not keep them broken yet another hell knows how many



Best regards,
Andrey Ryabinin