tHog

Naga

Lemote Loongson 3A laptop

Introduction

Ordered on 2012-09-16 from tekmote.nl; payment arrived 2012-09-18. Shipment was a week later due to power cable localization glitches. Received 2012-10-04.

[2012-10-20] There have been a number of small hardware glitches lately, notably with the battery information. (Wonder why I like detachable batteries?) I sent a message about warranty repairs/replacements. This is not really that surprising for the first production run, but nevertheless a little depressing after a long wait.

[2013-01-31] I was finally told that I can return the machine for a refund. Ordinary mail won't accept anything with a lithium battery, though, so this might get interesting.

[2013-03-25] Finally returned via DHL, as arranged by Tekmote.

Installing Gentoo

The laptop comes with Debian preinstalled, and it should go a long way for everyday work, until I get a proper distro (aka Gentoo) installed. There are plenty of resources for Gentoo on earlier Lemote machines, and the same installers/instructions may or may not work smoothly.

[2012-10-05] Tried a kernel compile while chrooted in Gentoo for Yeeloong under Debian. It exited with an illegal instruction, so presumably I would need to compile Gentoo altogether for the Loongon 3A.... :-/ though I found another stage3 with more conservative CFLAGS to try later. At least the compilers run here. It was found via Lemote's Linux Loongson community.

[2012-10-07] I have managed to install and boot Gentoo using the kernel binaries from the Debian, and the above stage3. There is still range of problems, but things are moving on with something pretty usable. For example, the Radeon driver for X compiles but does not run, so I use fbdev for now.

[2012-10-12] There seems to be a loongson overlay, straight from layman. Not many packages there though...

Preinstalled Debian / Loonux

Modern Gnome, complete with the tribal drum intro, makes an instant Ubuntu impression. However, there is no GUI package manager, only good old apt-get. Which is fine for me. I need to do some stage work in the next week or so, and this Debian should do everything before I get Gentoo up and running.

There is a pretty serious omission in the disk partitioning. Many current drives have 4KB physical blocks and 512 bytes logical, and partitions should be aligned by these multiples of eight. Here, they are not aligned. I want to keep this Debian as-is for a while as a backup, so I will not be fixing this immediately. After all, it is only a slight performance penalty, though a huge loss of elegance.

Then again, I could easily delete the /home partition, as it is the last one. I will have to change partitions anyway, to make a Gentoo root. So that one and the new /home could be started at a decent location...

While Loonux provides everything, it feels rather unoptimized. Basic applications like Firefox and Audacious are surprisingly laggy, and the latter in particular is bad for my music projects. There is also the lack of a usx2y audio driver in the kernel binary modules that keeps me on other machines for music.

My immediate comparison is a Powerbook, a pretty mean workstation with Gentoo, Fluxbox etc. despite its age. Something is definitely slowing down the Loonux, with its heavy desktop and daemons, because e.g. mplayer is much snappier on Gentoo on the same machine.

Compiler notes

I use distcc with cross-compilers to manage a set of Gentoo machines on various architectures. The system type for these machines is mips64el-unknown-linux-gnu.

The default ABI for mips64el is n32. It uses the full 64-bit capabilities of the CPU with 32-bit data structures, so it should be great for a laptop with max 4 GB memory. (Similar ABIs exist for PPC64 and x86-64, namely x32 for the latter.)

The current stable GCC in Gentoo, version 4.6.3, seems to have the -march=loongson3a optimization for this CPU. It also provides vector intrinsics for the Loongson.

[2012-10-09] I have mostly good experiences with ccache and distcc; it was a great idea to set up the cross-compilers in advance. However, some packages have problems with these, and it is worth trying without them in some cases. glibc-2.15-r3 and cairo-1.12.2-r4 are some of these.

Kernel config

I expect that the Gentoo Yeeloong stage has a somewhat working config, and there should be little need for non-vanilla kernel tricks. However, I expect changes in the following:

The preinstalled Debian should also provide plenty of hints on this.

Kernel version 3.5.0 is also available. It boots fine, but WLAN does not quite work, at least not under Gentoo.

Ack! Vanilla Linux 3.6 does not support this CPU, in that there is no SMP option, and only Loongson 2E/F are available machine types for Loongson. But perhaps I could use the kernel binaries from stock Debian for now. Plus, updates are on their way, but I won't bother with the separate patches for now, hopefully there will be a simple patch available before it hits vanilla.

Sound

Controls and I/O are extremely minimal, with only a mic input and line out. There is a single small speaker, speaking to your gonads. Presumably there are more under the keyboard, since you can hear a little left/right separation. HDMI should also have sound capabilities, but I have no suitable receiver.

Keyboard

The keyboard has its ups and downs; the overall feel is a little wonky, but I have been spoiled by the Powerbook. It is pretty much your typical laptop keyboard of these days, with flat keys separated by considerable gaps. This makes it harder to touch type, compared to properly shaped keys, but it is an area where you have little choice. On the other hand, it has full-size arrow keys and the wonderful Home-Pgup-Pgdown-End column on the right, which makes me oh so happy. The US layout is fine for me, the differences to my UK preference are minimal, and of course you can switch the software layout to anything.

Touchpad

The touchpad is another example of current laptop designs I do not quite like; it has no actual buttons, so only left click works by default. OTOH, the keyboard has an "M\R" button that gives right-click functions in some applications.

My general dislike for touchpads is obvious after a little typing; this is one of those overly sensitive guys (not unlike me) that are confused by a nearby palm of the hand. Fortunately, there is an on/off switch at Fn+F11.

Form factor

From the specs, I expected a size only slightly smaller than the Powerbook. I was wrong, as this is more or less a netbook. A nice, lean and light design with a lot of rounding. On the other hand, the keyboard and screen are full size for a laptop. Pretty much the best compromise for size I could expect.

Loongson 3A side

Display and graphics

The display, likewise, is a reflection (pun intended) of the current netbook market: glossy, LED-backlit 1366x768. Not bad, but more specular than spectacular.

The AMD chipset basically has a HD3200, and the opensource Radeon driver framework runs fine, complete with KMS, under the Debian.

Alas, Gentoo Xorg only supports fbdev for this architecture... but I could try some keyword magic. I also put "-video_cards_radeon" in /etc/portage/profile/use.mask since radeon is normally masked on mips. It compiles, but does not load:

 /usr/lib32/xorg/modules/drivers/radeon_drv.so: undefined symbol: MSP3430SetVolume

Ports

USB ports and the SD card reader are umop ap!sdn. Beware.

Networking

Bog standard Realtek RTL8111/8168B (driver: r8169) and Atheros AR9285. The latter needs the userspace tool net-wireless/acx. I could not download the firmware package for Gentoo, but I had them already from the Loonux kernel packages, so it works fine anyway.

Power management

Suspend to RAM works. Under Gentoo, I did not have any relevant software installed, but I just did "echo mem > /sys/power/state" and it worked fine. Even the WLAN connection came up upon waking.

CPU power scaling is more interesting than usual; when looking at stats, some of the 4 CPUs are occasionally missing. They come back online when power is needed. According to this statistic (from my generic cpufreq script), only one CPU is actually being scaled, and the rest turn fully on and off. This may also explain why top sometimes exits with "failed /proc/stat read".

This also presents a problem for certain applications that try to autodetect the number of CPUs. They may start with too few processes.

The backlight is not turned off properly when idle, not even in Loonux with its elaborate settings. It only turns off (with the machine on) when closing the lid, even under Gentoo without userspace tools. But this is probably bad for cooling. Using Fn+F7 is a manual solution for the backlight, and does not require any daemons.

Fan and temperatures

There is a single fan, blowing out from the back of the machine, but no dedicated intakes. The bottom speaker grill is probably intended to double for this, and the keyboard gaps probably play a role too.

The fan seems to manage itself with kernel drivers only, since I have nothing installed for it in Gentoo userspace. lm_sensors shows something like this:

loongson-hwmon-virtual-0
Adapter: Virtual device
fan1:                    3410 RPM
CPU Temprature:           +60.0°C  
North Bridge Temprature:  +82.5°C  
Main Board Temprature:    +63.6°C  
and this is not even heavy use; the numbers typically start with 6-8-6.

Battery

The specs say nothing about battery life. My initial experiences show about 2 hours of normal desktop use, and the battery gauge confirms this.

Battery/PSU status can be found at

/sys/class/power_supply/lemote-bat/
/sys/class/power_supply/lemote-ac/
and used in a rudimentary script, for example.

The battery is not detachable, as per current trends. I guess it is fine for some people, but it is sometimes necessary to do a hard power cycle without waiting for hours. Not to mention easy switching when its time comes.

PSU

The power supply deserves a special mention. It has a high quality feel, nothing like the cheap, flimsy bricks that come with most equipment. As a special build feature, the low-voltage cable comes out at an angle, so as to protect it when tightly packed.

Naga PSU detail

The 90-watt rating seems a little high, but at least it can recharge while working hard. When the laptop is fully recharged with power off, the PSU feels cool to the touch, which is a good sign of efficient design.

About the name

Naga is a mythical creature in the genre of sea serpents and dragons, thus fit for this 龙芯 processor. I also like my computer names short and simple for frequent command line use.

Draco dormiens nunquam titillandus — never titillate a Loongson suspended to RAM.

Links


Risto A. Paju