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.

Lazy source code comment stunts

Double-Slash-Whole-Block-Commenting

Here is a simple way to disable or enable whole code blocks with just two slashes:

PHP / C++:

/*
  Block (commented block)
//*/
///*
  Block (active block)
//*/

Object Pascal/Delphi:

(*
  Block (commented block)
//*)
//(*
  Block (active block)
//*)

Alternatively you can use { and } in the Object Pascal/Delphi example.


Double-Slash-Whole-Block-Switching (Object Pascal/Delphi only)

The Object Pascal dialect used in Delphi supports three ways of commenting code, two for commenting whole blocks ( { } and (* *) ) and one for commenting lines ( // ).
We can exploit this feature to switch between two code blocks easily and fast:

Block 2 is in the enabled state:

{
  Block 1  (commented block)
(*}
  Block 2  (active block)
//*)

Note, I am just adding two slashes in front of the first comment block to activate it again – similar to Double-Slash-Whole-Block-Commenting trick above. This will also magically disable the second block due to the way the comment marks are arranged:

//{
  Block 1  (active block)
(*}
  Block 2  (commented block)
//*)

These tricks are probably applicable to other programming languages as well. Please let me know.

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”

New Release: iTunes Alternative Encoders 1.5

Yet another minor release of my iTunes script-suite iTunes Alternative Encoders. This one fixes a character encoding issue in the Ogg Vorbis encoder script. I figured this one out while debugging my Quasar Media Player with files containing Umlauts and other non-latin characters. Ogg Vorbis files produced with the previous version of the script contained “#” in the tags instead of the correct characters.
Get the fixed version while it’s hot: Download here.

Enhanced audio driver for Zaurus SL-C1000/C3x00 available

Today I’m officially releasing my extended driver and mixer for the Wolfson WM8750 CODEC / sound chip that comes included in the latest Zaurus models.
The driver exposes the following new features:

  • ability to set and control Treble, Bass and 3D stereo sound enhancement;
  • ability to set and control various cut-off frequencies supported by the sound chip;
  • output source selection (Autodetect, Internal Speaker, Headphone).

These features can be easily accessed via a Qt based mixer control app or directly via a /proc/driver/wm8750 kernel interface.

{wm8750mixer} WM8750 mixer control app running on pdaXii13 and X11.{wm8750mixer} WM8750 mixer control app running on Cacko ROM and Qtopia.

Both, the driver and the control app are available for Sharp ROM / Cacko ROM and pdaXrom beta 3 / pdaXii13.

Kernel patches are available for Sharp’s Linux kernel 2.4.20 and can be downloaded here:
http://www.katastrophos.net/zaurus/sources/wm8750mixer/
(No kernel 2.6.x support yet. Sorry folks.)

By default the audio driver is compiled into the kernel. Sharp didn’t compile it as module, so it can’t be easily replaced. Same goes for most third party ROMs. You’ll have to reflash your kernel to install the new driver.
In case you don’t want to roll your own kernel, I’ve made pre-compiled kernels available for all supported ROMs and models here:

http://www.katastrophos.net/zaurus/kernels/v55/

The control app and start up scripts are available as IPK here:

wm8750mixer_0.9_arm.ipk – WM8750 mixer for Sharp ROM / Cacko ROM
wm8750mixer_0.92_armv5tel.ipk – WM8750 mixer for pdaXrom beta 3 / pdaXii13

On a side note, we’ve been discussing the extended features of the WM8750 audio chip for quite some while in this thread over at the OESF forums. I have the feeling the driver and the Qt application have received a fair bit of testing. So, that’s why I am officially releasing it today.

“Yet Another Zaurus Media Player”… not dead yet: “Quasar Media Player”

Alright, this blog has been very quiet for the last few months. That’s partially due to me being very busy with other stuff.
I’m slowly picking up pace and getting things done again.

So, here is a short update on the media player that I’m currently developing for my Zaurus. Well, actually it’s been in long-term testing mode for ages now… :)
I finally have a name for it. It will be called “Quasar Media Player” – or shorter “Quasar”. Below are some screenshots of the current development version running on Qtopia. I hope to have a release ready soon.

{Quasar} Shown is the new toolbar and play list selector.{Quasar} The new play info screen. Cover art is supported and rendered in this funky view. Any Satch fans out there? ;){Quasar} More eyecandy.{Quasar} Normal list view filtered.

New Release: iTunes Alternative Encoders 1.4

I’ve updated the iTunes Alternative Encoders pack. The new version introduces a feature to split up the encoding process into simultaneously running parts, which essentially is a form of multithreading. This means you can now make perfect use of that multi-core/multi-CPU beast on or under your desk when encoding large amounts of files. ;)
Download here.