Undervolting & “un-throttling” the Intel Atom Z3xxx Bay Trail CPU series (e.g. ThinkPad 8)

TL;DR: Support for Atom Z3000 series in ThrottleStop is amazing. At full load the temperatures of my ThinkPad 8 are 6-8°C lower, 1.5W less power draw, always-on Turbo Mode.

It recently came to my attention that ThrottleStop, a utility I had been using previously to undervolt my Fujitsu U2010 (Intel Atom Z530), is now finally available with support for the Intel Atom Z3xxx Bay Trail CPU series (used in Lenovo ThinkPad 8, ThinkPad 10, Dell Venue 8 Pro, Asus VivoTab etc.).
The Lenovo ThinkPad 8, while being a good performing mobile warrior device, is not known for being cool and conserving in terms of battery usage. The Intel Atom Z3795 CPU gets quite hot when under load. Lenovo’s thermal management includes heavy throttling/down-clocking of the CPU to stay within the bounds of TJmax of 105°C of this CPU. While the Lenovo Settings tool offer a hard to find/enable “Cool Mode”, it doesn’t do much to lower the temperature and battery consumption.

Naturally I was eager to test ThrottleStop on this device, knowing it was able to lower the voltage (Voltage ID/VID) of the Z530 CPU on my Fujitsu U2010, thus reducing the overall power draw + TDP of the CPU.

First off, here are the results running prime95 (64-bit, Torture mode, Small FFT, max. CPU heat/usage) with the stock clocking and CPU management. Running at a max. Turbo Mode VoltageID/VID of 0.63 V:

Without ThrottleStop, max. Turbo Mode VoltageID/VID of 0.63 V

Now with ThrottleStop enabled, max. Turbo Mode VID set to 0.575 V (0.055 V lower), which I found to be stable on my device:

With ThrottleStop enabled, max. Turbo Mode VID set to 0.575 V (0.055 V lower)

As you can see temperatures are 6-8°C lower with ThrottleStop enabled – and that is with Turbo Mode constantly on! There is no throttling happening like with the stock CPU management. Battery draw on load is roughly 1.5 Watts lower: 7.3W versus 8.8W
These 6-8°C difference + constant Turbo Mode are especially great for playing occasional games on the device as there is more thermal headroom for the IGP to use, i.e. a lot less lagging + stuttering inherent to Lenovo’s stock thermal management.

If you want to give it a spin, ThrottleStop can be downloaded here.
Make sure to create a backup of your device first, since playing with the VID is what system tweakers call a “suicide run”, i.e. it will lock up/crash your system if you lower it too much. You might just lose data. As always with these types of tweaks: your mileage may vary, here be dragons, warranty void.

Quasar Media Player 0.96 beta 4 available

Quasar Media Player

I am pleased to announce beta 4 of Quasar Media Player.
This new version introduces some new features and big improvements in terms of performance and memory-usage.
The previously separate last.fm Audioscrobbler QScrobbler has been integrated into Quasar as add-on.
This release also marks the introduction of the Cover Art Downloader which uses the new open-source katastrophos.net Cover Art search engine to download cover art images for the new Cover Art Flow album browser.

Quasar Media Player on Windows 7Cover Art Downloader on OS X

Binaries for the previous platforms (Sharp Qtopia and pdaXrom) along with new binaries for Windows and OS X (universal) are available on the project’s homepage.

Nightly Builds of Quasar Media Player available

Quasar Media Player

It’s been some time since the last update. In my previous post I mentioned I was in the process of setting up a nightly build system. This system has been running silently since May.
I guess it is finally time for me to officially announce the nightly builds of Quasar Media Player:

http://www.katastrophos.net/downloads/quasar/nightly/

Along with the most current sourcecode tarball, binaries are available for 4 platforms:
Windows (win32), OS X (universal binary), Sharp Qtopia and pdaXrom Linux (both for Zaurus PDA)
The Windows version comes in two styles: a generic setup (EXE) and a self-contained portable version (7z archive)

Enjoy and please leave a comment.

Setting up the Inno Setup compiler on Debian

I’m currently setting up a nightly build system for Quasar on my Linux box which is running Debian. This system also cross-compiles Quasar for Windows.
The Windows version of Quasar is going to be available in two fashions: one self-contained, portable version and one version that can be installed.
I’m not a huge fan of installers. But when it comes to creating a setup program for a given Windows application I’m quite accustomed to Inno Setup having used it for years. Unfortunately there is no native Linux version of the Inno Setup compiler available for Linux. NSIS exists as package for Debian but I am not fond of using it, largely because I am a Delphi guy. :)
So, here is a small guide on how to get the Inno Setup compiler up and running on Debian:

First step is to install Wine either as super user or by using sudo:

sudo apt-get install wine

As normal user fire up your X server and your favourite terminal application and get the latest Inno Setup QuickStart pack:

mkdir /tmp/innosetup
cd /tmp/innosetup
wget http://files.jrsoftware.org/ispack/ispack-5.2.3.exe
wine ./ispack-5.2.3.exe

This will start the installer in Wine. Note, for the installation you will need a running X11 server since the installer obviously is graphical. If you have not set up Wine before, the default location C:\Program Files\Inno Setup 5 will install to ~/.wine/drive_c/Programme/Inno Setup 5.

Luckily the Inno Setup compiler offers a command line interface, ISCC.exe, which will run in Wine without the necessity of having a X server running. So it is ideally suited for automated runs.

Here is a simple wrapper shell script called iscc:

#!/bin/sh
unset DISPLAY
scriptname=$1
[ -f "$scriptname" ] && scriptname=$(winepath -w "$scriptname")
wine "C:\Program Files\Inno Setup 5\ISCC.exe" "$scriptname" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"

I installed this script in my local bin directory (~/bin) and added it to the PATH environment variable.
This will allow running the Inno Setup compiler from anywhere and it also makes it very easy to integrate into a build script. You can even feed a script via stdin, e.g. something like:

iscc - < ./myscript.iss

Implementing the “Reveal In Explorer” functionality

Update: I seems like Microsoft changed the behavior of the Explorer’s command line parameters in Vista and Windows 7. Below is the fixed version of my code that addresses the problem.

So, I was wondering the other day how to implement a functionality similar to Firefox’s “Open Containing Folder” or OS X’s “Reveal In Finder”.
It turned out to be extremely simple. Here is the Pascal/Delphi-Code:

uses
  ShellAPI;

function RevealInExplorer(const Filename: string; ShowExplorerWithFoldersBar: Boolean = True): Boolean;
var
  Params: string;
begin
  if FileExists(Filename) or DirectoryExists(Filename) then
  begin
    Params := Format('/select,"%s"', [Filename]);

    if ShowExplorerWithFoldersBar then
      Params := '/e,' + Params;

    ShellExecute(0, 'open', 'explorer.exe', PChar(Params), nil, SW_SHOWNORMAL);

    Result := True;
  end
  else
    Result := False;
end;

Installing Windows 7 on Fujitsu U810, U1010, U2010, U2020

UPDATE: This also applies to Windows 7 Final/RTM (7600) and will also work for the U820/U2010/U2020 models. Check my comment for additional information on what needs to be installed on those models.

I just installed Windows 7 Business Build 7000 on my U810. It is quite nice actually and seems to run faster than Vista.

windows7capture2windows7capture1

I installed the Vista drivers from the driver CD. The Setup.exe on the driver CD will complain that the operating system is unsupported. To circumvent this problem, just start the setup in Vista compatibility mode:
Right-click on “Setup.exe”, “Properties” -> “Compatibility” -> “Run this program in compatibility mode for:” “Windows Vista”.

Install these items:

Drivers
04. Button Driver
05. Camera Driver
07. Fingerprint sensor (driver)
08. FUJ02B1 Device Driver (HotKey Driver)
09. FUJ02E3 Device Driver (System Extension Driver)
11. Pen Driver
12. Pointer device driver

Utilities/Applications
03. Button Utilities
07. Fujitsu System Extension Utilities

I could not get the Auto-Rotation feature to work. Also, you’ll probably have to calibrate the touch screen.
I also disabled the power management feature of the FCL USB Pen Tablet in Device Manager (Right-click on “Human Interface Devices/FCL USB Pen Tablet”, “Properties” -> “Power Management” -> Disable “Allow the computer to turn off this device to save power”). This improves the response of the touch-screen/tablet.

Oh, and BTW, Windows 7 “only” uses 7.5 GB of disk space, whereas Vista uses 15 GB I think.

Q…/Free: Bug in QProcess writeToStdin

All right, this post is just to stop somebody else’s suffering in figuring out why writing to stdin in QProcess on Version 3.3.x-8 of Q…/Free doesn’t work on Windows. Well, actually it works but just for the first line you write to stdin. There is a bug in qprocess.cpp at line 730:

void QProcess::writeToStdin( const QString& buf )
{
    QByteArray tmp = buf.local8Bit();
    tmp.resize( tmp.size() - 1 ); // drop the implicit \0
    writeToStdin( tmp );
}

should be:

void QProcess::writeToStdin( const QString& buf )
{
    QByteArray tmp = buf.local8Bit();
    tmp.resize( buf.length() );
    writeToStdin( tmp );
}

Verision 3.3.7-7 includes the latter method, same as the latest Qt 4.3 sources. So, it’s actually a regression in 3.3.x-8. If you require the latest Qt 3 / Q…/Free for your open source application and need to write to some other processes’ stdin, you can just use a wrapper workaround that uses the latter method and directly uses writeToStdin( const QByteArray& buf ) instead of the QString variant.

rdesktop: Connect to Windows 7 and Vista with ClearType font smoothing enabled

So Windows Vista finally allows to enable ClearType font smoothing for Remote Desktop / Terminal Services sessions. Update: Windows XP SP3 does too!
If you try to connect to a machine running Windows XP SP 3 or later using rdesktop, you won’t get smoothed font typing since at the time of this writing rdesktop does not officially offer an option to control this feature. However, here is a workaround:
Continue reading “rdesktop: Connect to Windows 7 and Vista with ClearType font smoothing enabled”

duplicity 0.4.2 on Cygwin

Ben Escoto has released version 0.4.2 of duplicity. My previous patch for version 0.4.1 already included most of the changes in 0.4.2.
For the sake of completeness, here is my updated patch bundle which adds Cygwin / Windows support and fixes some problems in the FTP backend:

http://savannah.nongnu.org/download/duplicity/duplicity-0.4.2.tar.gz

To install it you’ll need the same prerequisites as for rdiff-backup, most notably librsync. Please refer to these instructions on how to install it.
Additionally you should install the Utils/gnupg package in order to get the encryption working.
Here is how to compile and install duplicity:

Continue reading “duplicity 0.4.2 on Cygwin”

Workaround for broken Windows Sharing on Intel OS X

So, it seems Apple broke Windows Filesharing / Samba with the 10.4.5 update on Intel-based systems. Windows clients are unable to connect to OS X shares, because the server refuses the password.
There are several threads describing the issue in detail:
http://www.123macmini.com/forums/viewtopic.php?t=4555
http://discussions.apple.com/thread.jspa?threadID=401714&tstart=0

Here is a temporary workaround for the problem:
You’ll have to change the authentification settings on your XP/2k box and here is how to do that:

Start -> Run “secpol.msc”
In the tree open and click Security Settings -> Local Policy -> Security Options
Scroll the left pane down to ‘Network Security: LAN manager authentication level’
Change this to ‘Send NTLMv2 response only’

It works for me. Please let me know, if it works for you too…

Update: Apple has released OS X update 10.4.6 which resolves this problem.