Installing Ubuntu 7.10 (Gutsy Gibbon) Tribe on a ThinkPad R61

From ThinkWiki
Revision as of 07:04, 2 March 2008 by Billgian (Talk | contribs) (Links)
Jump to: navigation, search

Update 9/19/07 So, it's been a while and I haven't reinstalled but I have been constantly updating my system. The system seems much more stable now and only once in a while will the updates cause some kind of glitch which is usually fixed on the same day. The laptop is now running Compiz-Fusion and preformance is much much better. ACPI has been broken for a while and I didn't really bother with fixing it. Evolution with the exchange connector has become so reliable that the only problem that remains is the Global Address list on a remote station which I can't get to work. I know that there was concern regarding the audio fix and mic/headphone function. They work fine although the internal mic is a bit low on volume (this may be related to hardware and not software). The headphone jack and mic jack preform great! That's it. I will surely post an alternative tutorial once I reinstall the laptop from scratch.


Installing Ubuntu on a Thinkpad R61 There are many problems with installing Ubuntu on the R61 since it uses the latest hardware (mostly unsupported by linux at this point)

First I chose to install Gutsy which includes the latest intel video drivers, xorg and the latest alsa as well.

I chose to use the alternate install CDs (installing in text mode is less likely to fail) when I tried to install feisty I had to add the irqpoll switch == at boot but there is no need in gutsy for this. Aside from this the install went pretty smoothly and I chose to keep the IBM/Windows bootloader so I wouldn't loose Rescue and recovery.

Next step was getting video up to par. Video works fine out of the box using the vesa driver but i wasn't able to get beryl up on the vesa driver so I ventured and used the new intel opensource drivers. My xorg.conf is posted below. They work fine but have a little bug in gnome where the resolution is 1280x800 at the bottom of the screen but on the top it thinks it's 1024x768. The xorg.conf has the correct resolutions and the upper right corner is usable but gnome still believes the resolution is at 1024x768. Notice the short top panel in the screenshot.Screenshot.png Screenshot1.png


The next step is getting the sound up and running. I used the latest patch for the AD1984 codec by Takashi found hereand there is a small script which was put out for the T61 which enables the sound. I have posted the python script at the bottom. Simply save the file to your HD and run the python script as root, you can later run it at boot so you have sound all the time. After that the sound works great. I haven't tested the Mic yet but the speakers work.


Wireless worked out of the box but there are still a few bugs in Gutsy regarding the keymanager and the wifi applet. This is the first post I am putting up so I am a bit lost on organizing and uploading screenshots and links. I will try to update and add all the missing info.

Update 9/13/07

I did a fresh install of Gusty today, and sound worked without patches after following the audio directions on the T61 installation page to configure the volume control applet.


Update 8/3/07 - Screen bug fixed ==

just add the following to xorg.conf:


Section "Monitor" Identifier "TVOutput" Option "Disable" "true" EndSection


and then in the Device Section add the following

Option "monitor-TV" "TVOutput"

xorg.conf

# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf(5) manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg

Section "Files"
	FontPath	"/usr/share/fonts/X11/misc"
	FontPath	"/usr/share/fonts/X11/cyrillic"
	FontPath	"/usr/share/fonts/X11/100dpi/:unscaled"
	FontPath	"/usr/share/fonts/X11/75dpi/:unscaled"
	FontPath	"/usr/share/fonts/X11/Type1"
	FontPath	"/usr/share/fonts/X11/100dpi"
	FontPath	"/usr/share/fonts/X11/75dpi"
	# path to defoma fonts
	FontPath	"/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
	Load	"i2c"
	Load	"bitmap"
	Load	"ddc"
	Load	"dri"
	Load	"extmod"
	Load	"freetype"
	Load	"glx"
	Load	"int10"
	Load	"vbe"
EndSection

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"CoreKeyboard"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"us"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
	Option		"CorePointer"
	Option		"Device"		"/dev/input/mice"
	Option		"Protocol"		"ImPS/2"
	Option		"ZAxisMapping"		"4 5"
	Option		"Emulate3Buttons"	"true"
EndSection

Section "InputDevice"
	Identifier	"Synaptics Touchpad"
	Driver		"synaptics"
	Option		"SendCoreEvents"	"true"
	Option		"Device"		"/dev/psaux"
	Option		"Protocol"		"auto-dev"
	Option		"HorizScrollDelta"	"0"
EndSection

Section "InputDevice"
	Driver		"wacom"
	Identifier	"stylus"
	Option		"Device"	"/dev/input/wacom"
	Option		"Type"		"stylus"
	Option		"ForceDevice"	"ISDV4"		# Tablet PC ONLY
EndSection

Section "InputDevice"
	Driver		"wacom"
	Identifier	"eraser"
	Option		"Device"	"/dev/input/wacom"
	Option		"Type"		"eraser"
	Option		"ForceDevice"	"ISDV4"		# Tablet PC ONLY
EndSection

Section "InputDevice"
	Driver		"wacom"
	Identifier	"cursor"
	Option		"Device"	"/dev/input/wacom"
	Option		"Type"		"cursor"
	Option		"ForceDevice"	"ISDV4"		# Tablet PC ONLY
EndSection

Section "Device"
	Identifier	"Generic Video Card"
	Driver		"intel"
	BusID		"PCI:0:2:0"
	Option "AddARGBGLXVisuals" "True"
	Option "DisableGLXRootClipping" "True"
	Option "XAANoOffscreenPixmaps"
	Option "UseFBDev"
	Option "TripleBuffer" "true"
EndSection

Section "Monitor"
	Identifier	"Generic Monitor"
	Option		"DPMS"
	Modeline "1280x800@60" 83.91 1280 1312 1624 1656 800 816 824 841
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Device		"Generic Video Card"
	Monitor		"Generic Monitor"
	DefaultDepth	24
	SubSection "Display"
		Depth		1
		Modes		"1280x800" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		4
		Modes		"1280x800" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		8
		Modes		"1280x800" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		15
		Modes		"1280x800" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		16
		Modes		"1280x800" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		24
		Modes		"1280x800" "1024x768" "800x600" "640x480"
	EndSubSection
EndSection

Section "ServerLayout"
	Identifier	"Default Layout"
	Screen		"Default Screen"
	InputDevice	"Generic Keyboard"
	InputDevice	"Configured Mouse"
	InputDevice     "stylus"	"SendCoreEvents"
	InputDevice     "cursor"	"SendCoreEvents"
	InputDevice     "eraser"	"SendCoreEvents"
	InputDevice	"Synaptics Touchpad"
EndSection

Section "DRI"
	Mode	0666
EndSection

Section "Extensions"
    Option "Composite" "true"
EndSection

Audio Script

#!/usr/bin/env python

# Andrew Clunis <aclunis@infoglobe.ca>

# Stupid userspace workaround for intel-hda breakage in kernels (at least)
# 2.6.20 to 2.6.22 on the ThinkPad T61.  Breakage in the driver causes all
# audio out to be permanently muted.

# I noticed, however, that I could hear perhaps 250 ms worth of music
# whenever the PC speaker was sounded (although, conveniently, not the tone
# itself).

# Just run this program as root and your speakers (but not microphone or 
# earphone jacks) will magically work.

KIOCSOUND = 0x4B2F

import fcntl, sys

import time

# Do a constant beep.
# Reset the beep every five seconds, in case it is cleared by another program.
while(True):
    fd = open("/dev/console")
    fcntl.ioctl(fd, KIOCSOUND, 500)
    fd.close()
    time.sleep(5)

Category:R61

External Links