Running linux on the Sony vaio pcg-u1 (and vaio u3)

By Francois Gurin <matrix@spic.net>
   updated: 2003-12-25 20.33

Here's a screenshot to whet your appetities

As of 2003/12/25 sony's vaio u-series are one of the smallest complete laptops on the market (unfortunately was only available in the japanese market). Much like its bigger brother the picturebook c1 series, the u1 has no internal removable media. If you shelled out the extra cash for the bootable floppy or cd/dvd drive, then installing a new os is mostly straightfowrard.

The Sony U-series are the smallest PC laptops currently around.  Only marketed in Japan, these vaios have found their way across the world via travelers and importers.  Like the larger picturebook c1 series, the u series has no internal optical media (no cd or dvd drive).   As of 2003/12/25, there are three models in the series:

    1. PCG-U1: 866mhz Transmeta Crusoe, 20gb 1.8" HD, 128MB to 384MB ram, 1x PCCard, 1x Memory Stick, 2x USB 1.1, 1x 1394 (firewire/i.s400, 4-pin with sony dc out port), 1x mini-VGA (requires dongle), 10/100 ethernet
    2. PCG-U3: 933mhz Transmeta Crusoe, 20gb 1.8" HD, 256MB to 512MB ram, 1x PCCard, 1x Memory Stick, 2x USB 1.1, 1x 1394 (firewire/i.s400, 4-pin with sony dc out port), 1x mini-VGA (requires dongle), 10/100 ethernet
    3. PCG-U101: The first of the second generation U-Series, Completely different hardware.
As you can see, the U1 and the U3 are basically the same machine in different color cases and with minor changes.  As such, the following information from my U1 should work exactly the same on a U3.   Other U-Series users are welcome to let me know how things work  on their models.

Installation

This page was originally focused on installing Debian over the network via PXE. I've moved all that to it's own page Netbooting the U1which will hopefully get you up and running in no time. This should also be useful if you find yourself with a completely unbootable system.

The Kernel

I recommend running a 2.6.x kernel.  Stock 2.6.0 does not require any patches to work with the U1.  Early -test releases did not support the Zoom and ThumbPhrase buttons due to a change in the sonypi driver. 

Mouse / Pointer Caps

This could just be an isolated problem, but the rubber caps wear out very quickly when they are unprotected. For whatever reason, 2 of my caps started to get mushy in as many weeks. When the cap starts to break down, the normally very sensitive pointer becomes difficult to move around. It may be possible the oils on your skin will speed up the breakdown of the rubber caps. At least, this seems to be the case
here.

I went down to the local craft store and bought a pack of 1/2" round Velcro tabs.  They come with and without glue on the back, I recommend getting them without as the adhesive they come with is very messy and will probably not hold well.  A roll of thin 1/2"
3M brand double sided tape is what I use to affix the tabs directly over the rubber Mouse/Pointer Caps.  This works great as both a preventative method to keep your caps in good shape as well as rejuvinating old worn-out caps.  Change the double sided tape every few weeks for best responsiveness results.

Originally i was using a bit of heavy clear plastic and some thread, and i put together a little protective slip cover for the caps. These worked well and prevented damage to the rubber.  But they were useless on already worn out caps and would break when i least expected.

Then I moved on to cutting out circles of velcro tape.  The stiff backing of the velcro, along with the traction provided by the hook-side was a great plus.  I could carry a few rounds in case of emergency, and even better, allowed me to use my worn out caps as if they were new.  

Personally, I recommend you do this, there doesn't seem to be any ready source for replacement caps, and fighting with the pointer isn't worth the pocket change in materials and time involved in making the covers.


Jogdial, sjog, and the wardrobe


I use a fairly modified version of sjog-0.5 to control the jogdial and extra buttons on the Vaio U1.  Because of the way I use the jogdail under  linux, these changes may not work out for everyone.

ACPI

**WARNING: DONT TRY TO USE THE ACPI SUSPEND TO RAM UNLESS YOU ARE FOND OF REBOOTING BY REMOVING THE BATTERY.  THE CURRENT ACPI IMPLEMENTATION APPEARS TO SUCESSFULLY SAVES TO RAM BUT HAS NO WAY OF WAKING UP.  If you have this working PLEASE  email me: Francois Gurin <matrix@spic.net>

None of the patching that used to be necessary is needed anymore.  2.6.0 supports everything out of the box.  Most of the packages in testing and unstable are already using the new acpi interface and life is good.

the debian acpid package includes Joey Hess's example ac power event handler in /usr/share/doc/acpid/examples/. he uses a picturebook, so it's all set to use vaio bits and just need to be edited to taste of power conservation. you can find this here if you're not a debian user.

swsuspend / suspend-to-disk / hibernation mode

Total re-write of this section.  There are currently 3 different ways (that I know of):
So far I haven't had much luck successfully suspending and resuming with the stock 2.6.0 code.  It appears to be problems with the ACPI interfaces and the Vaio's ACPI.  I use the SWSuspend2 code (currently using -rc3) and everything works perfectly with the new hibernate script also on the sourceforge page.  The only problem I've encountered so far is that I cannot resume to X11 when XFree86 is running with hardware acceleration. 

I have hibernation setup through acpid, so hitting the power button calls the hibernation script instead of init 0.

The more you have compiled into the kernel as opposed to loading as a module, the smoother your hibernation experiences will be. of particular note is sonypi:

3D acceleration

Yes this works now!  glxgears reports from 300-400 FPS.  Not amazing for games, but it makes 3D applications bearable.  If you find the 3D is running towards the slow side, try connecting the AC for a few moments.  Looks like the Radeon chip has some power-saving tech
going on.

Of course, you currently have to choose between 3D acceleration and being able to suspend to disk.  I haven't looked into this enough to even guess what's choking. At some point I'll need to try the more recent DRI drivers.

There are fortunately no special tricks involved here.  The 2.6.0 kernel radeon drivers will JustWork without any patching or configuration.  If you run Debian, you will probably need to be running XFree86 4.3.x currently available in experimental as it has support for PCIMode Radeons (I don't think the 4.2.x packages did ).  

The other caveat is you cannot run more than 16 bpp in 1024 x 768.  This is because the PCI Radeon only has 8MB of ram, and at 24 bpp, there isn't enough free memory for the textures (nor can you use system memory since this isn't AGP)

In my XF86Config-4, the Radeon section looks like:

Section "Device"
        Identifier      "Generic Video Card"
        Driver          "ati"
        Option          "ForcePCIMode" "true"
        Option          "EnablePageFlip" "true"
EndSection

Where ForcePCIMode will make sure XFree86 will enable DRM via  PCIGART and  EnablePageFlip I picked up as a performance tip from somewhere.


useful apps

Misc

Toss the following hdparm options into a startup script to get some extra performance out of the slow drive:
hdparm -A1 -c1 -d1 -X69 -m16 -u1 /dev/hda
you may want to put this in your earliets startup scripts

My kernel parameters:
idebus=50 resume2=/dev/hda1 

TODO

Links

http://browncat.org/linux/vaio-u1.html
the first linux u1 site i found, in japanese, has great info. by Naoki Yamaya

http://www.ottaky.com/linux/vaiou1.html
another great u1 site. by Steve Brown

http://www.stevebarr.com/cgi-bin/cgiwrap/barrst/goto.pl?c1mv
a good site with info on the vaio c1 picturebook series (much is applicable to the u1/3 series)

http://www.toshiba.com/taissdd/techdocs/mk2003gah/2003index.shtml
toshiba page with info on the 1.8" hd in the pcg-u1

http://shop.conics.net/laptop/sony-acc/index.html
accessories for sale

Google
Search WWW Search www.spic.net