Doesn't Not Compute

My log of experiences with GNU/Linux and computers in general.

Yeeloong 8089B: Some Performance Tweaks

Some time ago, I purchased a Lemote Yeeloong 8089B from Tekmote Electronics. It’s not exactly a powerful device, even for a netbook — extremely weak graphics chipset, a single-core Loongson 2F CPU clocked at a maximum of 797MHz (despite the description’s claim of 900MHz), and a battery rated to last barely 2 hours. But, it has the advantage of not requiring any nonfree software. As most people who would buy one and search for “performance tweaks” for it would already know. ūüėÄ

I bought it hoping to run gNewSense‘s mipsel port on it, but found it to be lacking many packages I wanted to run on it. Most of these were frivolous anyway, so don’t let that stop you from trying it. ūüėČ I currently run Debian Wheezy’s mipsel port quite happily on it . . . but it took a little work to get the “happily” part.

A long-existing bug exists in Xorg that prevents the graphics server from loading with the siliconmotion driver on this hardware.¬† The Xorg developers are aware of this issue, and patches (overly?)-specific to this problem exist, but they still haven’t fixed the problem. No disrespect to them, their manpower is limited and the existing patches, like I noted, are so specific to this hardware that they would cause problems for other systems using the siliconmotion driver.

While I successfully patched the Xorg server provided by Debian when I first installed it, I neglected to place a hold on it. A later update broke the Xserver again, and despite recompiling with the same patch, I couldn’t fix the problem.

Yesterday I decided to try again — still failed — and looked for another patch to fix the issue. Instead, I found a pre-built package that works. Here is a list of the commands to download and install it, AND place a hold on it so it doesn’t get broken by later updates.

sudo dpkg -i xserver-xorg-core_1.11.1-1loongson_mipsel.deb
sudo aptitude hold xserver-xorg-core

From there, I just installed Debian’s own xserver-xorg-video-siliconmotion driver and the drivers for the keyboard and mouse.

My xorg.conf:

Section "ServerLayout"
    Identifier     " Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/X11/misc"
    FontPath     "/usr/share/fonts/X11/cyrillic"
    FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/Type1"
    FontPath     "/usr/share/fonts/X11/100dpi"
    FontPath     "/usr/share/fonts/X11/75dpi"
    FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
    FontPath     "built-ins"

Section "Module"
    Load  "extmod"
    Load  "dri2"
    Load  "glx"
    Load  "dbe"
    Load  "dri"
    Load  "record"

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/input/mice"
    Option        "ZAxisMapping" "4 5 6 7"

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "ShadowFB"               # [<bool>]
        #Option     "Rotate"                 # <str>
        #Option     "fbdev"                  # <str>
        #Option     "debug"                  # [<bool>]
    Identifier  "Card0"
#    Driver      "fbdev"
    Driver        "siliconmotion"
    Option        "pci_burst"    "true"
    Option        "HWCursor"    "true"
    Option        "VideoKey"    "45000"
    Option        "UseBIOS"    "false"
    Option        "PanelSize"    "1024x600"
    Option        "CSCVideo"    "false"
    Option        "AccelMethod"    "xaa"
    BusID       "PCI:0:8:0"

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultDepth    16
    SubSection "Display"
        Viewport   0 0
        Depth     1
    SubSection "Display"
        Viewport   0 0
        Depth     4
    SubSection "Display"
        Viewport   0 0
        Depth     8
    SubSection "Display"
        Viewport   0 0
        Depth     15
    SubSection "Display"
        Viewport   0 0
        Depth     16
    SubSection "Display"
        Viewport   0 0
        Depth     24

I use XAA because I’ve found EXA to be rather unstable on this hardware in the past. ūüė¶ It’s been quite some time since I used EXA on this, but if memory serves it caused Xorg to stop responding to all input, quite randomly. I couldn’t even switch to a virtual terminal. I can’t recall if I could still connect via SSH — if I have time to, I’ll check on this.


4 responses to “Yeeloong 8089B: Some Performance Tweaks

  1. David May 22, 2012 at 2:51 am

    Hi Mulenmar

    Is it possible you could do a step by step guide to everything in regards to the graphics drivers. I can get a nice clean console based install of Debian but cannot get graphics to work.


    • mulenmar May 24, 2012 at 2:52 pm

      Hmm. I suppose I can try to do that, although I’m running Parabola GNU/Linux on there at the moment.

      In the meantime, I suggest using the xserver-xorg-video-fbdev driver. It’s slower (which is bad on this already-low-powered hardware), and you won’t get XVideo support, but at least you’ll have a working graphics server.

      Or you can check Debian’s wiki: ūüôā

      EDIT: Scratch that, for Debian Wheezy anyway. The patch they specifiy doesn’t apply.

      So, the pre-compiled driver package not working for you?

      • David May 25, 2012 at 7:00 am

        Hi Mulenmar, thank’s for replying. ūüôā

        I downloaded the anheng driver pack & ran all the commands successfully then installed the Silicon Motion driver but they did not play well together. The silicon motion driver seemed to want to install a different/newer version of xorg-server?

        I have found 1-2 step by step installations for the Yeeloong around the internet but many of them rely on mirrors that don’t seem to exist any more. ūüė¶

        In the past I have managed to get the fbdev driver working although it was painfully slow! Eventually I opted to use Debian as a command line interface – once I figured out the commands it became quite fast to use.

        Another thought I had was disk images. Apparently there was a disk image called Medan floating around for a while, it seems to have been Debian with patched graphics drivers. It has since disappeared.

        Would you recommend Parabola over Debian? The latest version of Debian seems to hardware lock the Wireless card. :S

        As you can probably tell I am no Linux expert but the idea of the Lemote gripped me. ūüėÄ

        Thanks again,

        • mulenmar May 26, 2012 at 7:05 pm

          Parabola GNU/Linux has a few advantages, among them being completely free software with NO nonfree software offered or provided, even in a separate repository, and compiling software to use the n32 ABI rather than the older, slower o32 ABI. (More info at

          But their siliconmotion driver doesn’t work, either. ūüė¶

          As for the Debian driver, I modified the patch to apply against the current xorg-server source package, but the compile failed later on. I need to track this down more before I start asking about it, though. Two of the hard drives I switch between in my desktop have suddenly failed, so I have to deal with that first.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: