Latest Toy: The Orange Pi PC

You may have heard about the latest Raspberry Pi 2 clone: The Orange Pi PC, a device that sells for only $15 yet comes with a quad-core Allwinner H3 and 1 GB RAM. (But don't be fooled - while "open source" is mentioned everywhere on that website, the actual open source situation is still pretty bad).

After my Raspberry Pi started acting up and run very unstable a year ago, this looked like a nice replacement. Thus I decided to order the "Orange Pi PC set 3" including a plastic case and power cable from AliExpress, and will try to get Gentoo running on that device. The manufacturer's Gentoo forum section is all crickets, so I expect to encounter at least some problems.

If you want to see this thing in action, or at least watch me struggling to get Gentoo running, come next weekend (10+11 October 2015) to the Prague Linux Days and visit the Gentoo booth.


Doogee Y100 Pro

For a while, I have been looking for a replacement for my Nexus 4. I have been mostly pleased with it, but not completely. The two things that bothered me most were the lack of dual-SIM and (usable) LTE.

So I ordered a Doogee Valencia2 Y100 Pro at Gearbest when it was announced in June, which seemed to be almost the perfect device for my needs and at 119 USD quite inexpensive too.

Pre-ordering a phone from a Chinese manufacturer without any existing user reports is quite a risk. Occasionally, these phones turn out to be not working well and getting after-sales support or even updates can be difficult. I decided to take the plunge anyway.

Two very good reviews have been published on YouTube in the meantime. You may want to check them out:

My phone arrived two days ago, so here are my initial impressions:

The package contents

The phone came with a plastic hardcover and screen protector attached. In the box there was a charger and USB cable, headphones, a second screen protector and an instruction manual.

Gearbest also included a travel adaptor for the charger. Some assembly required.


Phone specs: Advertisement and reality

The advertised specs of the phone (5" 720p screen, MT6735 64-bit quad-core, 13 MP camera, 2200 mAh battery, etc.) sounded almost too good to be true for that price. Unfortunately, they turned out too good to be true.

The following table shows the advertised specs and the contrast to reality:
5" 1280x720 IPS capacitive 5-point touch screen5" 1280x720 IPS capacitive 5-point touch screen
Mediatek MT6735 64-bit, 1.0 GHzMediatek MT6735P, 1.0 GHz. Phone comes with 32 bit Android installedClock frequency was originally advertised as 1.3 GHz, but later changed without notice to 1.0 GHz. The MT6735P has a slower GPU than the MT6735.
2 GB RAM, 16 GB flash memory2 GB RAM, 16 GB flash memory
13 MP rear, 8 MP front camera13 MP and 8 MP are most likely only interpolated
2200 mAh battery1800 mAh batteryThere is a sticker on the battery which says 2200 mAh, but when you peel it off it reveals the manufacturer label which says 1800 mAh.
Weight: 151 g including batteryWeight: 159 g including batterypicture of phone on a kitchen scale

This kind of exaggeration appears to be common for phones in the Chinese domestic market. But some folks still need to learn that when doing business internationally, such trickery just hurts your reputation.

With that out of the way, let's take a closer look at the device:

CPU and Linux kernel

$ uname -a
Linux localhost 3.10.65+ #1 SMP PREEMPT Fri Jul 10 20:28:28 CST 2015 armv7l GNU/Linux
shell@Y100pro:/ $ cat /proc/cpuinfo                                        
Processor       : ARMv7 Processor rev 4 (v7l)
processor       : 0
BogoMIPS        : 32.39
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

Hardware        : MT6735P
Revision        : 0000
Serial          : 0000000000000000


Although the rear camera appears to not have a 13 MP sensor (the YouTube reviewers above think it is more like 8 MP), it still manages to reach a quite acceptable picture quality.

Comparing day and night shots

HDR off / HDR on


As you can expect, the MT6735P does not particularly shine in benchmarks. The UI however feels snappy and smooth, and web browsing is fine even on complex websites.

Interim conclusion

Despite the exaggerated (you could also say, dishonest) advertisement, I am satisfied with the Doogee Y100 Pro. You can't really expect more for the price.

What next?

Next I will try to get a Gentoo Prefix up on the device. I will post an update then.


The Brave New World of Boot Guard and Secure Boot

Following the news that PC manufacturers have started to use Intel Boot Guard, a technology designed to prevent the installation of modified or custom firmware like coreboot, we now learn that Microsoft may drop the requirement of Secure Boot deactivatability from the Windows 10 Logo guidelines. This collusion between Microsoft and Intel in allowing only vendor signed code during early boot potentially affects all new computers which come with Windows 10 preinstalled.

It means that in a pessimistic scenario, the only thing that stands between Microsoft (or anybody else with access to the infrastructure) being able to disable millions of Linux computers on a whim by blacklisting their bootloader signatures, may be the ability to install user keys in the UEFI key storage. Computer owners would have no other way to defend against this.

It is probably time to familiarize yourself with the procedure to do Secure Boot with your own keys. At least this remains possible, for now.


Which should be the default in Gentoo, ffmpeg or libav?

There has recently been a discussion among developers about the default choice of ffmpeg/libav in Gentoo. Until recently, libav was the default implicitly by being the first dependency of virtual/ffmpeg. Now the choice has been made explicit to libav in the portage profiles, and a news item regarding this was published.

In order to get a data point which might be useful for the discussion, I have created a poll in the forum, where Gentoo users can state their preference about the default:


You are welcome to vote in the poll, and if you wish also state your reasons in a comment. However, as the topic of ffmpeg/libav split has been discussed extensively already, I ask you to not restart that discussion in the forum thread.


New mesa features for the adventurous: Radeon UVD and Gallium3D HUD

Those of you who don't live under a rock will have learned by now that AMD has published VDPAU code to use the Radeon UVD engine for accelerated video decode with the free/open source drivers.

In case you want to give it a try, mesa-9.2_pre20130404 has been added (under package.mask) to the portage tree for your convenience. Additionally you will need a patched kernel and new firmware.


For kernel 3.9, grab the 10 patches from the dri-devel mailing list thread (recommended) [UPDATE]I put the patches into a tarball and attached to Gentoo bug 466042[/UPDATE]. For kernel 3.8 I have collected the necessary patches here, but be warned that kernel 3.8 is not officially supported. It works on my Radeon 6870, YMMV.


The firmware is part of radeon-ucode-20130402, but has not yet reached the linux-firmware tree. If you require other firmware from the linux-firmware package, remove the radeon files from the savedconfig file and build the package with USE="savedconfig" to allow installation together with radeon-ucode. [UPDATE]linux-firmware-20130421 now contains the UVD firmware, too.[/UPDATE]

The new firmware files are
radeon/RV710_uvd.bin: Radeon 4350-4670, 4770.
radeon/RV770_uvd.bin: Not useful at this time. Maybe later for 4200, 4730, 4830-4890.
radeon/CYPRESS_uvd.bin: Evergreen cards.
radeon/SUMO_uvd.bin: Northern Islands cards and Zacate/Llano APUs.
radeon/TAHITI_uvd.bin: Southern Islands cards and Trinity APUs.

Testing it

If your kernel is properly patched and finds the correct firmware, you will see this message at boot:
[drm] UVD initialized successfully.
If mesa was correctly built with VDPAU support, vdpauinfo will list the following codecs:
Decoder capabilities:

name               level macbs width height
MPEG1                16 1048576 16384 16384
MPEG2_SIMPLE         16 1048576 16384 16384
MPEG2_MAIN           16 1048576 16384 16384
H264_BASELINE        16  9216  2048  1152
H264_MAIN            16  9216  2048  1152
H264_HIGH            16  9216  2048  1152
VC1_SIMPLE           16  9216  2048  1152
VC1_MAIN             16  9216  2048  1152
VC1_ADVANCED         16  9216  2048  1152
MPEG4_PART2_SP       16  9216  2048  1152
MPEG4_PART2_ASP      16  9216  2048  1152
If mplayer and its dependencies were correctly built with VDPAU support, running it with "-vc ffh264vdpau," parameter will output something like the following when playing back a H.264 file:
VO: [vdpau] 1280x720 => 1280x720 H.264 VDPAU acceleration
To make mplayer use acceleration by default, uncomment the [vo.vdpau] section in /etc/mplayer/mplayer.conf

Gallium3D Head-up display

Another cool new feature is the Gallium3D HUD (link via Phoronix), which can be enabled with the GALLIUM_HUD environment variable. This supposedly works with all the Gallium drivers (i915g, radeon, nouveau, llvmpipe).

An example screenshot of Supertuxkart using GALLIUM_HUD="cpu0+cpu1+cpu2:100,cpu:100,fps;draw-calls,requested-VRAM+requested-GTT,pixels-rendered"

If you have any questions or problems setting up UVD on Gentoo, stop by #gentoo-desktop on freenode IRC.