Linux on Fujitsu's P5020D

Michael Leuchtenburg

Last updated on 2005-02-21.

I am currently hacking on this laptop to make it work properly in Linux. Here are some docs on said hacking. Please contact me if you know anything more!


Table of Contents

Kernel

The vanilla 2.6.9 sources work just fine. I patch in software suspend support. Currently I'm on version 2.1.5 of that.

Touchpad

With the help of a funky driver, I now have the right part of my touchpad being a scroll region. Also, I have the upper right corner being a 2nd button tap. I don't have any of the kernel patches applied.

There is a weird issue where the first time psmouse is loaded, it doesn't detect the pad as a synaptics (compatible) pad, only as a generic PS/2 mouse. If I load the driver, unload it, load it again, unload it, and load it a third time, it gets it right. Why three times? I don't know. I've poked at the code, and it's definitely sending the right messages, according to the specs. The pad isn't responding in the right way, though. For now, just use that hack.

Here's the relevant portion of my XFree86 config:

	Section "InputDevice"
        	Identifier  "Mouse0"
	        Driver      "synaptics"
	        Option      "Protocol" "event"
	        Option      "Device" "/dev/input/event2"
	        Option      "LeftEdge"          "1900"
	        Option      "RightEdge"         "5000"
	        Option      "TopEdge"           "1900"
	        Option      "BottomEdge"        "4000"
	        Option      "FingerLow"         "17"
	        Option      "FingerHigh"        "22"
	        Option      "MaxTapTime"        "180"
	        Option      "MaxTapMove"        "500"
	        Option      "VertScrollDelta"   "100"
	        Option      "HorizScrollDelta"  "100"
	        Option      "MinSpeed"          "0.02"
	        Option      "MaxSpeed"          "0.14"
	        Option      "AccelFactor"       "0.001"
	        Option      "EdgeMotionSpeed"   "40"
	        Option      "UpDownScrolling"   "1"
	        Option      "TouchpadOff"       "0"
	        Option      "LockedDrags"       "0"
	        Option      "SHMConfig"         "on"
	EndSection

With these settings, I have the two corner clicks, a vertical scroll area and a horizontal scroll area.

Power Management Support

It would be nice to have ACPI S3 support, but I don't, at least yet. I can put it to sleep, but it never wakes up. The acpid package on Gentoo will shut down the system if the power button is pressed by default. Note that a button press event is not sent at all if the lid is closed.

swsusp2 does work for suspend.

The batteries are also accessible through ACPI. There is, however, no temperature data accessible through ACPI

I have some minimal power management of the CPU working using cpudynd. All this does, though, is hop between the powersave and performance governors depending on load. I have yet to find anything that will do proper userspace governance.

I intend to set up some power management for the hard drive, but I haven't yet.

Intel 855GM Graphics Adaptor

The i855gm is reasonably well supported in Linux at this point. You will need the i915 DRM driver. DO NOT use the i830 driver, as it will cause X to crash. The i915 driver works just fine. You'll also need intel_agp

One thing that this driver combo doesn't do quite right is the full 1280x768 resolution. This can be fixed with a simple video BIOS patch, which you will need to run every time you boot, even if you're resuming.

Get the patch (local mirror) courtesy of deyzarc on the leog.net forums.

Video Out

I now have the video out working, albeit a bit hackily. I haven't been able to get the output mirrored, but at least I can output video.

I have another screen configured in my xorg.conf. It sets the resolution to 800x600 (the max for the video out) and uses the second video pipeline. You can tell it what monitors are hooked up to what pipeline using Option "MonitorLayout" in the Device section.

I suggest taking a look at my xorg.conf for the details.

I had some issues at first with auth cookies. I ran "mcookie|sed -e 's/^/add :1 . /'|xauth -q", and started X with -auth $HOME/.Xauthority", and the problem was solved. You may or may not run into the same problems.

Once you have that set up, simply run:

X :1 -auth $HOME/.Xauthority -layout TV &

Then you can start programs, including a window manager if you like, on the other screen. You'll need to change to the appropriate virtual console - probably 8 - before anything will display, though.

Built-In Wireless Adaptor

The P5020D has an Atheros AR5004 802.11g adaptor built in. There are a couple of worthwhile drivers for this adaptor.

Hot-Swappable Optical Drive

The drive on the P5020D can be hot swapped quite easily. The hdparm package comes with a script called idectl. If you run this script like so:

idectl 1 rescan

after inserting the drive, the system will find it. You don't need to bother doing anything when removing it, but running that command again should make it realize that it's gone, I think. It Works For Me(tm), and probably will for you as well.

Also, burning works just fine. I've used cdrecord on it, and I'm sure cdrdao would work fine too.


As I said before, if you have any more information, please contact me with it! I will be happy to incorporate any useful information here, and also into my config.

This page copyright Michael Leuchtenburg.