|
©1994-2007 Kevin Boone | ||||||||||||||||||||||
|
Home > Computing > Linux
Running Linux on the Sony Picturebook PCG-C1VFK
Last modified: Wed Feb 8 00:07:33 2006
Overview
I needed an inexpensive and, above all, cheap notebook computer for
note-taking, playing music, and occasional Web surfing, and I came
across this Sony Picturebook on eBay. It is an impressively
small unit -- just a bit bigger than two DVD cases stacked
together. This compactness has its disadvantages, as you might
imagine, but there are very few PC-type computers on the
market that approach it for portability. Even the units in the new Sony TR
range -- which are about as small as notebooks come these days --
are bigger.
The Picturebook was about four years old when I got it. It was supplied with unlicenced Windows XP left behind by the previous owner. I'm not a huge fan of Windows in any of its varieties, but XP is particularly inappropriate on a machine like this. It has a maximum 112Mb RAM, and a 600 MHz CPU. Windows applications of any sophistication are completely unusable. Moreover, the odd-shaped screen (letterbox format, 1024x480 pixels) was largely consumed by the huge menus and window decorations that Windows XP uses. To be fair, large sophisticated Linux applications like OpenOffice do quite badly on this notebook, but there simple alternatives that work perfectly well. I don't think I'd want to run Gnome on it either, but there are simpler user interface for Linux which work very well. I am using the ICE window manager, which offers a reasonable compromise between memory consumption and flexibility. Like most Sony computers, the Picture has no useable APM support. You must use an ACPI-enabled kernel on this machine, or you'll have no power management. I never did get suspend-to-RAM working, but I did get suspend-to-disk in kernel 2.6.15. At the time of writing that's more recent than any shrink-wrapped Linux distribution uses, even Fedora Core 4 (the most up-to-date distribution available at the time of installation). So you're going to have to look forward to updating the kernel, in addition to all the usual Linux installation stuff. The unitThe PCG-C1VFK is a very tiny notebook, based on the Transmeta Crusoe 600 MHz CPU. The CPU is fully x86 compatible, but has some enhancements that can be used by a suitably aware kernel. If you're compiling a kernel yourself, you can select the Crusoe as a CPU option. The graphics system is based on that old favourite, ATI's Rage Mobility, which is now well supported by Linux X implementations (include XVideo, which is vital if you want to play movies). Audio support is provided by a Yamaha YMF754 chip, supported both by OSS and ALSA. There is one CardBus PCMCIA slot, and one USB (1.1) port. It has a built-in bluetooth transceiver, but I've not tried it. Nor have I tried the built-in FireWire port, or the TV out, or the external VGA output (because it requires a special cable that I didn't get with the unit). There is a 12Gb hard drive, and a slot for Sony memory sticks, none of which I have. An interesting feature is the small jogdial, next to the power connector on the right of the keyboard. This can be made to act in the same way as the scroll wheel on a mouse (but I prefer to use a real mouse).So far as I can tell, the Picturebook has no built-in ethernet port, so you'll need to use a firewire, PCMCIA, or USB ethernet adapter. In a way, PCMCIA is the least useful option, because there's only one slot, and you might need it for something else (e.g., a CDROM drive). However, I have a PCMCIA wireless ethernet adapter, and I don't have anything for USB or FireWire, so I'm sticking with what I've got. A potentially interesting feature of the Picturebook is a built-in MotionEye camera. It sits in the lid, and normally points at the operator. Presumably it's intended for video-conferencing, although it can be rotated aware from the operator if desired. I don't have much use for such a feature, and haven't spent any time playing with it beyond what was necessary to make it work. Linux installationInstallation of RedHat Fedora Core 4 from CDROM is straightforward, once you've figured out how to boot from the PCMCIA CDROM drive. The tricky part is preventing the Linux installer getting in the way of the BIOS IDE emulation for this drive -- it works perfectly well as an IDE device, but if you want to treat it as a PCMCIA device, you'll have to boot from a floppy containing PCMCIA drivers, which is a drag. In addition, you'll need to install in console (non-graphical) mode, because the Fedora installer can't figure out the screen resolution, and draws the graphical display too large to fit. There may be some clever way around this, but I couldn't find one.So, after a bit of digging around, the magic command line to give to the installer boot prompt turns out to be: :linux ide2=0x180 nopcmcia textBecause I was planning to use a PCMCIA wireless network adapter, and because I couldn't plug it in during installation (because there's only one PCMCIA slot and it had the CDROM drive connected to it), no network configuration got done during installation. It's not a big deal to run system-config-network
after installation, which is all I had to do to be up and
running. My wireless card is an elderly Hermes/Orinoco, which was
one of the first wireless devices to get Linux support, so it just
worked.
Now the tricky bit. If you install Fedora Core 4, you'll get an
ACPI-aware kernel by default, which means you'll get some sort
of power management. The unit won't blow the fan at full speed or
overheat, most likely. Mine runs at about 40 Celcius under
low load, rising to about 55 celcius under full load, and the
fan whirrs gently, but not obtrusively,
most of the time. But the 2.6.11 kernel supplied with FC4 just doesn't
cut the mustard with suspend-to-disk (or suspend-to-RAM, but I've never got
suspend-to-RAM working with any kernel). You need the machine to be
able to sleep, because a full boot takes ages (minutes).
By upgrading to 2.6.15,
I was able to get suspend-to-disk working. You'll need to compile
this option in (it's not enabled by default), and of course you'll
need to enable modules for all the hardware you plan to run. I just
enabled everything as modules, in the hope that the autoloader would
sort it out at runtime, which has mostly proven to be the case.
The basic process for doing a suspend to disk is to echo disk >/sys/power/stateHowever, you're at the mercy of non-suspendable hardware and drivers if you do that. You need to script the unloading and reloading of all such drivers (which means, in practice, most of them), as well as initiating the suspend. Alternatively, there is a utility called hibernate (Google
is your friend) which automates this, but might still need a bit
of hand-tweaking for troublesome drivers.
I've found that a suspend and a resume each take about 30 seconds, which surely beats the five minutes or so it takes to boot normally. A suspend to RAM takes two seconds, but it doesn't wake up again every other time, so that's not very useful. Watch out -- when you wake up after s suspend, the screen will blank automatically because the kernel thinks enough time has elapsed to invoke the screensaver. So it looks like it's crashed. Of course, it might have crashed, but don't assume it has just because the screen doesn't come back on. The Fedora installer correctly identifies the video hardware, and configures X to use the ati driver. It does not,
however, correctly probe the screen dimensions, and defaults to
640x480. This does fit the screen, but the aspect ratio is
distorted. To use the proper 1024x480 screen mode, you'll need
to add the following Modeline to the Monitor section
of xorg.conf.
ModeLine "1024x480" 65.0 1024 1032 1176 1344 480 488 494 563 -hsync -vsync
In short, once you've figured out the correct installer boot paramters
to get the PCMCIA CDROM to work, installation is by the book, except
for a trivial tweak to the X configuration, and the less trivial
installation of a more recent kernel.
Things that workThe section describe the hardware I've had working, and what I had to do (if anything) to make it work, and which I didn't necessarily expect to be straightforward to get working. Please bear in mind I'm using Fedora Core 4 -- anything less recent might be less successful.VideoThe letterbox screen shape is ideal for playing widescreen movies. I've installed the Fedora RPM of Xine (and all its (considerable) dependencies), and it plays video surprisingly well (surprising, that is, for a 600 MHz CPU with no decode acceleration). It does lose the plot a bit with high-bandwidth or high-resolution movies, but since I generally rip my DVDs to fit the screen of my Archos portable media play (see elswhere on this site), that's not too much of a problem for me. Recent Xine versions cope reasonably well with under-resourced machines -- you get some framedropping, but it generally keeps up.So long as you've got an X video driver that supports the XVideo extension, Xine (and other decent players like Ogle and Mplayer) will use it to scale to fit the full screen without loading the CPU. Without XVideo, the best you can hope for is playback at the encoded size, because this CPU will never be able to scale video in realtime. PCMCIAI've only so far tried my Buffalo wireless ethernet card, and unbranded multi-format memory card reader, and both work fine. The hotplug system in Fedora Core 4 is quite good at enabling and disabling drivers as cards are inserted and removed, but it doesn't hurt to eject cards at the software level if you can.JogdialIf you load thesonypi driver, the jogdial generates
scroll events which many X applications respond to. For example,
Mozilla scrolls up or down three lines for each click of the wheel.
xterm scolls the screen buffer back, in the same way
as clicking the mouse of the scroll bar. This is a useful feature
if you don't have an external mouse.
Power management and battery lifeBy default, the Picturebook screen runs on full brightness, all the time, unless something is done in software to change this. The screen is a major consumer of battery capacity, and you don't necessarily need full brightness. There is a utility calledspicctrl which works in conjuction with the
sonypi kernel driver to adjust the screen brightness
(among other things). If you wanted to be really clever, you could
sample the ambient brightness using the built-in camera, and adjust
yhe brightness on the fly. But that's a job for another day.
Canon IXUS 700 cameraThe version ofgphoto2 supplied with Fedora Core
4 supported my IXUS 700 over USB immediately, although I had
to tell gphoto2 that it was an IXUS 500 (official support for
the 700 is very recent).
Built-in MotionEye cameraThe kernel drivermeye.ko makes this device a
Video4Linux-compatible video source. You can, in principle, capture
images in any format that you have a Video4Linux (V4L) capture utility
for. The meye is compatible with V4L version 2, but most
V4L applications are still using version 1. You can make the meye
driver conform to version 1, by loading it with the module option
forcev4l1=1. I've got reasonable results loading the
module like this:
modprobe meye gbuffers=32 video_nr=0 forcev4l1=1The meye driver has a dependency on sonypi,
which must be loaded with the option camera=1 to enable
the camera. If you're using auto-loading, you'll need to modify your
modprobe.conf or equivalent to ensure that this option
gets appended at load time. I've captured stills and video successfully
at 320x240 resolution; I don't know whether the hardware and the driver
support a higher resolution that this.
The only capture utility I've tried is xawtv, which
works fine when invoked as:
xawtv -c /dev/video0 -geometry 320x240 Software that worksThis is the software I'm currently running on the Picturebook. GIMP v2 -- not blazingly fast, but perfectly useableThunderbird and Firefox -- Some versions of these require libstd++.so.5, while Fedora Core 4 uses libstdc++.so.6. A compatibility module for the earlier version is available from the
RedHat web sit.RealPlayer 10 -- ditto xine -- so long as you've got the XVideo extension working under XFree86/Xorg, xine should play in full screen mode with no increased CPU load JPilot -- synchronization and PIM utility for Palm handheld devices. I use this to manage and syncrhonize data with my Treo 600 cellphone. ICE window manager -- a simple X window manager and program manager. Hugely smaller and faster to load the Gnome and all its little minions, but way more functional than old-fashioned stuff like twn. This can be configured to use very little space
(a few pixels) for window decorations, which is crucial when the
display is only 480 pixels highxpdf and acroread -- PDF viewers. xpdf loads much faster than acroread, but doesn't handle all PDF formats as well xmms -- Fedora Core 4 doesn't have an XMMS plug-in for MP3 format, but if you Google for the xmms-mp3 RPM,
you should be able to rectify that fairly quickly.jpilot and pilot-link -- I could not get the Fedora versions of these to work properly, so in the end I went back to the versions I used with RedHat 9 and these worked fine Not tested yetThe following may work, but I can't comment one way or the other at this stage because I haven't tried them. |
|
|||||||||||||||||||||