Skip to content

Instantly share code, notes, and snippets.

@nicodds
Created May 11, 2010 17:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nicodds/397582 to your computer and use it in GitHub Desktop.
Save nicodds/397582 to your computer and use it in GitHub Desktop.
#!/bin/bash
PACKAGES_URL='http://dl.dropbox.com/u/1338581/Gma500/deb_lucid'
PSB_PACKAGES=(
'libdrm-poulsbo1_2.3.0-1ubuntu0sarvatt4~psb_i386.deb'
'libdrm-poulsbo1-dbg_2.3.0-1ubuntu0sarvatt4~psb_i386.deb'
'libva1_0.31.0-1+sds9.1_i386.deb'
'libva1-dbg_0.31.0-1+sds9.1_i386.deb'
'poulsbo-config_0.2_all.deb'
'psb-firmware_0.31-0ubuntu1~910um1_all.deb'
'psb-kernel-source_4.42.0-0ubuntu2~1004um1_all.deb'
'xpsb-glx_0.18-0ubuntu1netbook1_i386.deb'
'xpsb-glx-dbg_0.18-0ubuntu1netbook1_i386.deb'
'xserver-xorg-video-psb_0.36.0-0ubuntu3~1004um2_i386.deb'
'xserver-xorg-video-psb-dbg_0.36.0-0ubuntu3~1004um2_i386.deb'
)
# initialize sudo
initialize_sudo () {
sudo true
}
# Blacklist
blacklist_modules () {
echo -n "Blacklisting unneeded modules... "
echo "blacklist i915
blacklist vga16fb" | sudo tee -a /etc/modprobe.d/poulsbo.conf > /dev/null
echo "DONE"
}
# Fix framebuffer
fix_fb () {
echo -n "Applying framebuffer fix... "
sudo sed -i 's/no_fb=1/no_fb=0/g' /etc/modprobe.d/poulsbo.conf
echo "DONE"
}
# Fix battery
fix_battery () {
echo -n "Applying battery status fix... "
test -d $HOME/.config/autostart || mkdir $HOME/.config/autostart
echo "[Desktop Entry]
Type=Application
Name=Battery fix
Exec=cat /proc/acpi/battery/BAT1/info
Icon=
Comment=" | tee /home/$USER/.config/autostart/batteryfix.desktop > /dev/null
echo "DONE"
}
# Xorg
fix_config () {
BACKUP_FILE=/etc/X11/xorg.conf.$(date +%Y%m%d%H%M%S)
echo -n "Updating xorg configuration file (a backup copy will be placed in ${BACKUP_FILE})... "
sudo mv /etc/X11/xorg.conf $BACKUP_FILE
echo 'Section "Device"
Identifier "GMA500"
Driver "psb"
Option "ShadowFB" "true"
#Option "DownScale" "false"
#Option "ExaNoComposite" "false"
#Option "ExaMem" "131072"
#Option "ExaScratch" "4"
#Option "ExaCached" "false"
#Option "IgnoreACPI" "true"
#Option "LidTimer" "false"
#Option "MigrationHeuristic" "greedy"
#Option "NoAccel" "false"
#Option "NoFitting" "false"
#Option "NoPanel" "false"
#Option "SWcursor" "false"
#Option "Vsync" "false"
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Disable"
#Option "RENDER" "Disable"
EndSection
Section "ServerFlags"
#Option "AIGLX" "off"
#Option "IgnoreABI" "off"
EndSection' | sudo tee /etc/X11/xorg.conf > /dev/null
echo "DONE"
}
# Update Initramfs
update_initram () {
echo -n "Updating initram... "
sudo update-initramfs -u &> /dev/null
echo "DONE"
}
# prepare system
prepare_system () {
echo -n "Preparing your system... "
sudo apt-get remove --purge -y --force-yes poulsbo-* psb-firmware psb-kernel-* xpsb-glx* xserver-xorg-video-psb* libdrm-poulsbo1* libva1 libva1-* > /dev/null
sudo apt-get install -y --force-yes dkms fakeroot
echo "DONE"
}
# Wget packages
download_packages () {
for pkg in ${PSB_PACKAGES[@]}; do
echo -n "Downloading package ${pkg}... "
if test -e /tmp/${pkg} ; then
echo "DONE (cached)"
continue
fi
if wget -q ${PACKAGES_URL}/${pkg} -O /tmp/${pkg}; then
echo "DONE"
else
echo "FAIL"
fi
done
}
# Install packages
install_packages () {
for pkg in ${PSB_PACKAGES[@]}; do
echo -n "Installing package ${pkg}... "
if sudo dpkg -i /tmp/${pkg} >/dev/null; then
echo "DONE"
else
echo "FAIL"
fi
done
}
setup_system () {
blacklist_modules
fix_fb
fix_battery
fix_config
update_initram
}
##########################################################
echo "Lucid GMA500 Poulsbo drivers install script"
initialize_sudo
echo -e "\nSTEP 1"
prepare_system
echo -e "\nSTEP 2"
download_packages
echo -e "\nSTEP 3"
install_packages
echo -e "\nSTEP 4"
setup_system
echo -e "\nEnjoy Ubuntu!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment