Archive

Posts Tagged ‘gpu’

ODROID-XU3 Lite Board Ubuntu Review – Setup, Usability, and Performance

December 14th, 2014 13 comments

After testing ODROID-XU3 Lite with Android 4.4, and finding a workaround to some HDMI issues, I could finally try out Ubuntu, or rather Lubuntu with LXDE instead of Unity, in Hardkernel low cost octa-core development board. I’ll start this review by explaining how to install and setup Lubuntu on the board, followed by running various program to test the system usability as a desktop computer with LibreOffice, Chromium, XBMC, and 3D graphics, and finally run some performance tests with Phoronix Test Suit, build the Linux kernel natively, and transcode a video with avconf.

Setting Up Ubuntu on ODROID-XU3 Lite

All firmware images for ODROID development boards, can be found on odroid.in website, and if you want Ubuntu 14.04 image, go to ubuntu_14.04lts folder, to select the latest firmware file for your board. The latest image for ODROID-XU3 (Lite) is currently ubuntu-14.04.1lts-lubuntu-odroid-xu3-20141105.img.xz, it’s the same for micro SD card or eMMC boot. You should have gotten a eMMC to micro SD adapter if you’ve purchased an eMMC module from Hardkernel.

You can download, extract, and flash the image with dd (Linux) or Win32DiskImager (Windows). For example. in a terminal in a Linux computer:

wget http://odroid.in/ubuntu_14.04lts/ubuntu-14.04.1lts-lubuntu-odroid-xu3-20141105.img.xz
sudo apt-get install xz pv
xz -d ubuntu-14.04.1lts-lubuntu-odroid-xu3-20141105.img.xz
dd if=ubuntu-14.04.1lts-lubuntu-odroid-xu3-20141105.img | pv | sudo dd of=/dev/sdX

Where X is the letter of your micro SD or eMMC module inserted into your computer. Check the value carefully with lsblk before running the dd command, or you may lose your data stored on other drives connected to your computer,. For extra safety, you could also consider doing this procedure in a virtual machine, for example by running Ubuntu in VirtualBox.

Now insert the micro SD card or connect the eMMC module to the board, and you configure the boot switch between the Ethernet and USB ports as shown below using a pen or tweezers. For eMMC both must be in high position, whereas for SD card boot one must be down.

ODROID-XU3_Lite_Boot_Switch

Left: eMMC Boot; Right: Micro SD Card Boot

Now connect a keyboard, mouse, the HDMI cable, Ethernet, and/or other peripherals you may want to connect and power up the board by connecting the provided 5V/4A power supply. A typical boot should complete in around 22 seconds, although the first boot might take a little longer.

Lubuntu Desktop in ODROID-XU3 Lite

Lubuntu Desktop in ODROID-XU3 Lite

A this stage, the installation is nearly complete, and you should already have a usable system, however, if you’ll see that the rootfs partition is only 4.9GB with 310 MB available (that’s after installing LibreOffice):

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2  4.9G  4.4G  310M  94% /

Since my eMMC module has a capacity of 16GB, it would be nice to use all of it. Normally, you’d use fdisk/parted, and resize2fs  to get the full size, but Hardkernel provides ODROID Utility that can do just that among others. So click on the icon on the top right to launch the program, input the password (odroid), and after running apt-get update automatically, the following interface should appear.

ODROID_UtilityClick on Resize your root partition, and after making sure the root partition is in /dev/mmcblkp2, click <Yes> to continue and resize the root partition on your micro SD card or eMMC module. After a reboot, you can check all the available storage in a terminal:

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2   15G  4.4G  9.4G  32% /

9.4GB available out of a 15GB partition. Perfect! The setup is now complete.

Using ODROID-XU3 Lite as a Desktop Computer / Media Player

The Ubuntu image comes pre-loaded with Firefox, Chromium, Transmission, Arduino IDE, Abiword, PacmanFM, XBMC and a few others programs. Since they probably wanted to keep the image reasonably small, they did not install large program, but I install LibreOffice for a better office suite, and Nautilus for a file manager with Network Shares access:

sudo apt-get install libreoffice nautilus

The system is extremely responsive, and if you’re using a computer with a mechanical drive, ODROID-XU3 Lite will boot and load programs much faster than your full-blown Intel/AMD computer.

The best way to showcase ODROID-XU3 (Lite) capabilities is to shoot a video, so I’ve just done that showing:

  1. 20 seconds boot
  2. ODROID Utility options
  3. List of installed applications
  4. LibreOffice (Writer)
  5. Chromium – Multi-tabs, YouTube (embedded / full screen; VP9 / H.264/AVC1), and Candy Crush Saga (Flash game) in Facebook
  6. 3D hardware acceleration with es2gears
  7. XBMC Media Player with 2D/3D OpenGL ES and hardware video decoding.
  8. Power off

I’ve also opened a terminal running htop to show the eight cores CPU usage during these tests.

Side note: Since my camera (Canon Powershot A2300 HD) is pretty poor at shooting videos of screens, I’ve used SJ1000 action camera instead as the image is much sharper, but there’s a fisheye effect due to the wider angle of such camera. There are some tools in Linux including Python scripts and KDEnlive that can remove the fishing effect, but they introduce some aliasing, which does not look nice in this type of video, although it’s probably acceptable for content without text or thin lines.

Based on these tests, ODROID-XU3 Lite can be used as a desktop replacement or an XBMC media center, but you have to be aware of some limitations:

  • YouTube embedded videos play usually well, and 360p/480p full screen video play quite well, but the user experience is not very good with 1080p full screen videos, either with VP9 or H.264 codec.
  • Adobe Flash is not pre-installed, but in Chromium, it should be quite easy to install libpepperflash.so to enable Flash support. I have not tried, but normally, flash performance on ARM is rather subpar compared to x86.
  • The window manager may not be hardware accelerated with the GPU.

For all other uses, ODROID-XU3 Lite is clearly the best ARM Linux platform, I’ve tried so far, with a fast eMMC, 2D/3D hardware accelerated graphics (for apps that support OpenGL ES only), and hardware video decoding.

Other Use Cases and Performance

Before starting some benchmarks, I’ll check what type of Exynos 5422 I have in my system:

root@odroid:~# dmesg | grep BIN                                                 
[    0.355271] [c6] CPU Info : Samsung Exynos5422 Soc is BIN2

BIN1 is for the Exynos 5422 processor clocked up to 2.2 GHz found in ODROID-XU3 board, and BIN2 is limited to 1.8 GHz, and normally found in the Lite version of the board which I’m reviewing right now.

Phoronix Suite Benchmarks

Antutu is the most famous benchmark in Android, but in Linux, Phoronix Test Suite is the reference. It’s a bit more complicated to use than Antutu, but more flexible, and throrough.

sudo apt-get install php5-cli php5-gd php5-gd
wget http://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_5.4.0_all.deb
sudo dpkg -i phoronix-test-suite_5.4.0_all.deb

After apt-get install,. I had to run “sudo apt-get install -f” to complete the installation.

Than I’ve followed the instructions here, and selected four tests from the suite to test audio encoding, multi-core file compression, server, and disk I/Os:

phoronix-test-suite batch-benchmark pts/encode-mp3 pts/compress-7zip pts/apache pts/iozone

It turns out the iozone test for disk I/O takes nearly five hours, and recently my computer tends to turn off randomly, and since I started the test from an ssh console, the test got interrupted, so I only ran encode-mp3, compress-7zip, and apache benchmarks which last only about 15 minutes in total.

Out of the three test, compress-7zip failed because of a lack of memory:

[c4] Out of memory: Kill process 9593 d
[16693.088181] [c4] Killed process 9593 (7za) total-vm:1844536kB, anon-rss:1509B

So the whole Phoronix benchmarks did not exactly work out as expected, but you can find the result for MP3 encoding and Apache tests @ http://openbenchmarking.org/result/1412146-LI-20141214131

ODROID-XU3-Lite_Phoronix_Intel_Core_i3_radxa_proI’ve compared the ODROID-XU3 Lite results to some recent results on Openbenchmarking website including an Intel Core i3-4150 quad core system (cpu-ubuntu), an older Intel Atom N570 system (2G), and Radxa Pro board powered by Rockchip RK3188 processor. So Exynos 5422 can’t match a recent Core i3 processor yet (which by itself costs more than ODROID-XU3 Lite board), but does well against N570 netbook processor, and is about twice as fast as Radxa Rock Pro board in these two tests.

Mainline kernel compilation

People may want to use this powerful low cost Octa core board in build farm, so I though it would be fun to try building Linux mainline kernel natively. Let’s installing dependencies, and get the source latest Linux release (3.18) first.

sudo apt-get install libncurses5-dev gcc make git exuberant-ctags
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
git checkout -b stable v3.18

Ubuntu 14.04 comes with gcc 4.8.2 only, but this compiler will break Linux mainline build, so I had to install gcc 4.9 instead:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9

You’ll also note some ODROID boards are already part of mainline, probably with partial support, but unfortunately ODROID-XU3 (Lite) kernel has not been upstreamed yet.

root@odroid:~/linux-stable# ls -l  arch/arm/boot/dts | grep odr                 
-rw-r--r-- 1 root root   8334 Dec 14 14:11 exynos4412-odroid-common.dtsi        
-rw-r--r-- 1 root root   1310 Dec 14 14:11 exynos4412-odroidu3.dts              
-rw-r--r-- 1 root root    829 Dec 14 14:11 exynos4412-odroidx2.dts              
-rw-r--r-- 1 root root   1691 Dec 14 14:11 exynos4412-odroidx.dts

Anyway, let’s build the kernel for Exynos processor, and see how fast the board can compile a Linux kernel:

make exynos_defconfig
time make -j8 CC=gcc-4.9
...
real    5m43.746s
user    31m25.235s
sys     4m11.130s

So it takes less than 6 minutes to build the kernel on ODROID-XU3 Lite, about 4 times longer than on a powerful, but much more power hungry (300W) AMD FX8350 based computer. In other words, it should be possible to achieve the same performance as my computer using 4 or 5 ODROID-XU3 Lite boards in a mini build farm using distcc compilation for about the same price, but only a fraction of the power consumption, and of course native compilation has advantages over cross-compilation, since some tests may have to be skipped for the latter.

Video Transcoding with avconv

Finally, one follower on G+ asked me to test MPEG2 to H.264 video transcoding with ffmpeg. The latter does not seem to be available, and as been replaced by avconc, so I installed libav-tools instead, and ran the transcoding.

sudo apt-get install libav-tools
time avconv -i big_buck_bunny_1080p_MPEG2_MP2_25fps_6600K.MPG \
-vcodec libx264 -minrate 300k -maxrate 300k -bufsize 1835k bbb-h.264.avi
avconv version 9.16-6:9.16-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav s
built on Aug 10 2014 18:32:09 with gcc 4.8 (Ubuntu/Linaro 4.8.2-19ubuntu1)
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, mpeg, from 'big_buck_bunny_1080p_MPEG2_MP2_25fps_6600K.MPG':
Duration: 00:00:44.74, start: 0.240000, bitrate: 7159 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 1920x1080 [PAR 1:1 Dc
Stream #0.1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16p, 160 kb/s
[libx264 @ 0x6c9c0] using SAR=1/1
[libx264 @ 0x6c9c0] MB rate (734400000) > level limit (2073600)
[libx264 @ 0x6c9c0] using cpu capabilities: ARMv6 NEON
[libx264 @ 0x6c9c0] profile High, level 5.2
Output #0, avi, to 'bbb-h.264.avi':
Metadata:
ISFT            : Lavf54.20.4
Stream #0.0: Video: libx264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=-1--1c
Stream #0.1: Audio: libmp3lame, 44100 Hz, stereo, s16p
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video -> libx264)
Stream #0:1 -> #0:1 (mp2 -> libmp3lame)
Press ctrl-c to stop encoding
frame= 1035 fps= 8 q=55.0 size= 30701kB time=40.52 bitrate=6206.7kbits/s

It took 2 minutes 31 seconds to encode a 44 seconds video, so real-time 1080p video transcoding is currently not feasible with avconv / ffmpeg.

Have said that, Exynos 5422 supports video decoding and encoding, so it should be possible to write a program using the MFC (Multi-Format Codec) driver for Exynos. I could not find any sample code, but having a look a XBMC source code for ODROID boards might be a start, since it’s using the MFC drivers for decoding.

ODROID-XU3 Lite can be purchased directly from Hardkernel for $99 + shipping, or through distributors like Ameridroid (USA) or Pollin Electronics (Germany). Adding an eMMC module, an HDMI cable, and the serial debug board to your order is recommended, although you could replace the eMMC with a fast micro SD card (class 10 or greater) for a still decent performance.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linux 3.18 Released

December 10th, 2014 2 comments

Linus Torvalds released Linux Kernel 3.18 last Sunday:

It’s been a quiet week, and the patch from rc7 is tiny, so 3.18 is out.

I’d love to say that we’ve figured out the problem that plagues 3.17 for a couple of people, but we haven’t. At the same time, there’s absolutely no point in having everybody else twiddling their thumbs when a couple of people are actively trying to bisect an older issue, so holding up the release just didn’t make sense. Especially since that would just have then held things up entirely over the holiday break.

So the merge window for 3.19 is open, and DaveJ will hopefully get his bisection done (or at least narrow things down sufficiently that we have that “Ahaa” moment) over the next week. But in solidarity with Dave (and to make my life easier too ;) let’s try to avoid introducing any _new_ nasty issues, ok?

Linus

Linux 3.17 added support for Xbox One controllers, USB device sharing over IP, more secure random numbers, several modifications for perf and more.

Some of the changes made to Linux 3.18 include:

  • Performance improvements for the networking stack thanks to bulk network packet transmission, which “allows a relatively small system to drive a high-speed interface at full wire speed, even when small packets are being transmitted.”
  • Faster suspend and resume by replacing a 100ms polling loop with proper completion notification. This will mostly be noticeable on systems with a large number of cores. Git pull.
  • Berkeley Packet Filter bpf() system call. “The hooks to use this code (in tracing and packet filtering, for example) will take a little longer, but the core support for a “universal virtual machine” in the kernel is now present.”
  • Nouveau drivers for Nvidia GPUs now supports basic DisplayPort audio
  • Several filesystems improvements, notably for BTRFS and F2FS
  • Audio hardware. Codecs: Cirrus Logic CS35L32, Everest ES8328 and Freescale ES8328; others: Generic Freescale sound cards, Analog Devices SSM4567 audio amplifier

New features and improvements specific to the ARM architecture include:

  • Allwinner
    • Allwinner A31/A23 –  RTC  & Watchdog
    • Allwinner A23 – MMC, pinctrl, DMA and I2C
    • New boards: Olimex A20-OLinuXino-Lime, Merrii Hummingbird A20, and HSG H702 tablet board.
  • Rockchip
    • Added new clock-type for the cpuclk
    • Ethernet: Added support for Rockchip SoC layer device tree bindings for arc-emac driver, and emac nodes to the rk3188 device tree.
    • Added driver for Rockchip Successive Approximation Register (SAR) ADC.
    • RK808 PMIC: Added regulator driver, clkout driver, and mfd driver.
  • Amlogic – Added MesonX support, only Meson6 for now (Amlogic AML8726-MX). DTS for Geniatech ATV1200 media player
  • Added basic support for BCM63138 DSL SoC, Texas Instruments AM57xx family, Atmel SAMA5D4, Qualcomm IPQ8064, Renesas r8a7794 SoC,
  • New Device tree files for various board and products: Gateworks GW5520, SAMA5D4ek board,  i.MX1 Armadeus APF9828, i.MX1 ADS board, Technexion Thunder support (TAO3530 SOM based, Sony Xperia Z1, IFC6540 board, CM-QS600 SoM,  etc…

I could find a few changes for MIPS architecture in Linux 3.18 too:

  • SEAD3: Nuke PIC32 I2C driver.
  • Loongson: Make platform serial setup always built-in
  • Netlogic: handle modular USB case & AHCI builds
  • tlbex: Fix potential HTW race on TLBL/M/S handlers
  • cpu-probe: Set the FTLB probability bit on supported cores
  • fix EVA & non-SMP non-FPU FP context signal handling
  • Etc.. You can find a few more changes @ http://lwn.net/Articles/623825/

A more thorough changelog for Linux 3.18 will soon be published on Kernelnewbies.org. Remember to also check ARM architecture and drivers sections, for more details about changes related to ARM platforms.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Hardkernel ODROID-C1 is a $35 Development Board Powered by Amlogic S805 Quad Core Processor

December 10th, 2014 66 comments

Amlogic S805 is a quad core Cortex A5 processor which has found it way into low cost devices such as MK808B Plus TV Stick which can be purchased for as low as $30, or full-sized TV box such as MXQ S85 or MINIX NEO X6. All this low cost devices are nice, but the full source code is not available in your want to adapt them to your need. Luckily, Amlogic releases both an Android SDK, and a buildroot for Linux with GPU and Video Processing Unit (VPU) support, so Hardkernel decided to go ahead, designed a board, and has just launched ODROID-C1 quad core development board for just $35, or the exact price of a Raspberry Pi Model B+, but with much greater specs.

ODROID-C1 Board Description (Click to Enlarge)

ODROID-C1 Board Description (Click to Enlarge)

ODROID-C1 specifications:

  • SoC- Amlogic S805 quad core Cortex-A5 processor with a Mali-450MP2 GPU (2x fragment cores + 2x vertex shader cores)
  • System Memory – 1GBe DDR3 (2x Samsung K4B4G1646D)
  • Storage – eMMC module socket for  8GB/64GB Toshiba eMMC, or 16GB/32GB Sandisk iNAND Extreme, and micro SD slot (UHS-1 SD models supported)
  • Video & Audio Output – micro HDMI port
  • Connectivity – Gigabit Ethernet (Realtek RTL8211F)
  • USB – 4x USB 2.0 host ports (via GENESYS LOGIC GL852G), 1x micro USB OTG port (Cannot be used for power input)
  • Expansion Headers – 40-pin Raspberry Pi (mostly) compatible header with GPIO, I2C, SPI, UART, and ADC.
  • Debugging – Serial console header (3.3V)
  • Misc – 4x Status / Power LEDS, IR receiver, RTC + RTC battery header, solder pads for power switch, boot media selector
  • Power Supply – 5V/2A DC input (2.5/0.8mm barrel). Typical power consumption:  0.5A @ 5V, up to 2A @ 5V with several USB peripherals.
  • Dimensions – 85 x 56mm (Same dimensions as Raspberry Pi Model B+)
  • Weight – 40 gram

It’s the first S805 device I see that actually uses a Gigabit Ethernet port, so that’s good news. You can boot the system from eMMC or micro SD card, using the boot media selector (Open: eMMC, Closed: SD card).

ODROID-C_Board_Bottom

The company will provide images for Ubuntu 14.04 or Android 4.4 KitKat with Linux 3.10. The source code for U-Boot/Linux will be released on December 15, but the Android source code will take a little longer due to license issues, and is expected for February. WiringPi v2 library used to control I/O in the Raspberry Pi with Python or C/C++, has been ported to ODROID-C1. Further information such an expansion header pinout, and instructions to build u-boot can be found on ODROID-C1 Wiki, which is still under construction. The schematics (PDF) and mechanical drawings have also been released.

What makes this platform existing, beside its attractive pricing and source code availability, is Ubuntu support with proper OpenGL ES and video hardware decoding support, which is showcased in the video below in Kodi 14 Helix running in Ubuntu 14.04.

ODROID-C1 is available for pre-order for $35 on Hardkernel website with shipping scheduled for December 16, but if you are based in North America or Europe, you should be better off purchasing from respectively Ameridroid or Pollin Electonic. I also wish they find a distributor for the rest of the world, as shipping is probably $25 (I can’t access the site from Thailand without proxy), which makes the board $60 [Update: Based on comments shipping is only $9 for some, for $25 for most]. You’ll also need to purchase storage for booting either from Hardkernel or its distributors which sells 8, 16, 32 and 64GB eMMC modules, or 8 to 16GB UHS-1 micro SD cards preloaded with Android 4.4 or Ubuntu 14.04, or buy it one locally, just make sure you don’t buy the cheapest micro SD card, get at least a Class 10 or UHS-1 micro SD, or your ODROID-C1 will feel as slow, or even slower, than a Raspberry Pi. Further details can also be found in ODROID magazine December 2014 (PDF) including a performance and specs comparison between ODROID-C1 and Raspberry Pi Model B+.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Fujitsu MB86S70 and MB86S73 ARM Cortex A15 & A7 Processors Run Linux for the Embedded Market

November 28th, 2014 1 comment

I like to check the ARM Linux kernel mailing list from time to time, as you may discover a few upcoming ARM processors. This week I found out Exynos 5433 and Exynos 7 are actually two different processors (thanks David!), and that AMD had submitted code for their 64-bit ARM Opteron A1100 SoC for servers. I also noticed a patchset for Fujitsu MB86S7X SoCs, and since I don’t often mention Japanese silicon vendors, probably because they now mainly deal mostly with the embedded market that gets very little press, and most information is in Japanese, I decide to have a look.

Fujitsu MB86S70 Block Diagram

Fujitsu MB86S70 Block Diagram

There seems to be four SoC parts in MB86S7x family with MB86S70 quad core processor with two ARM Cortex A15 and two ARM Cortex A7 cores in big.LITTLE configuration, and MB86S73 with two ARM Cortex A7 cores only, as well as MB86S71/72 with 2x A15 and 2x A7, with all featuring a single or quad core Mali-T624 GPU.

Fujitsu provided a comparison tables for both MB86S70 and MB86S73 processors in English, but there’s very little info about MB86S71/72 SoCs.

Block Function MB86S70 MB86S73
CSS
DMC
CPU Cortex-A15
2 cores Up to 2.4GHz 1MB-L2C
-
CPU Cortex-A7
2 cores up to 800MHz 256k-L2C
Cortex-A7
2 cores up to 1.2GHz 512k-L2C
3D/GPGPU Mali-T624
4 cores @ 400MHz 128k-L2C
Mali-T624
1 core @400MHz 32k-L2C
MEMC 2-ch DDR3-1.333Gbps 32bit 1-ch DDR3-1.333Gbps 64bit
SCB CPU ARM Cortex M3 @ 125MHz ARM Cortex M3 @ 125MHz
LAN GbE, WoL, TCP Acceleration GbE, WoL, TCP Acceleration
FLASH-IF HSSPI, NOR, eMMC, NAND
SecureBoot (SROM/NOR)
HSSPI, NOR, eMMC, NAND
SecureBoot (SROM/NOR)
SERIAL-IF 3x UART, 16x GPIO, 10x I2C 3x UART, 16 GPIO, 3x I2C
MPB CODEC 1080p Multi Encode, 4 stream H.264 Decode
32k × 32k JPEG CODEC
32k × 32k JPEG CODEC
Display HDMI-1.4a HDCP
MIPI-DSI 1Gbps-4Lane
LVDS (CLK 1ch / data 4ch)
CAPTURE 1-ch RBG/YUV 720p capture only -
TSIF 2 serial TS Demux -
AUDIO 2-ch I2S (I/O Independent) + 4ch
I2S (HDMI)
2-ch I2S (I/O Independent)
SD 1-ch SDIO UHS-I 1ch SDIO UHS-I
HSIOB PCIe 2-ch PCIe-Gen2-4Lane + Data Scrambler 2-ch PCIe-Gen2-4Lane + Data Scrambler
USB USB3 Host 2ch USB3 Host
USB USB2 HDC 1ch USB2 Host, 1ch USB2 Device

MB86S70 is the more powerful of the two, not only when it comes with CPU power, but also with regards to multimedia capabilities with 1080p encode, and 4-k encode, TS demux, and RGB/YUV 720p video capture, whereas MB86S73 does not seem to support hardware video decoding / encoding at all, providing only JPEG acceleration, and an LVDS interface, so it’s mostly probably desinted to be used in control panels for example. Both processors however feature high-speed interfaces like USB 3.0 host, Ggiabit Ethernet, and PCI-E interface, the latter being not so common in ARM SoCs, and only found in a few products like Freescale i.MX6 and Tegra K1 SoCs.

Fujitsu MB86S73 Block Diagram

Fujitsu MB86S73 Block Diagram

The company also provides evaluation boards for their two processors, together with a software development platform based on Linux with support for OpenGL, OpenCL, and OpenMAX for graphics and video decoding, and they’ve also started getting some code to mainline kernel.

MB86S70 (Left) and MB86S73 (Right) Evaluation Kits (Click to Enlarge)

MB86S70 (Left) and MB86S73 (Right) Evaluation Kits (Click to Enlarge)

More information is available in Japanese only on Fujitsu’s Platform SoC page, and a presentation (PDF) made at Java Day Tokyo 2014.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Imagination Technologies Introduces PowerVR Series7 GPUs with Up to 512 Cores, Virtualization Support

November 10th, 2014 3 comments

Imagination Technologies has announced a new PowerVR Series7 GPU architecture that will be used in their high end PowerVR Series7XT GPUs delivering up to 1.5 TFLOPS for mid range and high-end mobioe devices, set-top boxes, gaming consoles and even servers, as well as their low power lost cost PowerVR Series7XE GPUs for entry-level mobile devices, set-top boxes, and wearables.

PowerVR_Series7XT_Block_Diagram

PowerVR Series7XT GPU Block Diagram

PowerVR Series7 GPU, both Series7XT and Series7XE GPUs, can achieve up to a 60% performance improvement over PowerVR Series6XT/6XE GPUs for a given configuration. For example a 64-core PowerVR7XT GPU should be up to 60% faster than a 64-core PowerVR Series6XT clocked at the same frequency, with all extra performance due to a different and improved architecture.

Some of Series7 architectural enhancements include:

  • Instruction set enhancements including added co-issue capability, resulting in improved application performance and increased GPU efficiency
  • New hierarchical layout structure that enables scalable polygon throughput and pixel fillrate improvements in addition to increased clock frequencies
  • GPU compute setup and cache throughput improvements resulting in up to 300% better parallel processing performance

The new GPUs can also optional support 10-bit YUV color depths, security (e.g. DRM), and hardware virtualization, as well as other feature specific to some market segments:

  • Android Extension Pack (AEP) – Full hardware tessellation and native OpenGL ES 3.1 support. Compatible with Android 5.0 ‘Lollipop’ release.
  • DirectX 11 Feature Pack – Full DirectX 11.2 feature set for Microsoft operating systems.
  • OpenCL FP64 Feature Pack –  Scalable 64-bit floating point co-processor per cluster for high-performance server compute. Series7XT only.
PowerVR Seris7XE Block Diagram

PowerVR Seris7XE Block Diagram

The PowerVR Series7XT family scales between 100 GFLOPS to 1.5 TFLOPS, and is designed to provide the best possible performance. It features AEP and 10-bit YUV support by default, and supports between two to sixteen clusters with 32 multi-threaded multi-tasking ALU cores each. Current Series7XT GPUs include the GT7200 (64 cores),  GT7400 (128 cores), GT7600 (192 cores),  GT7800 (256 cores), and GT7900, the most powerful PowerVR GPU to date with 512 cores.

On the other hand, Series7XE GPUs are optimized for area, efficiency, and cost thanks to feature configurability, with let SoC manufacturers choose whether they want options such as 10-bit YUV support for HEVC, virtualization, or AEP support. Beside low cost mobile devices and media player, Series7XE GPU are also expected to be used in photocopiers, printers, consumer and other enterprise devices which may require 3D user interfaces at a lower price point. There are two GPUs part of the Series7XE family: GE7400 with 16 cores, and the GE7800 with 32 cores.

The company will provide their usual free PowerVR SDK for 3D graphics and GPU compute application development. Hypervisors will be able to utilize the virtualization in the GPUs to implement true heterogeneous security in any of the PowerVR Series7 GPUs (if virtualization is enabled).

PowerVR Series7XE and Series7XT GPUs are available for licensing now, and Imagination Technologies has already started implemention their new GPU IP into SoCs from licensing partners. More technical details about be found on two blog post: New PowerVR Series7XE family targets the next billion mobile and embedded GPUs and PowerVR Series7XT GPUs push graphics and compute performance to the max.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Qualcomm Releases Userspace Adreno 320 GPU Drivers for Ubuntu

October 30th, 2014 2 comments

Qualcomm Developer Network has just sent the October Newsletter by email, and they had some news specific to Ubuntu / Linux support on IFC6410 development board powered by a Snapdragon 600 processor. Firs they link to a guest blog post on Qualcomm website entitled “Video Conferencing on Linux with the Qualcomm Snapdragon 600 Processor“, where Qualcomm partner eInfochips stated:

Qualcomm Technologies, Inc.’s leadership in mobile market with Linux Android support is well established. As the demand for Qualcomm Snapdragon processors, a product of Qualcomm Technologies, Inc., increase in adjacent markets, the need for non-Android Linux support becomes evident.

Which is always good to read. The rest of the post blog provides a few more details about their a low-latency (50ms glass-to-glass) video conferencing solution based on OpenEmbedded build with Linaro Linux Kernel, and making use of Qt5, Gstreamer, and Sofia SIP library. Further improvements will be achieved with hardware video decoding.

Qualcomm also released a developer preview user-mode Ubuntu Linux driver binaries for Qualcomm Adreno 320 GPU on Inforce IFC6410 board. Linaro already releases a monthly Linaro Member Build for IFC6410 board. This release includes support for OpenGL ES 3.0 and has been tested with the Linaro 14.09 Ubuntu release. The Linaro image already included OpenGL 2.1 support for Adreno 320 GPU, but based on the open source freedreno GPU driver, instead of an official release by Qualcomm.

You can download adreno-ubuntu.tar.gz with your Qualcomm developer credentials.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

ARM Unveils Mali-T800 Series GPUs, Mali-V550 VPU, and Mali-DP550 Display Processor

October 28th, 2014 3 comments

ARM has just announced several new Mali media IP: three Mali-T800 series GPUs (Mali-T820, Mali-T830, and Mali-T830) based on Midgard architecture, as well as Mali-V500 video accelerator, and the Mali-DP550 display processor.

ARM_Mali-T860_Mali-V550_Mali-DP550

Mali T800 Series GPU

The new Mali T-8xx GPUs are based on the same Midgard architecture used in Mali T-6xx and T-7xx GPUs, but deliver better power efficiency thanks to technologies such as ARM Frame Buffer Compression (AFBC), and Adaptive Scalable Texture Compression (ASTC) for imput bandwidth reduction, as well as Transaction Elimination and Smart Composition.

ARM provided some performance and energy-comparison between T800 and T600 series (but strangely nothing against T700):

  • The Mali-T820 GPU is optimized for entry-level products, achieving up to 40 percent more performance density compared to the Mali-T622 GPU.
  • The Mali-T830 GPU delivers up to 55 percent more performance than the Mali-T622 GPU.
  • The Mali-T860 GPU provides higher performance and 45 percent more energy-efficiency compared to the Mali-T628 GPU.

Mali-T860_GPU_Block_Diagram

Mali-T860 supports up to 16 shader cores whereas Mali-T820 and Mali T-830 are limited to 4 shader cores. Supported APIs include OpenGL ES 3.1/3.0/2.0/1.1, DirectX 11, OpenCL 1.2/1.1, and RenderScript. Mali-T860 also provides 10-bit YUV input and output at full speed, which could be especially useful for 4K video using HEVC codec.

More details can be found on Mali-T860, Mali-T830 and Mali-T820 product pages.

Mali-V550 Video Processing Unit

Mali-V550 video processor fully supports the HEVC standard, and the single core version can decode/encode 1080p60 HEVC video, whereas the eight core version can handle 4K @ 120 Hz HEVC decoding/encoding.

Mali-V550_VPU
Mali-V550 also benefits from new features such as Motion Search Elimination technology that reduces bandwidth by up to 35 percent, and will improve Wi-Fi Display/Miracast user experience. Up to 50% bandwidth reduction can also be achieve with AFBC. It also supports 10-bit YUV, so 10-bit HEVC/H.265 video be supported combined with Mali-T800 GPU, with the VPU “feeding” 10-bit decoded data to the GPU.  Other video codecs include the usual suspects, namely H.264, MPEG4, MPEG2, VP8, VC1, Real Media, H.263, MPEG-4 and JPEG. VP9 support is not mentioned. Driver and video streaming infrastructure is based on OpenMAX.

Visit Mali-V550 product page for more information.

Mali-DP550 Display Processor

Mali-DP550 display process will handle composition, scaling, rotation and image post-processing from the GPU in a single pass, and it also support Motion Search Elimination, and AFBC to reduce bandwidth use in order to maximize battery life. Up to seven layers of composition, up to 4K resolution, are supported, a co-processor interface enabled easy integration with third party IP blocks.

Mali-DP550Single and dual display output are supported, as well as various YUV/RGB pixel formats, including 10-bit YUV. More details can be found on ARM’s Mali-DP550 page.

All three new ARM Mali media IPs are available for immediate licensing, and consumer devices are expected in late 2015 and early 2016.

Via Anandtech.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Categories: Graphics Tags: arm, gpu, h.265, hevc, mali, mali-t860, vp8

PowerVR SDK v3.4 Supports WebGL, 64-Bit Android 5.0 Lollipop, and MIPS Linux

October 21st, 2014 2 comments

Imagination Technolgies has just released PowerVR SDK v3.4  including the latest compilers for PowerVR Series6 and Series6XT GPUs to PVRShaderEditor, several performance optimization, a new WebGL SDK, 64-bit support for Android 5.0 Lollipop, and Linux support for MIPS based processors.

PowerVR_SDKThe company has revamped the user interfaces of their tools, and made the following key changes:

  • PVRTrace, a tool to capture and analyze OpenGL ES and EGL API calls, now supports OpenGL ES 3.1, compressed trace files, and they’ve reduce the software memory usage
  • PVRTune, a performance analysis tool, now features new counters, and  “significant” performance optimizations.
  • PVRShaderEditor, a light-weight shader editing too, adds the latest compilers for PowerVR Series6 (FP32 and FP16) and Series6XT GPUs, as well as GLSL disassembler output.
  • PVRTexTool, a utility for compressing textures, adds plugin support for Autodesk 3DSMax and Maya (2015 versions), and improves ETC decompression by up to 20% faster per surface.

Imagination also claims to have improved documentation with a new SDK Browser, part of the SDK,  with installation instructions, examples, source code, documents, etc… More details are available on the release notes page.

PowerVR SDK is available for Windows, Mac OS X & Linux (32-/64-bit).

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter