Jump to content
HWBOT Community Forums

Just got my ODROID-U2 with Exynos4412 SoC (Cortex-A9)

Recommended Posts

Haha, well ... it doesn't involve more than just editing a config file and then follow a "compile kernel" how-to. No need to take your hat off for that. Also, I lost the functionality of the on board LAN port. So that's definitely not good.


Anyway, I've figured out how to change the CPU frequency and voltage. Was able to create a 2.1GHz - 1.5V setting, and select it in OS. But it's very unstable (which is a great indication that the frequency is actually being set. It's essentially editing a P-state table - pretty simple, but a lot of manual work. So that is one bridge built. For future testing, I will need to enhance my cooling solution by either going LN2 (hehe) or adding perhaps a strong fan or so.


As for the Mali GPU overclocking, I am not entirely sure how it works yet. I've been digging through the kernel source code, but I find no reference to the various oc settings that can be configured via the .config files. It is definitely not via a P-state table. It seems to me that the current clock settings of 400/533/640/800 are nothing more than making use of the available ACLK dividers. According to the Exynos user manual, the available dividers are:


- aclk_100 => 400 x 1,00 = 400 MHz

- aclk_133 => 400 x 1,33 = 533 MHz

- aclk_160 => 400 x 1,60 = 640 MHz

- aclk_200 => 400 x 2,00 = 800 MHz

- aclk_266 (for gps) ?=> 400 x 2,66 ?= 1064 MHz

- aclk_400 (for mcuisp) ?=> 400 x 4,00 ?= 1600 MHz


I have not found exactly where that aclk divider is configured yet. But that should just be a matter of time. As far as I can see though, the only options for further overclocking the Mali GPU is either 1) hope that the 266 divider works or 2) figure out how to overclock the apll. Option number 2) is pretty similar to overclocking the BCLK frequency on IVB to increase the GPU frequency. The main issue of course is that all frequencies linked to aclk will be overclocked, and I have not yet mapped out all the connections.


Second issue with the Mali GPU is something I picked up from the Odroid forums. Apparently the DVFS scaling is broken when overclocking the GPU. DVFS stands for Dynamic Voltage Frequency Scaling, and basically comes down to the automatic overvoltage for given frequencies. To overcome this issue, the overclock options are tied to specific voltage settings. These are the settings:


- 533 MHz - 1.075V

- 640 MHz - 1.125V

- 800 MHz - 1.2V


No idea where to adjust the voltages yet.

Link to comment
Share on other sites

You are too bored with Hasfail yet? :D


But seriously, great job. I don't know anything about Linux, and I personally hate Faildroid, but it has to be some nice fun to figure out ocing on ARM in Kernel :)


Keep pushing it, it's great to follow your thread and look on those achievements you made on this little thing, but please don't include it in PRO CUP ;)

Link to comment
Share on other sites

Android is just an OS, and 3DMark is just one of the benchmarks we can run to see how performance is scaling when overclocking. I need to run Linux for HWBOT Prime, but that's an adventure for later.


Honestly speaking, this ARM overclocking is a lot more fun than I anticipated. It's very different from the "usual" overclocking we do, and it reminds me a lot of those early days some people love to reminisce about. Nothing is a given with these devices, and most of the performance gain comes from extensive usage of Google Search and reading hundreds of forum posts. At best, you end up with a ready-to-flash kernel that provides you with a couple of overclocking options. But as far as I can see, no one has pushed the Exynos4 to its limits performance wise. I haven't found any research in base clock frequency overclocking, no research in dram overclocking, let alone bus overclocking.


For all the people that say over and over again that "the past used to be better", well ... the past is back.


Oh, here are my new top scores with 1920arm, 800mali. 1920mhz is more stable, so it's easier to finish the benchmark. I think it might be more heat than voltage related.





Edited by Massman
Link to comment
Share on other sites

We're basically on a unknown land and we have to explore and map it so that we can use it better. I might get an ODROID since it's more powerful than an RPi (mine's dedicated to something else now). One hand doesn't make any noise, but two do, right ? :D


As for the heat issue, you can put an AMD heatsink (big ones) on the bottom. I think that would do the trick.

Link to comment
Share on other sites

I have been looking at the possibilities of integrating ARM devices on HWBOT. The biggest problem at this moment is proper hardware detection. Looking at what Futuremark did for their 3DMark, that is not acceptable. It seems they just look for the device information, match it to a device in their database, and then relay that information to the user in the benchmark UI. This Hardkernel Odroid is not in their database, so simply no information about the specs is provided. Not good, and I now understand why they do not have ORB-support (individual pages for each score) for the ARM version - they can't show accurate system information.


Playing a bit with the CPU-Z for Android, as well. Mine's dump #14322. This one is a lot better at detecting the system information, although it does not recognise I'm running an Exynos4 SoC. It says Cortex-A9, which is correct, but on the Samsung Galaxy S3 it says Exynos. That makes me believe they also do some ad hoc analysis of the hardware components. CPU-Z can accurately read the CPU frequency, though, which is good. It doesn't display any information on the current GPU frequency, so that's a little less good.


All in all, the biggest problem of hardware detection is still present. Something that may hold us back in building rankings for the ARM devices :(.



Link to comment
Share on other sites

We started simple with 3DMark on Android on purpose - we wanted to ship a benchmark that is useful to the industry (who couldn't really care less about hardware detection) and developing full blown "SystemInfo"-style component which actually works on all the SoCs out there would have taken far too long. And it's not just doing that on Android - we have iOS and RT to think about as well (those are coming soon - together with Android update that adds another test mode, which is the reason why iOS and RT got delayed over the summer holidays...)


We're actually discussing with the programmer of CPU-Z (who just got Android version out) on the possibility of integrating his work to 3DMark on Android as well, so who knows... We're already pretty annoyed that CPU core frequency is not detected as same SoC may be running at various clock speeds depending on the device and we can only show "up to X GHz" which is the listed max for the SoC in question.


And yes, there was little point in having any kind of online functionality or "toplists" without any kind of proper hardware detection. So we instead went with the "hardware channel" comparison featureset - offering score comparison against averages out of all scores (where any cheats and other outliers get buried in the vast sea of stock results)

Link to comment
Share on other sites

Nah, already tried that path with HWBOT Prime. /proc/stats and /proc/cpuinfo gives too limited information, same for /proc/meminfo. I tried writing a C library for lower level information, but unlike x86 there is no uniform way to retrieve the processor brand string or frequency from an ARM processor.

Link to comment
Share on other sites

And yes, there was little point in having any kind of online functionality or "toplists" without any kind of proper hardware detection. So we instead went with the "hardware channel" comparison featureset - offering score comparison against averages out of all scores (where any cheats and other outliers get buried in the vast sea of stock results)


It would be nice to see comparible devices in the 3DMark launcher. I'm scoring about 4000 points in Ice Storm, and all my device is compared to is the Nvidia Shield and the Sony UltraZ. Both are at 15k+.


Give me some devices around the 4k mark so I can see what the next target is :).

Edited by Massman
Link to comment
Share on other sites

What do you guys think of this ?




Processor: AM335x 1GHz ARM® Cortex-A8

3D graphics accelerator

NEON floating-point accelerator

2x PRU 32-bit microcontrollers


USB client for power & debug

USB host



2x 46 pin headers

Software Compatibility

Ångström Linux



Cloud9 IDE on Node.js w/ BoneScript library

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...