I’ve started to test BFS 4KH Android TB box featuring HiSilicon HI3798M processor. I’m also the first things I normally do is to check for built-in screenshot support, and if not, I simply install a screenshot app like Screenshot Ultimate. This normally works pretty well, but the firmware is not rooted, and the usual root method for HiSilicon devices does not work, as it fails at the adb root stage with the message: “aabd cannot run as root in production builds”. So I was out of luck, and people who sent the sample for review do not seem to check / answer their email in a timely manner. ScreenShot Ultimate provides “No Capture Method Help“, but I found the instructions long, and it required me to install download and install something extra. So instead I check if I could do something with adb instead.
adb can connect via USB or Wi-Fi, and for most device you’ll have a USB OTG port to connect it to your computer. If developers options are not enabled in Android Settings, go to “About Device”, and click on the build number of 7 times. You should now be able to go to “Developers Options”, and enable USB debugging, something I had to do even though I had to use Wi-Fi since my box does not come with a USB OTG port.
You’ll also need to install adb. In Linux, at least Ubuntu / Debian, it’s easy to install, and I already had this:
sudo apt-get install android-tools-adb
For other OS, you may need to install the Android SDK.
If you are using USB, the setup is done. If you need to use Wi-Fi instead, you’ll need to find your Ethernet or Wi-Fi IP address. After enabling USB debugging, port 5555 should be open:
sudo nmap -sS 192.168.0.107
Starting Nmap 6.40 ( http://nmap.org ) at 2015-01-06 12:19 ICT
Nmap scan report for 192.168.0.107
Host is up (0.045s latency).
Not shown: 988 closed ports
PORT STATE SERVICE
139/tcp open netbios-ssn
445/tcp open microsoft-ds
5555/tcp open freeciv
7100/tcp open font-service
7777/tcp open cbt
8888/tcp open sun-answerbook
10000/tcp open snet-sensor-mgmt
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
50006/tcp open unknown
MAC Address: 00:11:22:36:45:C9 (Cimsys)
Nmap done: 1 IP address (1 host up) scanned in 19.21 seconds
and try to connection with adb.
adb connect ip_adress
The rest of the instructions are the same whether you connect via USB or Wi-Fi, For a screenshot, I followed the instructions here to capture an image in a single command:
adb shell screencap -p | sed 's/\r$//' > screen.png
The sed part is to get rid of the end of line character sent via adb. The image can be found in your PC as screen.png. In my case, the image capture and transfer over Wi-Fi is a little slow, as it usually take around 5 seconds. But at least it works, and it’s even more convenient than using a Screenshot app, at least for my use case.
Scrrenshot Taken with adb (Click for Original Size)
While I was at it, I also checked about screen recording, and found some instructions on CNET which should work for Android 4.4 and greater.. Basically, you just have to run:
adb shell screenrecord /sdcard/video.mp4
I have not tried to use the redirection as with screencap command line, because I believe it would have been too slow. So once you are done with recording, press Ctrl+C, get back the video to your PC and optionally delete it on the device to reclaim storage space.
No too bad. At first, I thought “Hey, it might be possible to record online video that way!”, but a closer inspection of the file property quickly changed my mind.
It recorded at 12 frames per second (maybe a limitation of the hardware), and more importantly there’s no audio, so even if you could record a video at a decent framerate, you’d still have to record audio separately, and mix video and audio at a latter stage, not the most convenient way….
adb shell screenrecord --help
Usage: screenrecord [options] <filename>
Records the device's display to a .mp4 file.
Set the video size, e.g. "1280x720". Default is the device's main
display resolution (if supported), 1280x720 if not. For best results,
use a size supported by the AVC encoder.
Set the video bit rate, in megabits per second. Default 4Mbps.
Set the maximum recording time, in seconds. Default / maximum is 180.
Rotate the output 90 degrees.
Display interesting information on stdout.
Show this message.
Recording continues until Ctrl-C is hit or the time limit is reached.
Kimdecent sells some cheap RK3188 mini PCs such as QC802 for $76, but instead of sending me yet another RK3188 device, they agreed to send CS868, an HDMI TV dongle powered by AllWinner A31 quad core processor, so that I could review it. This mini PC comes with 2GB RAM and 16GB Flash, the latter being larger than the 8GB flash found in most other devices, and is available for $95 on Kimdecent Aliexpress store. More details about the specifications are available on Unuiga U28 post since the hardware is the same. In theory, AllWinner A31 has a much slower CPU than Rockchip RK3188, but its PowerVR 544MP2 GPU should outperform the Mali-400 MP4 found it the Rockchip processor, and A31 supports 4K2K video decoding. In this post, I’ll show some unboxing picture, give my first impressions, test Wi-Fi performance, video playback capabilities, and run some benchmarks.
CS868 Unboxing Pictures
I received the device in a parcel with lot of bubble wraps, so the package was not damaged, but there’s not much to say about the package as it’s just a no name “mini PC for Android OS” without specifications, or other useful information.
CS868 mini PC and its Accessories (Click to Enlarge)
Inside the package, we’ll find CS868 mini-PC with a metallic casing, a short HDMI cable, a 5V/2A power supply, a microUSB to USB cable for power, and microUSB to USB female cable for the microUSB OTG port of the device, and a not-so-useful user’s manual in English and Chinese explaining how to use Android on mini PCs.
A closer look at the device reveals a fully metallic casing, HDMI male connector, a micro USB OTG port, a micro SD card slot, another micro USB port for power, and a full USB host port. There are lots of ventilation hole on both side for cooling the device.
Since Cortex A7 is supposed to have a lower power consumption, I’ve tried to power the device directly from the USB port of my TV, unfortunately it won’t go further than the boot animation. So I’ve connected the RF adapter for the Mele F10 to the USB port, and used the provided power adapter to power the device, and after a few seconds, the device will boot and you’ll have to choose between 2 launchers:
Standard Android Home Screen
A 3D launcher designed for TV
I’ll keep using the standard Home Screen since I find it a bit more convenient with the input device I use. We have the Volume buttons, and a power button in the status bar, but no option to go to full screen. You’ll also notice a 4K widget, which is an interesting media player I’ll describe in more details in the video section.
I’ve gone to the setup menu to configure Wi-Fi. The device also supports Wi-Fi direct, but not Bluetooth, nor Ethernet, ven with external USB dongles. You can also setup to device for VPN access, as a hotspot, and add a 3G USB dongle. The screen section lets you select 720p, 1080i, and 1080p modes at either 50 or 60 Hz, and you can also choose 1080p24. A slider is also available to let you zoom in/out to adjust your screen overscan if needed. There’s an option for Audio output, but clicking on it, just exits the Settings, so audio pass-through is not available. Screen Lock option is available in the System Settings, so if you require your device to be lock this should be possible (I haven’t tried). Developer options all seem available including USB debugging, CPU usage, GPU usage and more. In the “About tablet” section, we find out CS868 is indeed the model, and this device runs Android 4.1.1 on top of Linux 3.3.0. The firmware is dated 2013/05/06, it’s rooted, and can be downloaded via Kimdecent website.
Google Play worked fine, and I could install most apps I tried such as Antutu, Angry Birds Star Wars, MX Player, YouTube, Dead Trigger, and more. The only exception was Sixaxis Controller, but this is normal behaviour, as the device does not support Bluetooth.
The system is pretty responsive, although It does not feel as fast as RK3188 devices, and I can experience slowdowns just after boot, give it one or two minutes to be fully responsive, and while installing many apps via Google Play. The device did not hang during use, but there are still some annoying issues. I lost audio 3 times during my few hours of testing (reboot required), Wi-Fi failed to initialize once (reboot again), and at one point the device was stuck in the boot animation “AllWinner Tech A31 Quad Core” forever. Restarting the device did not help, so I had to flash the firmware via PhoenixUSBPro.
Contrary to my habits where I have one and only section for Wi-Fi and video testing, today I’ll reserve a full section to Wi-Fi, as I have a story to tell…
As I started to test video playback, and noticed very similar problem to what I experienced with Tronsmart T428, that is 1080p video would just no play smoothly. So I stopped video playback testing, and went straight to my “transfer a file from SAMBA to flash over Wi-Fi” test. The result was catastrophic, as a 278MB file took 7m 46s to transfer, at an average rate of about 600KB/s, by far the worst result I’ve ever seen (Other devices usually take 3 to 4 minutes to transfer this file). Real-time transfer speed shown in ES File Explorer fluctuated greatly but never went over 1MB/s. Two consecutive devices with terrible Wi-Fi performance? Impossible!
I remember once I had a USB Wi-Fi dongle that was extremely slow using mixed 802.11b/g/n setting in my router, and the performance improved massively by setting the router to use 802.11g only. So I did that, and the performance improved, but not enough to my taste: 5m 45s (~800KB/s) , and the transfer started very fast at 1.60M/s until 80%, to collapse at the end around 200KB/s.
Then I had an unthinkable idea, what if my router (TP-LINK WR940N v1) , or rather its firmware, was the cause of my Wi-Fi misery?
I went to the router setup interface and found some information about the firmware:
Hardware version WR940N v1/WR941N v4 00000000
Firmware: 3.9.18 Build 100104 Rel.36350n.
A Google search quickly directed me to the firmware download page of my router, with a more recent firmware: 3.13.9 Build 120201 Rel.54965n. So it looked like my firmware was just over 2 years older than the latest available version, I downloaded the file, and upgraded it.
Let’s try that file transfer test again: 1m 30s, or 3.09MB/s. That’s the fastest speed I’ve ever seen with any of the little devices I tested. Of course, I can’t use that number to compare to other devices without repeating the test for the earlier devices (which I may do), but at least Wi-Fi transfer speed won’t be the limitation for the video playback tests.
The moral of the story is that if one of your Android mini PC has poor Wi-Fi performance, don’t start to open the case and try to add an external antenna, check your router has the latest firmware revision first. I’ll have to check the effect this new router firmware has on T428 as well.
CS868 Video Playback
I’ve installed MX Player for this purpose, and made sure the hardware decoder is used, or mention it if software decode is used instead.
Let’s started with samplemedia.linaro.org videos from a CIFS/SAMBA share in Ubuntu 13.04:
VC1 codec (WMV) – Video OK, but audio suffers from short static noise (<1 second) from time to time
Real Media (RMVB) 720p – OK for RV8/RV9/RV10, but MX Player switched to SW decode
WebM 480p/720p/1080p – OK
I’ve also played several movies in AVI, VOB and MKV container formats, and they could all play, although for some files buffering at the start was pretty long (20 to 30 seconds), and some, but not all, appeared to suffer from audio/video sync issues. MOV videos from my Canon point and shoot camera will buffer as with all other devices I’ve tried (over Wi-Fi). The status bar will automatically hide when playing videos.
I’ve also tried higher bitrate videos:
ED_HD.avi (1080p MPEG-4 – 10Mbps) – The start is OK, but in some scenes where the bitrate must increase a lot, the video is very choppy.
big_buck_bunny_1080p_surround.avi (1080p H.264 – 12 Mbps) – OK
hddvd_demo_1080p.mkv (1080p VC1 – 17.5 Mbps) – The video can’t play smoothly most of the time.
There’s very good support for different audio codecs on the device:
AC3 – OK
Dolby Digital 5.1 and Digital+ 7.1 – OK
Dolby TrueHD 5.1 & 7.1 – OK
DTS-MA and DTS-HR – OK
I’ve also tried with one of my 4K2K video samples: HD.Club-4K-Chimei-inn-60mbps.mp4. At 60Mbps, it’s impossible to play over Wi-Fi, so I copied to the flash, and played it with MX Player. The only problem is that is uses software decode on that file, so I had to revert to using 4K Video Player included with the device, and it played perfectly.
4K VideoPlayer really showcases the power of AllWinner A31 VPU, as you can see your video file lists in thumbnail, and all 15 thumbnails are playing your videos. You can also open several videos and arrange them in different windows. I tried with 4, and they all seemed to play simultaneously smoothly. Watch the video below to see what it looks like. It may not be that useful, but I find it’s pretty neat.
I’ve installed both Antutu 3.3, and Quadrant, but the latter refused to run.
T428 got about 15200 points, and as expected CS868 gets a lower score with 10,559 points. The RK3188 device is almost twice as fast when it comes with RAM, and CPU integer and floating point scores, which is due both because of the difference architecture (Cortex A7 vs Cortex A9), and frequency (1.0 GHz vs 1.6 GHz). The GPU scores are about the same, although I expected A31 to outperform RK3188 in this particular test. The flash write speed seems much better in CS868 compared to T428 (35.8MB/s vs 7.1 MB/s), but I’m not sure how reliable this test is.
Quadrant and Antutu system information show the CPU frequency ranges between 120 and 1008 MHz, the screen resolution is 1280×720, there’s a total of 1660 MB RAM available to the system, the rest being probably reserved for the VPU, and about 1200 MB are available. The 16GB NAND flash is partitioned into 2 partitions: a 1GB partition for apps with 746MB available, and a 12.24 GB partition that is basically empty.
CS868 looks like a pain to open, so I skipped that part. Luckily, Linuxium did it before me, and we can still have a look inside.
Click to Enlarge
The board is fitted with a largish heatsink.
(Click to Enlarge)
Once we removed it we can see AllWinner A31, the 16GB flash, and 4 RAM chipsets, but the pictures are quite not clear enough the see the name of the components. [Update: Better pictures are now available on G+ Mini PCs’ Community]
(Click to Enlarge)
On the other side, we’ve got four more RAM chipsets, and flash, as well as what looks like a Realtek Wi-Fi module. There are also 6 pads (LED, 3V3, D-, D+, GND, and WPS), but none of those should be useful for serial access. Maybe it’s now possible to debug using D-/D+ pins (USB), I don’t know.
CS868 mini PC has potential, but as it stands the firmware need some improvements, as HDMI audio may cut, and once Wi-Fi failed to initialize. I also had to re-install firmware since the device refused to boot, however I may be partially at fault here, as several times I just disconnected and reconnect power to reboot the device without using the power button first. Performance wise, CPU performance is much slower than RK3188 based devices, and 3D GPU tests appear to be roughly equal according to Antutu, so A31 devices may have to be priced lower than RK3188 to become more interesting. Video playback is where CS868 stands out, it managed almost all files I threw at it, with the only issue being WMA audio, and some long buffering time with a few videos. HDMI pass-though could be a nice feature to have for some.
Concerning Linux support, the main advantage of AllWinner A31 devices such as CS868 is that the source code for Linux and U-boot is already available, and this may take a few more months before RK3188 source shows up. However, performance in Linux is likely to be poor for a quad core devices, and GPU acceleration won’t be available due to the PowerVR GPU. Ian Morrison ran a subset of Phoronix Suite tests in a chroot in Android, and found that for some tests results are about the same or even lower than Rockchip RK3066 devices, mostly those relying on single core performance.
First of all, the firmware update has not changed the Home Screen, and we still get a standard Android Home Screen with an animated wallpaper. Screenshot and volume buttons are shown in the status bar, but there’s no soft power button, and no full screen button. Hopefully the power button can be added in next firmware update, and as we’ll see later the lack of full screen button is not really an issue.
MK809 Android Home Screen (Click to Enlarge)
As usual, I’ve gone to the settings menu to configure Wi-Fi, and I had no problem to connect. The device also supports Bluetooth (built-in), and you can setup to device with VPN, as a hotspot, and add an Ethernet or 3G USB dongle. So connectivity options look pretty good although I’ve only tested Wi-Fi. There’s an HDMI section that let you chosee between 1080p, 720p, 576p or 480p at either 50 or 60 Hz, and you can also zoom in/out to adjust the UI to your screen. However, there’s no option for HDMI audio output, so the audio will just be downmixed, and HDMI audio pass-through is not available. There are plenty of options available in Developer options including USB debugging, CPU usage, GPU usage and many more. In the “About TV” section, we’ll find the model number (MK908), and the device is running Android 4.1.1 with Linux kernel 3.0.36+.
I’ve installed about 20 applications with Google Play including Antutu, ES File Explorer, MX Player, Temple Run 2, YouTube, Facebook.., and I had not problem here, which is quite rare. The firmware is already rooted, so you can install applications requiring root access such as Titanium backup.
All applications could run smoothly, except some games are not playable with a keyboard and mouse (Note to self: Buy some Bluetooth game controller…Done!). I could play Angry Birds Star Wars, and TurboFly HD demo, but other games such as Subway Surfers and Shadow Guns requires some other input device. I could seldom see the CPU use the full 4 cores, except with benchmarks. But to push the device a bit, I installed a large game and run Video to MP3 app in the background while playing TurboFly HD (3D games), and the device could handle the load without issues.
The device feel very snappy, everything is very smooth and responsive, and it did not hang, crash or suddenly reboot during my few hours of testing, so the firmware is stable too. For those of you who worry about overheating, you don’t need to be, as MK908 does not get hot, just a little warm, thanks to the internal heatsink.
MK908 Video Playback and Wi-Fi Performance
There are 4 media players pre-installed:
ES Media Player
But I just install MX Player, as this is one of the best player available,. If the codec is not supported by hardware, it will switch to software mode, so I made sure that H/W decoding is enabled for the video I tested.
I started testing with samplemedia.linaro.org videos from a CIFS/SAMBA share in Ubuntu:
H.264 codec / MP4 container (Big Buck Bunny), 480p/720p/1080p – OK, but for 1080p, the video plays for 1 or 2 seconds, then freezes to buffer a few seconds, then plays normally until the end. So this issue is minor.
MPEG2 codec / MPG container, 480p/720p/1080p – OK
MPEG4 codec, AVI container 480p/720p/1080p – OK, but same buffering issue for 1080p as H.264/1080p
VC1 codec (WMV) – Fail (buffering forever)
Real Media (RMVB) 720p – OK for RV8/RV9/RV10, but same buffering issue as H.264/1080p
WebM 480p/720p/1080p – OK
I’ve also played several full movies (AVI and MKV), and they could all play flawlessly. FLV videos also played fine, but MX Player switched to software decode for most videos. However, .MOV videos from my Canon camera will buffer, but none of the mini PCs or set-top boxes I own can play those files over Wi-Fi smoothly. I did not the play 1-2s, buffer, and play again issues I experienced on samples with any of the movies I tried.
One a side note, when you play videos on this system, the status bar will automatically hide, so you can enjoy the movie full screen.
ED_HD.avi (1080p MPEG-4 – 10Mbps) – Starts out pretty good, but after a while the audio starts to cut intermittently, and in some scenes the bitrate must be too high, and video playback is affected as well.
big_buck_bunny_1080p_surround.avi (1080p H.264 – 12 Mbps) – Very choppy, and audio cuts though the full videos.
hddvd_demo_1080p.mkv (1080p VC1 – 17.5 Mbps) – It plays, but it just have to buffer the video every 10 seconds or so.
Again, I haven’t seen any Android devices pass this test over Wi-Fi, and it’s the only devices that nearly managed to play Elephant Dream smoothly.
So it seems there may be more work to be done for proper audio support.
It did not try XBMC, but Liliputing did test it, and it does not work very well for now. XBMC 12.1 won’t run at all. XBMC 13 Alpha 2 will run, but there’s no hardware video decoding support, and many playback issues.
Finally, I’ve copied one video (278 MB) between the network share and the NAND flash to test Wi-Fi performance and it took exactly 3 minutes (1.54MB/s), and it’s one of the fastest devies, but still slower than Measy U2C which only took 2m46s (1.67MB/s).
MK908 Antutu and Quadrant Benchmarks
Both Antutu 3.3 and Quandrant Standard Edition could run in the device, which is quite rare for the latter.
Without surprise the Antutu score (14,464) is excellent, although below the scores achieved on RK3188 tablets (18,000), but this also seems to be the case Antutu score are lower on mini PCs than tablets. As a comparison, Antutu gets up to 10,000 on MK808 (Finless ROM), but Finless ROM will also be available with MK908, and some others RK3188 mini PCs, so I’m pretty sure the score will increase with time. You’ll also notice this score puts MK908 on par with Google Nexus 10 and just a bit lower than HTC One X or Samsung Galaxy S3.
Quadrant Score for MK908 (Click to Enlarge)
The Quandrant score (4307) also shows the great performance of the device.
For some 2D and 3D tests looked choppy on both benchmark, although I could see most GPU tests were rendered at 50 to 60 fps. I’m not sure what causes this, and I cannot experience this issue with standard applications and games.
Rockchip RK3188 can support 1.8GHz in theory, but is clocked at 1.6GHz here, and I think it’s the same for tablets currently sold. I don’t know if it is a limitation due to the silicon, or overheating. When I look at the system information section of the device, I can see the CPU frequency ranges between 312 and 1608 MHz, the screen resolution is 1280×672, there’s a total of of 2048 MB RAM, and 1432.80 MB are available (after running Task Killer). The 8GB NAND flash is partitioned with a 1GB partition called “Memory” in Antutu (660 MB free) and a 5818 MB partition called “SD card” (5798 MB free).
MK908 is the fastest mini PCs I’ve ever used, it just feels blasting fast, and the firmware is also stable, which to be honest, I did not expect since this is based on a new processor. Wi-Fi performance is excellent, and the status bar hides automatically when playing videos either with MX Player or YouTube. Video playback is pretty good too, but there’s still need to be some improvements, mainly because some VC-1 videos fail to play, and some audio codecs does not seems to be support DTS and DD+ 7.1. I’m a bit confused to why DTS-MA works however. The lack of soft power button is also a negative.
But overall, the positives far outweigh the negatives, which can all be fixed by firmware update. Speaking of which, I’ve been told the device would get a new firmware with Android 4.2 within one week.
Geekbuying sells the device for $89.99 including shipping, and it’s also available on some Aliexpress stores for the same price. It’s nearly double the price of RK3066 based device with similar features, albeit with less memory and processing power, but if you run many applications it’s definitely worth it.
The guys working on the Raspberry Pi (mainly dom) have added preliminary support for VP6, VP8, MJPEG, and Ogg Theora free video codecs, as well as Ogg Vorbis audio codec. Unlike H.264, MPEG-2 and VC1, those are not handled by the hardware video decoder in Broadcom BCM2835 processor, but are accelerated by the Videocore GPU. This means that only SD (and possibly 720p) videos are supported for those codecs.
480p VP8 Video Playback in the Raspberry Pi
The best way to get support is probably to patiently wait for the Raspberry Pi foundation to release a new Raspbian image, but in case you couldn’t possibly wait, here are the steps to follow:
Download and run Hexxeh’s rpi-update script in the Raspberry Pi in order to get the very latest build:
We need a root file system for the build. Since we may need to install missing packages, I’ll run an NFS server in the Raspberry Pi and access the rootfs via NFS. So let’s configure the Raspberry Pi as a NFS server first:
You’ll need to change NFSROOT variable to where you mounted the NFS share.
We’re now ready to cross-compile omxplayer:
This will create a omxplayer-dist.tar.gz that you can copy in the Raspberry Pi:
sudo cp omxplayer-dist.tar.gz ~/edev/rpi/nfs/
There may be missing dependencies during the build. If it’s the case, you need to install some development package in the Raspberry Pi. Refer to my “How-to fix common build error tutorials“, if the build fails.
Back to the Raspberry Pi, let’s install it:
tar xzvf omxplayer-dist.tar.gz
sudo cp * / -rf
That’s all. Now we can try the files tested by dom:
The VP8 and Ogg Theora videos played very smoothly, but I just got a black screen for VP6 and MJPEG videos. since it could not detect the video stream. The firmware has been fixed for VP6 support, and omxplayer for MJPEG support, so all 4 files can now play.
If you don’t want to build omxplayer by yourself, you can download the binary I’ve built: omxplayer-dist.tar.gz.
You may have some old VHS tapes that you want to digitize to play on your computer or media player, or don’t feel like spending money on an HD recorder for your satellite or cable TV box, but still would like to record your favorite programs. It’s actually possible to do so for less than $7 thanks to USB video grabbers. Those USB capture cards are nothing new, but I did not know the price had come down that much. One of the cheapest capture card is Easycap DC60 (clone?) that sells for $6.80 on Aliexpress, and runs on Windows, and (if you are lucky) in Linux.
The device provides stereo audio input, composite input and S-Video input. It is sold with a USB cable to connect it to your computer. CD is normally provided with Windows drivers and program. All you need is a Windows 2000/XP computer with a free USB2.0 port, 256 MB RAM or more, 600MB available storage, and at least 1024×768 screen resolution. The program (Ulead Video Studio 8.0 SE DVD) needs Microsoft DirectX 9.0 and Microsoft Media Player 7.1 or greater to work. Feedback is good on Aliexpress, but not so much on Amazon, as it’s not exactly straightforward to install and configure. Those who succeeded appear to be satisfied.
I also mentioned potential support for Linux in the introduction, as the instructions are available online. The problem is that Chinese websites sell Easycap USB capture card clones with at least 4 different hardware solutions:
Syntek STK1160 used in the “original” device, and works in Linux
The re-sellers won’t usually mention which solution their device is based on, so if you intend to use such a device with Linux, you’ll have to take your chance. The Easycap DC60 model sold on Dealextreme ($8.90) appears to be based on Somagic USB video bridge.
Onebir, a regular reader and commenter on this blog, suggested me to try it with one the mini PCs and write instructions, as some people might be interested to record and watch Cable TV programs with their HDMI TV Dongles. In many countries, cable TV is now broadcasted in HD, but recording with such device would downscale the resolution to NTSC/PAL, so I’m not sure that many people would be interested. If you are, please leave a comment, and if enough people beg ask me to give it a try, I’ll buy one. I doubt it will work with Android, so it would be done in Linux which narrow down the sticks that can be used, especially since we’d also need proper video playback of. If somebody has already done something like that, just let us know.
Following the lack of support by AllWinner for the video engine libraries (CedarX), I had more or less given up on hope XBMC for Linux would ever run properly on AllWinner A10/A13 hardware. But recently, I found out some progress had been made using existing libs, and saw the Pengpod Tablet video showing XBMC running in Linux fairly smoothly.
So I decided to cross-compile XBMC by following the instructions available at http://linux-sunxi.org/XBMC and trying to run it in Linaro ALIP 12.04 rootfs in my Mele A1000. Finally, I managed to cross-compile XBMC, but the performance was very poor in the GUI (6 to 12 fps) and I was unable to play videos and my serial console was flooded with messages like:
[DISP] not supported image0 pixel sequence:216 in img_sw_para_to_reg
[Update: I managed to have XBMC Linux running & playing videos on Mele A1000 by using j1nx image (rootfs + kernel). I would first exhibit the exact same issue I had, but those where fixed:
1. To solve the video playback issue I had to modify script.bin as follows:
fb0_pixel_sequence = 1
fb0_scaler_mode_enable = 0
2. I add to modify XRES/YRES (1024×768) in S99xbmcinit in order to start the UI when outputting to VGA with this image or EGL would failed to initialize.
XBMC (alpha) is currently optimized for 720p (1280×720) resolution, so although I get up to 12 fps using VGA output with 1024×768 resolution, the UI is rendered at over 40 fps when the Mele outputs to HDMI @ 720p.
In this post, I’ll still describe the steps I followed to build and run XBMC in Linaro ALIP rootfs (and hopefully I’ll eventually find the reason behind the performance issue), ans show Jasbir results with XBMC armhf on the Hackberry.
XBMC ARMHF Build Instructions
Since we want to run XBMC armhf, we’ll first need a Linux image with an armhf rootfs. I’ll use Lianro ALIP 12.10 rootfs, following the hardware packs instructions. Insert an SD card in the build machine, and make it bootable:
Enable hard-float in in xbmca10/tools/a10/depends/depends.mk:
and Update the following keys around line 50 in the same file:
#where is your arm rootfs
#where is your xbmc install root
#where is your toolchain
Install some tools required to build XBMC, and create a symlink for the ARM g++ compiler:
After a few seconds, you should now be able to access XBMC user interface. In case you have issues, you can have a look at the log in ~/.xbmc/temp/xbmc.log.
XBMC A10 ARMHF Build on the HackBerry
First of all, this is a development version, so you should not expect a perfect user experience. There should be bugs, crashes, missing features and performance might not be optimal yet.
If you want to have a quick look, watch Jasbir video of XBMC armhf on the HackBerry board.
I did try to use Jasbir image on the Mele A1000 (After updating U-Boot and U-Boot SPL) to evaluate the current status of XBMC on A10, but I could only see XBMC boot logo before the system reboot, as XBMC actually terminates, after apparently thinking I pressed some key….
At the current stage of development, XBMC for Linux appears to work pretty well on AllWinner A10 devices, but there is still more work to do before users can enjoy it on their devices.