Linux vs Sony VAIO PCG-FXA32 effort
By Brian Litzinger (last updated 10/05/2002)

FXA models and their major differences:

Model CPU Hard
Drive
RAM Optical
Drive
Screen
FXA49 Athlon 4 1.2 GHz 30 GB 512 MB DVD/CDRW 15.0" XGA
FXA47 Athlon 4 1.0 GHz 20 GB 256 MB DVD/CDRW 14.1" XGA
FXA36 Athlon 4 1.0 GHz 20 GB 256 MB DVD/CDRW 15.0" XGA
FXA33 Duron 900 MHz 15 GB 128 MB DVD/CDRW ??.?" XGA
FXA32 Duron 900 MHz 15 GB 128 MB DVD/CDR 15.0" XGA
Sony's model comparison page

Fried CPU Warning, read under ACPI below

If Linux hangs/crashes/reboots after installation on your FXA, or you just want to know more about the problem of distributions that include early 2.4 kernels click here.

New Stuff

(18-oct-2002) Upgrading my Duron 800 MHz to a mobile Athlon 1600 (CPU upgrade)

(04-oct-2002) Got Software Suspend working under 2.4.19 (see Software Suspend)

(01-sep-2002) Got built in modem working (see modem)

(04/29/2002) I suspended-to-RAM successfully twice! (see APM)

(03/1/2002) Sony says FXA are available again (yeah!)

(02/23/2002) Sony says FXA notebooks are temporarily unavailable (shortage?)

(01/26/2002) NTSC video-out works!

(01/24/2002) XFree86 4.2.0 & gatos ati.2-4.2.0 work fine.

(01/12/2002) Got mplayer 0.60 (release) working with both xv (via gatos ati.2) and SDL. So you can have hardware video overlay, hardware scaling, full screen, and just about zero cpu usage!

Sony PCG-FXA32 (also called the PCG-974L)
CPUAMD Duron 900
AMD Athlon 1600
Works
Works
RAM128MB
expandable to 512MB
via 2 SODIMM sockets
Works
x16 Memory
Only
VideoATI RAGE Mobility-M1
8MB SDRAM
XFree86 4.2.1 Works
DRI (3D) a little
Xv no (yes with alternate driver)
EthernetRealtek 8139tooWorks
Audiovia82c686Works, /dev/dsp Only!
No /dev/audio support, unless you install OSS, or ALSA
Video Out Works
Video In N/A
Fire-WireS400Works
USBusb-uhciWorks
OpticalDVD/CDRWorks
ModemInternal WinmodemUnknown
PCMCIACardBus
2 type II slots
Works
APM Standby/Resume
freezes machine
ACPI works a
little
Software
Suspend
 works w/2.4.18
works w/2.4.19
OSRedhat 7.1
Redhat 6.2
Redhat 7.2
Mandrake 8.2
Debian 2.2
Redhat 7.3
works fine
dies during boot
freezes during boot (here is a solution)
works fine
works fine
works fine

Here are some .config files for various kernels

2.4.17
2.4.18
2.4.19

If you plan to use one of them please read these notes.

Here is a copy of my XF86Config-4 file for XFree86 4.1.0/4.2.x. It includes support for a USB mouse with wheel in addition to the laptop's touchpad. If you plan to use it please read the .config notes above.

Some related links.

Overview

Most of this laptop works well with Linux. I am overall very satisified with its performance, and except for the debacle of trying to install RedHat 7.2 on it, things went pretty smoothly. I'm running RedHat 7.1 myself.

I certainly hope I am able to get APM standby/resume working.

The laptop also includes a video (NTSC) out port. May support PAL too, can't test that myself.

Video

I was excited by the ATI RAGE Mobility M1 because its among the video chipsets supported by XFree86 DRI (direct rendering interface), so hopefully I'd be able to use the hardware 3D acceleration of the chipset.

Xv (X video extensions) are not supported in the standard drivers that come with XFree86 4.1.0 or 4.2.x, however, there is an alternative driver called ati.2, available at gatos.sourceforge.net which does support Xv. Many aplications require Xv to support hardware video overlay which reduces CPU usage and PCI/AGP bus usage. However, if you are only interested in running mplayer you can stick with the standard driver and use the sdl driver.

Well, 3D acceleration isn't directly supported yet. There is a mach64 DRI (3D) driver under development different from the ati.2 driver mentioned earlier. I've gotten it running on my laptop with speed ups of 2 to 10 times in rendering of various MESA demo programs. If you want to give it a try visit Jose Fonseca's site and download the latest mach64... tar file, then follow the directions in there.

SDL 1.2.1 works fine, and if you build mplayer with it you'll be able to run full screen with hardware scaling.

XFree86 4.0.3, 4.1.0 & 4.2.x work fine on the laptop.

NTSC/PAL Video Out

At least NTSC works! All you have to do it use the supplied cable, connect the yellow jack to the video input of your TV, and push Fn-F8 a few times.

You can get simultaneous video out and display on your LCD panel.

Clearly the laptop scales the active video to fit within the bounds of the video signal. So even if you run 1024x768 it all appears in the active period of the video signal. However, your TV may not be able to resolve resolution that high, so you'll probably need to run at a lower resolution. NTSC TVs are limited to about 480 vertical lines no matter how clever you are.

I'm guessing on this next point, but it seems that the video going out uses some of the timing set for the LCD panel. LCD panels technically don't need what is called 'retrace time', so I for one, don't supply it with any. On the other hand, your TV needs some. So you may need to adjust your LCD panel timing sync periods to make sure you supply enough for your TV.

NTSC/PAL Video In

I don't believe the laptop supports video-in, though it does have some video in components inside. On the other hand, firewire works fine so get a DV camcorder with firewire if you need video-in.

I believe there are also Video to DV adapters.

I read some place that some laptops can work with a magic PCMCIA card which connects to some magical port inside the computer and lets you capture video. No idea if the FXA supports this. There is a 'km' driver from the gatos project which recognizes the remnants of video capture circuitry inside the FXA. However, since there is no video-in connector I don't know how far you'll get with this.

Audio

There are 3 drivers which support the VIA sound system on the FXA laptiop and all are reported to work. I believe the chipset is the via82c686.

RAM

The F-series uses x16 memory as it seems to be called. Other memory that I ordered from a brand-less shop, which claimed "best type" works with all Sony laptops, did not. On the other hand, memory sold specifically for the F series worked fine.

I now have 384MB (added a 256MB x16 SODIMM from http://www.kommax.com) which works fine.

USB

So far I've plugged in and had working a Visor PDA, my Kodak DC-265 still camera, a Zoom USB CPIA Camera, an HP 4100C scanner, a Sandisk SDDR-31 Compact Flash reader (there is a known outstanding bug in the USB support of this device), and a Logitech USB "Optical" mouse.

FireWire

The OCHI driver recognized the Texas Instruments FireWire controller. I successfully downloaded video from my SONY DCR-VX700 video camcorder using dvgrab and played it back with xdvplay, mplayer, and kino.

On note though, when playing the AVIs downloaded from my camcorder with mplayer I have to use the -nobps option in order to have the audio and video properly synchronized.

I successfully mounted a Maxtor fire-wire drive using the sbp2 driver.

Optical DVD/CDR (DVD/CDRW on most models)

mplayer 0.60 works fine playing DVDs, though you should really get the CVS version. The CVS version has lots and lots of improvements. You'll need to build mplayer with libdvdread and possibly libdvdcss which are available as part of the Ogle project.

xine, another video player, also works. I had a harder time getting this to work, but it does work. Make sure to use the xv driver with xine, which means the ati.2 driver mentioned in the Video section.

A success burning a CD was reported using XCDroast from Mandrake 8.1.

cdrecord may require some configuration changes on your system.

There are two drivers which might take control of your DVD/CDRW. ide-cd (the ATAPI driver) and ide-scsi. You need ide-scsi to control your DVD/CDRW if you want to burn CDs.

Now I don't have a CDRW in my FXA32 8-(. But the following has been suggested and is what I use on another laptop:

If you have things compiled as modules, make sure the following are enabled and compiled: CONFIG_BLK_DEV_IDESCSI=m, CONFIG_SCSI=m, CONFIG_BLK_DEV_SR=m, CONFIG_CHR_DEV_SG=m

add the following to /etc/modules.conf (or conf.modules)

alias scd0 sr_mod.o
alias scsi_hostadapter ide-scsi
options ide-cd ignore=hdc

The last line tells the ide-cd driver to ignore device hdc. You might check the output of dmesg to make sure your DVD/CDRW is in fact device hdc. If your unit is on a different device adjust the lines above as appropriate.

The system will automatically load most of the right modules, except for sg, the scsi-generic layer. So you will probably have to issue the command:

/sbin/modprobe sg

at some point. Some clever person could probably add another line to modules.conf to get this to happen automatically.

ok, after all that, issue the command cdrecord -scanbus, and your CDRW should show up as target 0 or 1. If so congratulations. You should now be able to burn CDs with cdrecord, or any tool based on cdrecord.

If you are not using modules, simply don't include IDE-CD. (I.E. make sure CONFIG_BLK_DEV_IDECD is not set in your kernel .config file, and make sure the following are set CONFIG_BLK_DEV_IDESCSI=y, CONFIG_SCSI=y, CONFIG_BLK_DEV_SR=y, CONFIG_CHR_DEV_SG=y).

Lastly, now that your CDRW is controlled by the ide-scsi driver you should create a softlink to the new device
rm /dev/cdrom ; ln -s /dev/scd0 /dev/cdrom

Internal Modem

The internal modem is a winmodmem. You can get the drivers from Marc Boucher's website.

Make sure to get the HSF driver. The chipset is identified as

Selected PCI VendorID=1106 DeviceID=3068
and INF file /etc/hsf/inf/linux_via_smartmc.inf
Some people suggest forgetting about the on board modem, and getting a real PCMCIA modem. However, the on-board modem has worked for me well enough to send IP packets back and forth via PPP.

APM

I've finally gotten APM suspend-to-RAM to work!

It required that I upgrade my laptop's BIOS. This is so dangerous that I'm not going to tell you how to do it.

I'm running XFree86 4.2.x with the gatos ati.2 driver. If I hit Fn-ESC the laptop still crashes in a way that requires a reboot.

However, if I switch to a text console before suspending, it works fine. When I later resume, I simply switch back to the X console. Works great.

I've gotten reports from others with the latest BIOS that suspend-to-RAM works fine with XFree86 4.1.0.1 with the standard ati driver.

A gentleman with an FX102 reports that APM standby/resume works if he compiles with a VESAFB console, and runs X11 in VESA mode. However, VESA X11 it not accelerated so I'm not sure if this helps much. On the other hand, it does lead one to believe that the lockups are related to the display.

ACPI

If you are going to run with ACPI, it is highly recommended that you download and install the acpid daemon. This is necessary in order for Linux to turn the CPU fan on and off.

Running kernel 2.4.19-pre5-ac3 and the acpid daemon, ACPI does at least turn the CPU fan on and off some of the time, which the ACPI people say is very important.

There are two places you can get the acpid daemon from. One, acpid.sf.net and two, phobos.fs.tum.de. I have no idea which is the "right" one. Nowadays, I'm running the one from sf.net.

Some reports of machines running ACPI not actually turning off after power down or shutdown. I found this behavior with the ACPI included with 2.4.20-pre5. The ACPI project at Source Forge has a patch which updates ACPI and with that patch my laptop powers off correctly.

There are also some patches going around which apparently enable additional cooling. Basically you can issue the command setpci -v -H1 -s 0:0.0 52=EB to enable it, and setpci -v -H1 -s 0:0.0 52=6B to disable it.

There are no reports of success with standby(sleep)/resume. Systems lockup on resume(wakeup).

In the early days (2.4.18), I occasionally found my laptop "red" hot, even when I do all the things listed above. Powering off, and back on, the BIOS turns the CPU fan on. 2.4.19 and later seems to operate the fan correctly.

lvcool

I no longer run the lvcool application which can put the CPU into an energy saving mode while idle. ACPI seems to correctly implement this as of the version mentioned above.

Software Suspend

There is a cool utility called swsusp which allows you to do a software suspend within the kernel without relying on the BIOS or ACPI to do it for you. The problem I ran into is that 'gpm' breaks the keyboard under X on restore from suspend. A quick fix is to '/etc/rc.d/init.d/gpm stop' before entering software suspend.

I'm running software suspend successfully with 2.4.18 and 2.4.19. I have not been able to get 2.5.40 to work.

To build a nice kernel with software suspend working under 2.4.19 I used:

linux-2.4.19.tar.bz2
patch-vanilla-2.4.19-swsusp1.gz
acpi-20020918-2.4.19.diff.gz
I think there are some already applied patch errors which can be ignored (answer 'n' to all questions if patch asks)

CPU Upgrade

I upgraded my CPU to an AMD mobile athlon 1600. All seems fine. Before upgrading the CPU I flashed the latest BIOS. A terrifying experience. I'm not going to tell how to do either, but there are some nice sites out there that will tell you exactly what to do if you really want to risk destroying your laptop. I was able to get the mobile athlon 1600 from ithinkcomputers.cc.

Linux hangs/crashes/reboots after installation

Basically, distributions of Linux like Redhat 7.2, Mandrake 8.1, etc, that include early 2.4 kernels will not work well with the FXA series if you use or choose to use an early 2.4 kernel. Your laptop will likely hang, crash, or reboot during the boot of your freshly installed distribution.

How to fix?

Notes on using my kernel .config

Related Links

Brad Hite's Windows-centric FXA info (a little Linux too)
Linux on the Sony VAIO FX405 (similar to N. American FXA36)

Brian Litzinger
Valid HTML 4.01!