Sony Vaio PCG-C1VN Subnotebook

Last updated Sun May 29 12:34:02 PDT 2005

This cool little subnotebook unfortunately comes with Windows ME, which I find, er, unusable. This document tries to describe my efforts to get a more reasonable OS installed and running on it. At the time I wrote this document, my preferred Linux distro was Mandrake 7.2. I now use Gentoo Linux, and find that most of this document is irrelevent, since everything installed and ran without much effort (although power management stills seem non-functional). Still, some info here might be useful.

Hardware

The Sony PCG-C1VN PictureBook has a 600MHz Transmeta Crusoe processor, 128MB RAM, a 12GB hard disk, a 1024x480 Active matrix display, a USB port, a Sony "Memory Stick" port, a PCMCIA slot, a builtin video camera, a bunch of jacks for video and sound, a three-button trackpoint, and a useless WinModem. Note that although this model now has a memory stick port, it loses the IR port of previous models. The model I bought also did not come bundled with the USB floppy - it is now an option (fine by me). Also, although the LCD is the same, the graphics chip is an 8M ATI Rage Mobility rather than the previous NeoMagic (a big improvement IMHO).

In addition to the PCG-C1VN, I have a Sony Vaio DVD drive (the PCGA-DVD51/A), a Netgear FA 510 PCMCIA Ethernet adaptor, and a Sony 8MB Memory stick (costs $25, seems like a good place to keep private encryptio keys). All the hardware works fine under Windows ME.

Installation

The first detail is a Sony detail: to boot off the DVD drive, you need to *not* have the AC adaptor hooked up to the DVD drive. Just power it from the PCMCIA adaptor to make it bootable.

I referred to the informative pages for earlier versions of the PictureBook compiled by Kim Liu and Jochen Topf. You may find other useful installation experiences on the Linux Laptop Homepage. Steve Barr is maintaining a useful set of links here. The first useful bit of info is the boot options to allow the DVD drive to be recognized *after* you boot, which allows installation from CD-ROM. Without the parameters, you can boot off the CD-ROM, but subsequent attempts to find the disk will fail. With Mandrake 7.2, you need to use F1 on the initial boot screen to specify optional boot params. Type this at the boot prompt:

   linux ide2=0x180,0x386
With these params, the installation process proceeds normally. It detects a "USB Storage device" and asks if more devices exist, I say "no" for now. I suspect that the storage device detected is the memory stick, but have no info on that for the moment.

Configuration

I installed Linux-Mandrake 7.2 onto the "other" partition that Sony so conveniently supplies -- I only had to set up new partitions, not fiddle with the Windows ME partition. Eventually (after some 20 minutes for a full Mandrake install - the hard disk on this machine isn't a real screamer), the networking config dialog comes up. I have a Netgear FA510 32 bit cardbus PCMCIA network adaptor, but I was installing off the PCMCIA DVD-ROM (can't use both!), so I said "no networking" during install. I later plugged in this card and it autodetected fine and I could configure networking with no problems. I also have a LinkSys USB Ethernet adaptor, but I couldn't get it to work despite several efforts.

Be sure to specify the ide parameters mentioned above in your bootloader options (i.e. /etc/lilo.conf).

Configuring X

This is the last step of the Mandrake install, and I couldn't get anything to work "out of the box". So I chose to "not start X" on boot, so I could fiddle with it after installation. Standard (i.e. "unsupported/standard VGA") along with "standard 640x480x60hz monitor) would stretch to fit the screen; I could get nothing else to even work.

A little bit of research and a lot of fiddling showed that the stock ATI driver had a buffer that was too small. The file that needs changing is 'programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c'), and it has a line that needs to change from this:

#   define           BIOS_SIZE       0x00010000U     /* 64kB */
to this:
#   define           BIOS_SIZE       0x00014000U     /* 80kB */
I did a CVS checkout of the 4_0_1_branch of XFree86, made this one change and rebuilt it. I produced
this ati_drv.o driver. With this driver and this XF86Config that was derived from Jay Beale's page on the Picturebook, X seems to work fine. I tried following the instructions on Jay's page relating to the XFree86 server executable, and it didn't work for me, whereas simply replacing the ati_drv.o file did work on my system. Both 16 and 24 bit modes work (32 bit mode doesn't), and performance seems pretty good.

With this X config, I still cannot switch back into console mode (I suspect another ATI-specific problem here), so I just boot up into runlevel 5 (straight to the X login window), and close my eyes when shutting down (it shuts down cleanly from the KDE login window).

UPDATE: As it turns out, the xf-4_0_1h CVS snapshot of XFree86 fixes all these problems. So, if you are up to checking it out and building it yourself (this is kinda painful), it does indeed work. The default config isn't the same as Mandrake (particularly the Font server stuff), but it works (including switching back to text mode). I did a "make World" and "make install", copied the XF86Config file on Steve Barr's page, and made a symbolic link from /root/XF86Config to /etc/X11/XF86Config-4, and it all works.

Other Stuff

The biggest problem for me now is getting the ACPI stuff and suspend/resume working (need a 2.4 kernel, it seems). Currently, the disk just whirs away continously, sucking the battery down in a little more than 2 hours. 2 hours in Linux is still preferable than 5 hours in Windows ME, but I naturally would like to get into power saving mode here. Any help appreciated!

The system , when booting, displayed this:

One 596MHz GenuineTMx86Transmeta(tm) Crusoe(tm) Processor TM5600 Processor, 122M RAM
1130.50 Bogomips Total
And dmesg (after a few reboots) shows this:
Detected 595499 kHz processor
Calibrating delay loop... 1186.20 BogoMIPS
...
CPU: L1 I Cache: 64K L1 D Cache: 64K
CPU: L2 Cache: 512K
CPU: Processor revision 1.3.1.2, 600 MHz [longrun]
CPU: Code Morphing Software revision 4.1.4-7-51
CPU: 20000805 23:30 official release 4.1.4#2
CPU: Transmeta(tm) Crusoe(tm) Processor TM5600 stepping 03
...
using fastest function: pII_mmx (798.195 MB/sec)

And, for those curious, I have a Scheme bytecode engine that I benchmark CPU/memory performance with, and currently this machine has about a score somewhat faster than a Celeron 533 cheapo system and about as fast as an Athlon 500 (FIC SD-11) system. That doesn't seem slow to me for a laptop! I have no complaints with performance except maybe that hard disk...
December 2th, 2000.
Lee Boynton