(Debian) Linux on the Sony VAIO PCG-838

[This is from 1999-2000. I can't imagine this information would ever again be useful to anyone (installing the version of Linux available in 1999), but back in the day, it was often tricky to get Linux running on new laptops, and it was helpful to share configuration parameters with the community in this way. I found other people's documentation helpful, so I contributed my own, and here it remains.]

Overview: I love it, but I'll never buy another Sony computer because Sony's customer support sucks so much. I love having a laptop, and I'm happy with the one I got, when it works. It's not too heavy or too large, the screen is a decent size, the keyboard is fine, I'm getting used to the trackpad faster than I expected, and it's just been a pleasure to use (though not to have repaired).

What I've written here isn't all that organized, but it does contain some details of my linux configuration experience that might be useful to others.


I played around with Windows for about two minutes, then it locked up. Then I repartitioned the disk, and got rid of Windows. I left myself a 1GB partition for reinstalling Windows in case I feel like watching movies on my laptop, but I'm more likely to use it for music.

Here's a copy of my partition table:

   Device Boot   Start      End   Blocks   Id  System
/dev/hda1   *        1        7    52888+  83  Linux native
/dev/hda2            8      142  1020600    b  Win95 FAT32
/dev/hda3          143      811  5057640    5  Extended
/dev/hda4          812      838   204120   a0  Unknown
/dev/hda5          143      802  4989568+  83  Linux native
/dev/hda6          803      811    68008+  82  Linux swap

If you look at the start and end numbers, you might think this list is sorted oddly. But hda3 is an extended partition; hda5 and hda6 are logical partitions within hda3. I had to do this in order to have more than four partitions.

I put the root filesystem on hda1 (50MB), and put /home, /usr, and /var on hda5 (5GB). I may use hda2 (1GB) for Windows later, or may fill it with music. hda4 (200MB) is at the end of the disk and is used by the suspend-to-disk feature. It comes with that partition set up. Don't delete it, or suspend-to-disk won't work.


The power management options in the BIOS are great. I have lots of ways to optimize the system for power use or speed. I wish I could change these at run-time, or that I could make different profiles for when it's plugged in and when it's running on batteries. I have nothing helpful to say about the BIOS, but I wanted to mention the great power management tweakability.

Features include, but are not limited to, setting the CPU speed (.25,.50,.75,full,auto), three levels of fan use (full,medium,none), timeouts to idle the CPU, spin down the disk, turn off the screen, suspend the whole machine, and a few other things I can't remember.


You can remove and insert batteries all you want, and all the right things happen. You can remove the DVD drive with the machine running, and it doesn't complain. You can insert it at runtime too, but if you didn't boot with it in, you can't use it.

I'm amused that I've had the laptop for two weeks, I've set up X and file synchronization, but I haven't even tested the floppy drive. I just haven't needed it for anything. [months later, this is still true.]

You can change the IRQs through the BIOS settings, which you access by pressing F2 during boot when the Sony logo is up.


It took me a while to get sound working right. It appeared to be an IRQ problem, but I tried every reasonable solution and, although it all appeared to be set up properly, it still wouldn't work. The solution was to upgrade the kernel. I switched from 2.2.1 to 2.2.9, and everything just worked the way it was supposed to.

Not surprisingly, the small speakers are tinny, but with headphones it's excellent. I've heard other people complain about it not being loud enough, but I haven't found this to be true. Perhaps they just haven't adjusted the volume (by pressing Fn-F4, then using the left and right arrow keys). It ships set to 25%, which is pretty soft with the speakers, but good for headphones.


I needed to change the PCMCIA config so it wouldn't use IRQ 3. This turned out to be trivial. Edit /etc/pcmcia/config.opts and uncomment the line:

exclude irq 3


I didn't have an ethernet card when I started, so I just used a serial cable and null modem and ran PPP. The default PPP options file is for use with a modem, so I changed some things around first. I don't remember whether I had to.

The first ethernet card I bought didn't work. It was a Linksys EtherFast 10/100 CardBus, which isn't properly supported by version 3.0.9 of the pcmcia drivers. I hadn't realized there was CardBus and PCMCIA and that they were different, so I didn't notice that I wasn't getting the PCMCIA version. Oops. I went back to the store and exchanged it for the PCMCIA version of the same card, and it works fine.

I'm happy with the Linksys card, not just for its performance, but also for its form. It's not an XJACK, which is good news to me, and the dongle-to-card connector is pretty solid and uses metal clips. I broke the plastic clips on a 3Com card I used to have, so I think this is important.


I had trouble getting X working, but I'm not sure why. The laptop has a NeoMagic NM2200 chipset, which is supported by XFree86 3.3.3. Slink doesn't have that, and slink's xserver-neomagic-1.1.0-1-1 package doesn't support the NM2200, so I had to grab the SVGA server from an XFree86 distribution. That's easy though.

Somehow I still had trouble getting it working. So I installed the older neomagic server package, tried that, discovered it wouldn't work, and tried the newer SVGA server again, and now it works. I don't know what I did differently, but the end story is that you need the SVGA server from XFree86 3.3.3 (or newer).

Here's my XF86Config file. I haven't tweaked anything, and I got the same numbers from several places, so you shouldn't have trouble discovering the same stuff, but here it is anyway, just in case anyone needs it.

Other Software


I'm using rsync to copy files back and forth between my laptop and desktop machines. It makes an otherwise nightmarish task simple and fast. Rather than run rsync by hand, I have a makefile that handles it. It's rather specific to my setup, but ripping off mine might be easier than starting from scratch with your own.


I want to run the bovine client, but not when I'm running on battery power. Maxing out the CPU would suck up power. So I added/fixed a feature in apmd that lets me run an abritrary command when the power switches between battery and external. This feature is included in apmd version 3.0beta8, which is in Debian 2.2 (potato). I have it change to runlevel 3 when on battery power, and have the bovine client set to not run in that runlevel.