Installing Ubuntu Jaunty Jackalope (9.04) on an X301

From ThinkWiki
Revision as of 10:41, 24 April 2009 by Tp42 (Talk | contribs) (Power Mgmt)
Jump to: navigation, search

Please improve on this preliminary effort.

Overview

Installation was done with a fresh Ubuntu 9.04 (x86, 32 bit).

Keyboard

pretty much all of the fn+... keys work (not all tested yet) tested: lock screen, brightness, sleep, hibernation, battery status, thinklight

Ethernet

Works out of the box.

Wireless

Works out of the box.

Fan

It is spinning lightly (2000-5000 rpm) almost all the time, rather the same situation as on Windows XP. To get the X301 silent and cool, ThinkPad Fan Control may be a solution. However, a X301 fan profile is still missing. (Perhaps someone might provide a profile?)

Power Mgmt

Seems to work fine - not fully tested yet.

Display

Works fine OOB

Suspend and Hibernate

Closing the lid puts the machine to sleep, i often managed to resume from ram but i also got frozen (mouse moveable but switching to console doesn't work, screen remains black except for the pointer (i have a black screensaver)) - caution here (solution below) - The Installing_Debian_(stable)_on_an_X300#Suspend_.26_Hibernate article suggests removing the e1000e module which i haven't tried but may help. The 2.6.28-rc3-git1 kernel features a suspend fix for the iwl-agn (wireless) driver, so if that was an issue, it might be gone with the next kernel (not shipped with ubuntu 8.10)

This script offers a solution to the black-freeze-on-resume problem. my suspend now works flawlessly

Sound

Works out of the box .


Untested remain:

  • usage with a sound server (esd)
  • microphone
  • headphone

Camera

works fine in ekiga (green LED lights up as well) if it doesn't work you might want to try

sudo adduser youruser video

Graphics Chipset and Driver Information

GM45

The chipset is called: Mobile Intel® GM45 Express Chipset

It was initially referred to as IGD_GM "Intel Integrated Graphics Device" in the Intel driver

Next, support for G4X "Intel 4 series chipsets" was added

IGD_GM was then renamed to it's official name GM45

Finally, the defines IS_GM45 were merged into IS_G4X because they are identical as at 2008-11-06.


Direct Rendering Infrastructure

DRI is supported with the package libgl1-mesa-dri

The DRI driver is i965 http://dri.freedesktop.org/wiki/Intel

$ grep AIGLX:\ Loaded /var/log/Xorg.0.log
(II) AIGLX: Loaded and initialized /usr/lib/dri/i965_dri.so

The DRM driver is i915

$ lsmod | grep drm
drm                   110304  3 i915

External Displays

vga port works as expected. you can activate it through xrandr or the screen resolution preferences.

with xrandr HDMI-1 shows up as well, but i couldn't test it yet (no adaptor/displayport device)

untested:

  • displayport

Display port may not yet be supported by the intel driver: http://lists.freedesktop.org/archives/xorg/2008-July/037375.html. There have however been commits since then mentioning displayport.

The follow xorg.conf works with an external 24" dell display connected via VGA:

Section "Device"
   Identifier      "Intel GM45 Express"
   Driver          "intel"
   Option          "monitor-VGA"   "DELL2407WFPHC"
   Option          "monitor-LVDS"  "Laptop"
EndSection
Section "Monitor"
   Identifier      "DELL2407WFPHC"
   Option          "PreferredMode"  "1920x1200"
#   Option          "Left Of" "Laptop" # causes crash on intel 2.5
EndSection
Section "Monitor"
   Identifier      "Laptop"
EndSection
Section "Monitor"
   Identifier      "HDMI-1"
   Option          "Ignore"  "true"
EndSection
Section "Screen"
   Identifier      "Default Screen"
   Device          "Intel GM45 Express"
   Monitor         "Laptop"
   DefaultDepth    24
   SubSection "Display"
       Depth       24
       Virtual     3360 2100
   EndSubSection
EndSection
Section "ServerLayout"
   Identifier      "Default Layout"
   Screen          "Default Screen"
EndSection

Compiz / 3D Acceleration

Works OOB, requires p

The Intel i965 driver supports 8192x8192 resolution in the Intrepid packages, however the mesa dri driver libgl1-mesa-dri currently only supports 2048x2048. This means is your combined resolution is greater than that (i.e you have an external display attached), mesa eyecandy will be disabled.

Bug link: https://bugs.launchpad.net/bugs/146298

$ glxinfo -l | grep 2048
GL_MAX_TEXTURE_SIZE = 2048


There is crude patch which has had mostly positive feedback, but no-one seems to be sure: http://lists.freedesktop.org/archives/xorg/2008-April/034707.html. I've not tested it yet. It's also not clear when it will be fixed upstream.

Boot time

  • 12sec from power to GRUB
  • 22sec to GDM, 18sec with tweaked readahead
  • 29sec from GDM into fully loaded session, 28sec with readahead (seems awfully slow to me.. fluxbox takes like 2sec..)

Improvements

Native Upstart boot

Since i'm using this one i even ditched boot-readahead (still using desktop-readahead though) Described here

Concurent loading

edit /etc/init.d/rc set CONCURRENCY from none to shell

CONCURRENCY=shell

note that after some testing i've switched back to the none value, as some startups weren't clean

Readahead

install readahead

sudo apt-get install readahead

profile your GNOME login (instructions: [1], then filter out all files under 100kb (guessed number, feel free to experiment). i filtered out small files since access times on SSD is very good, throughput not. The linked page states about loading in Xsession.d, forget about that and put your profiled files in /etc/readahead/boot and /etc/readahead/desktop. This will cause the boot process to profit and the desktop-files to load earlier (before X starts) to create a boot file, append "profile" to the GRUB prompt

filter out the small files boot file:

cat boot | xargs -i ls -lk {} | sort -rn -k +5 | awk "{print(\$8)}" > boot.sorted

now delete any line below the wanted threshold from the sorted file (i took "dash" as masker with 104kb) since the boot file is ordered, we want to keep that order

cat boot | while read line; do grep "$line" boot.sorted >> boot.new; done;

same for the desktop file:

cat desktop | xargs -i ls -lk {} | sort -rn -k +5 | awk "{print(\$8)}" > desktop.sorted

remove lines from sorted file...

cat desktop | while read line; do grep "$line" desktop.sorted >> desktop.new; done;

Fingerprint Reader

Doesn't currently work as it's an AthenTec and not a Thompson chip.

Minimalistic installation instructions

The system you are installing when following these instructions will be a good starting point if you want a clean ubuntu system without all the bloat (which you may of course add yourself). For a simple installation just download and install the desktop version of ubuntu 8.10 (beta)


Credits

Article skeleton from the Ubuntu 8.10 on X301 article of Blk - Thanks a lot for your work!

Last Revision 24. April 2009 by User tp42.