The Lemote
YeeLoong
is a small and free software-friendly laptop and one of the few
available non-x86 (and non-ARM) laptops. (It’s sometimes called a
‘netbook’ or a ‘mini notebook’.)
As a user and contributor to a GNU/Linux distribution supporting this
device, I’m often asked about it. The information published by the
manufacturer and distro maintainers doesn’t reflect what could be seen
by a user. This review is based on my experience using it and questions
of free software supporters interested in this device.
The YeeLoong I have is 8101B with a 10.1 inch display. The 8089B model
probably differs only in display size (8.9 inch), having the same
internals. There are newer YeeLoongs with 2G or 3A CPUs being marketed,
these are significantly different on most points discussed here. (This
review probably won’t be helpful for review-writing classes, there are
better resources for them available.)
Hardware
Case
One of the most common marketing claims is that the machine was built by
Quanta and the case is of high quality. This seems more reliable than
most qualitative opinions stated on the Lemote page.
Shiny lid, the user-visible part matte, the parts I use aren’t visibly
shinier. No intrusive logos (the small model name near the screen helps
typing it correctly). No scratches after more than two years of using.
The display hinge works ok.
(My other laptop, an Asus F3U has many scratches on top and had once
many parts changed after the display hinge broke. Despite being newer by
about a year, the parts I touched are now much shinier. Completely
different experience.)
CPU
Loongson 2F is a single core MIPS3-compatible 64-bit
CPU with some
custom ISA
extensions (not all used in software).
There is a custom SIMD extension, similar to MMX although not
well-supported by GCC and with different
intrinsics. A Gentoo
hacker used them to optimize an important graphics library and posted a
great explanation of these
issues.
There are easily worked around bugs which would hang the machine (still
untrusted code can do it), they were a bigger
problem before English
documentation was made available.
There is no uploadable microcode, this is one of the reason why x86
systems probably won’t be as free as this one (even the free boot
firmware implementation coreboot usually requires nonfree CPU
microcode).
The manufacturer claims of buffer overflow protection, this probably
refers to an NX bit. I don’t
know if it’s used in software.
Video card
The video card is a SiliconMotion SMI712 which does not have any
hardware 3D acceleration. The reason why I consider the machine not
completely supported by free
software is limited 2D or video acceleration in free GNU/Linux distros.
gNewSense metad
uses the fbdev driver without support for resolution change or 2D
acceleration. Parabola uses the
siliconmotion driver with unoptimal support for these features (fbdev is
available). Newer X server releases make XAA slower (this is very noticeable when using
KDE), while EXA hangs the machine (not a new issue), so
fbdev might be faster now. There are legendary drivers with xrandr
support, I never used them.
Gentoo has patches making full-screen low quality YouTube videos
playable (I used WatchVideo for
this), they probably could be ported to other distros. There are ongoing
discussions on a new SiliconMotion video driver on the X.Org development
list, maybe this driver will improve this situation (it has xrandr
support).
The VGA output has low colour quality, although I haven’t used such
outputs on other machines for a longer time, when all my other machines
can use DVI-D. The documentation of the chip claims dual head support at
16 bpp, I never used it successfully.
SMI712 has only 4 MiB of video RAM, using reasonable resolutions might
need special X settings to fit in it.
Summing up, I believe the only good thing about this chip is no
dependency on a nonfree VBIOS, system-provided microcode nor driver.
Unfortunately, no other graphics chip used in laptops or desktop
computers known to me has this feature.
Display
Despite all the driver problems, this machine is fast enough to read
typical books in a PDF reader. The screen is matte, unlike my other
laptop, so it’s useful even during summer days.
However, decreasing the backlight brightness results in a
headache-causing flickering (a problem caused by the LED
backlight
design, probably occurring on other devices). Usually I can use it at
full brightness, it’s a less noticeable issue when not using X.
Wi-Fi
There are reports of the Wi-Fi card not working, but I haven’t observed
any problems with it. AP mode is not supported by the
driver, I never
wanted to use it since my other machine with a more powerful Atheros
802.11n card supports it.
The card supports 802.11b and 802.11g, not 802.11a despite what some
reviews state.
Webcam
The webcam works with only some programs, depending on kernel version. I
probably haven’t tried enough to configure it.
SD card reader
It works with both SD and
SD HC cards. Somehow on
Parabola reading from the SD card was needed before the partitions were
found, so it didn’t work well with the GUIs for mounting storage.
Booting from SD cards is not supported.
Touchpad
There is no middle button and the layout of left and right buttons make
simultaneous clicks impossible.
The device is of Sentelic, it doesn’t support absolute positioning in
the driver (possibly due to patent issues). I had better experience with
an ALPS touchpad supported by the xf86-input-synaptics driver.
There are various non-mainline drivers for Sentelic touchpads (e.g. for
MSI Wind), maybe some of them would work with the one in the YeeLoong. I
haven’t tried using them.
Fan
It’s loud. It’s too often running, although this might be partially
fixed using thinkfan.
RAM
Only 1 GiB is supported by the CPU and boot firmware. The
SO-DIMM can be changed, I
haven’t found any need to do it.
Disk
The (probably too optimistic in general case) hdparm benchmark shows
20 MB/s transfer speed, even when I configured the driver to consider it being
connected via an 80 wire cable (a Parabola hacker had similar results
with an SSD). The
chipset and disk documentation suggests a much higher speed being
supported. (Maybe this is related to using a SATA disk with an IDE
controller?)
Suspend
Fan spins while suspended to RAM, so I use only suspend to disk.
Battery
The machine can work up to two hours on battery. The manufacturer claims
lower power use of 12 Watts for the SSD version, data available to the
system suggests it being similar for some uses of the HDD version.
Most netbooks work much longer on battery, this results from both bigger
batteries and lower CPU power usage. Users who need this use external
batteries
(I never used them).
Connectors
The device has external connectors for VGA, power, 3.5 mm microphone and
speaker, 100 Mbps Ethernet and three USB ports. Its layout prevents
using both an Ethernet wire and an USB mouse (the wire would be on the
place where I would keep the mouse), this doesn’t change mice being
uncomfortable for me in all cases.
Boot firmware
The YeeLoong is often called the only laptop not requiring nonfree
software. EC and hard disk firmware are
exceptions.
All Lemote machines use a derivative of
PMON2000 as boot firmware.
It is free (under a four clause BSD license), although on all other
devices than YeeLoongs with 2F CPUs it requires a sourceless VGA BIOS
blob.
PMON initializes the hardware, shows a menu of kernels to run (using a
GRUB 0.97-like configuration file) and boots one of them, supports
network booting and flashing itself. It’s not compatible with x86 BIOSes
and is more powerful (e.g. it can boot a kernel from an ext2 filesystem,
although it doesn’t support newer filesystems).
Booting is fast unless using an initrd (gNewSense and Parabola kernels
don’t need it unless using an encrypted root filesystem) or GRUB 2
booted from PMON (I see no benefit of using it).
It is also possible to use GRUB 2 as a PMON replacement, installed
directly to a PLCC chip (coreboot doesn’t support the machine). It is
difficult to solve potential problems with it due to the PLCC chip being
soldered in most devices (or difficult to access).
Software availability
A Debian-based system with very old packages was installed on the
machine. I haven’t used it long before installing gNewSense metad. (The
installer was broken at that time, so I haven’t used it initially for
two weeks before it was fixed; this problem motivated me to use
IRC, this led me
into contributing to several free software projects and using fully free
GNU/Linux distributions.) The review at
OSNews has more details on this
system (and many other features that I haven’t noticed).
gNewSense has most Debian packages available. There is
GHC without the interactive interpreter
and a slow Java implementation (without JIT). Mono and Valgrind are not available
(although the newest release of Valgrind supports MIPS and is included
in Debian Jessie). Gnash is available, although it is too slow to be
useful for me and there are better specific tools for most tasks that I
could need it for.
While Debian and gNewSense use packages built for any little-endian MIPS
system, Parabola has them optimized for Loongson 2F and uses a different
ABI called
N32 that uses 64-bit registers (and all floating point registers, unlike
O32 used in Debian) while 32-bit pointers are used (so a single process
can use only 2 GiB of virtual memory: the highest address bit is used
for kernel and physical memory). As an advantage, some articles suggest
it being 30% faster on some operations. A disadvantage is lack of
support for many architecture-specific packages like Java, Valgrind or
GHC (and much more portability problems in other packages like WebKit
which doesn’t need to use architecture-specific code). Now more packages
start to require a JIT, so modern Mozilla software and Qt 5 aren’t
available on N32.
One of the reasons for RMS to
use such a machine is
that it is not supported by popular nonfree operating systems, so it
won’t be used to promote them, unlike OLPC.
Performance
The CPU speed is not a problem unless compiling distro packages or using
Java or other programs that are optimized for JIT not available or
working on the MIPS ABIs used (or when playing videos without large
assembly patches using its SIMD extension).
Building GCC, Mozilla browsers or WebKit is too slow to maintain these
packages correctly in Parabola. Typical tasks like Web browsing are
interactive enough, unless building a package at the same time or
viewing a big JPEG image (although this is also slow on my AMD64
machine).
Having played free games like Wesnoth,
FreeDink and
DCSS (without tiles which require
hardware-accelerated OpenGL), I’m not convinced that good games need 3d
acceleration.
Availability
There were YeeLoongs available in Europe from Tekmote
Electronics (where I bought mine from) and
KD85.com. Freedom
Included was selling them in the USA with
gNewSense preinstalled.
The manufacturer site claims of ‘very competitive price’, this certainly
isn’t true in Europe in comparison with non-freedom-respecting x86
netbooks.
Summary
I know three main reasons to use a YeeLoong: it respects user’s freedom,
it can be used for MIPS programming and it is a small and portable
laptop. I don’t know any good alternatives for the first two of these
uses. Except for the graphics performance, I believe the YeeLoong might
still be an appropriate device as a general purpose small laptop
(although this is not a significant problem for most of my text-oriented
needs).