Since first I wrote my Gentoo on IBM Thinkpad T41p guide, there are numerous updates to involved software. Features has been added, bugs has been fixed and new bugs appears. Some parts of the old guide has become irrelevant, outdated and simply wrong.
The following is my attempt to update the guide to reflect the current situation.
I’m now switching to fglrx as it now supports software suspend. Now, 3D acceleration, suspending, and hopefully multi head work at the same time. In
/etc/X11/xorg.conf, I added
Option "dpms" under “Monitor” section to enable DPMS. I also added
Option "UseInternalAGPGART" "on" under “Device” section to use kernel’s Agpgart. For some reason, the Agpgart that comes with fglrx is not as stable as the kernel’s. Added
DisplaySize 474 356 under “Monitor” section to keep resolution on 75×75 DPI.
Xv by default is not enabled on fglrx. To enable it, use
Option "VideoOverlay" "on" and
Option "OpenGLOverlay "off" under section “Device”.
To automatically put the video adapter in power saving mode, I put
Option "PowerState" "1" under “Device” section. To get a list of available modes, use
aticonfig --list-powerstates. To disable power saving mode on the fly, use
aticonfig --set-powerstate=2 --effective=now. Please note that different video card has different power saving power states, be sure to use
aticonfig --list-powerstates to see the available power states on your model. My Mobility FireGL T2 has two powerstates, under low voltage mode glxgears runs with a little more than 1000 FPS, and under default state it runs with about 2100 FPS.
- HOWTO ATI Drivers on Gentoo-Wiki
- ATI Unofficial ATI Linux Driver Wiki
- Fglrx on ThinkWiki
- Problems with fglrx on ThinkWiki
- Gentoo ATI Radeon FAQ
- How to make use of Graphic Chips Power Management features on ThinkWiki
CPU Frequency Scaling
With the introduction of ‘conservative’ CPU frequency governor in 2.6.12, it is no longer required to use userspace CPU scaling daemon such as powernowd. Now I just let laptop mode tools change CPU governor to ‘conservative’ when on battery and ‘ondemand’ when on AC power. The
cpufreq-ondemand need to be loaded either statically or loaded as module.
Relevant snippet from
# Should laptop mode tools control the maximum CPU frequency? CONTROL_CPU_FREQUENCY=1 # Legal values are "slowest" for the slowest speed that your # CPU is able to operate at, "fastest" for the fastest speed, # "medium" for some value in the middle, or any value listed in # /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies. BATT_CPU_MAXFREQ=medium BATT_CPU_MINFREQ=slowest BATT_CPU_GOVERNOR=conservative LM_AC_CPU_MAXFREQ=fastest LM_AC_CPU_MINFREQ=slowest LM_AC_CPU_GOVERNOR=ondemand NOLM_AC_CPU_MAXFREQ=fastest NOLM_AC_CPU_MINFREQ=slowest NOLM_AC_CPU_GOVERNOR=ondemand
- How to make use of Dynamic Frequency Scaling on ThinkWiki.
Disabling Disk Syncing
Laptop mode tries to delay write to hard drive but some programs insist on syncing every minute or so. Libnosync solves the problem. Compile it, put
libnosync.so in /usr/lib and add
Embedded Security Subsystem
This works with
tpm_atmel module, it created device
/dev/tpm0. However I have no real use for it.
Hard Drive Active Protection System
This one hasn’t matured yet. It works but requires no small amount of tinkering:
- Install hdaps driver. No problem, any recent kernel already includes this. The driver is called
- Patch the kernel with disk protection kernel patch.
hdapsduser space daemon. Gentoo Ebuild.
khdapsmonKDE tray application. Download and Gentoo Ebuild.
- Upgrade the hard drive BIOS.
- Patch the kernel with unload capabilities check patch.
The last two steps are probably specific only to early version of this hard drive model (Hitachi HTS726060M9AT00).