Ubuntu 7.10 on Asus G1S

What Works and What doesn't

For the most part, Ubuntu works extremely well on this laptop. Here is a quick breakdown of what works and what doesn't:

UBUNTU 7.10 SUPPORT FOR ASUS G1S MAIN FEATURES
PERIPHERAL SUPPORT NOTES
Display Yes Install nVidia drivers for optimal performance
Webcam Yes Requires tweaking
Touchpad Yes
CD/DVD burning Yes
Speakers Yes
Microphone Yes
LAN Ethernet Yes
Wireless Yes
Bluetooth Yes
USB Yes
Firewire ? Not tested
eSATA Yes Works, but without hotswap
Suspend Yes
Hibernate Yes Requires tweaking
UBUNTU 7.10 SUPPORT FOR ASUS G1S EXTRA FEATURES
PERIPHERAL SUPPORT NOTES
VGA out Yes Requires tweaking
TV-out Yes Requires tweaking
HDMI Yes Requires tweaking
CD/DVD Lightscribe ? Not tested
PDIF ? Not tested
56K Modem ? Not tested
MMC/MS/MS Pro ? Not tested
SD Card Reader Yes
ExpressCard Slot ? Not Tested
Hibernate Fn+F1 Yes Requires tweaking
Wireless On/Off Fn+F2 Yes Does not display on/off status
Brightness Fn+F5/F6 Yes
Volume Fn+F10/F11/F12 Yes
Multimedia Keys Yes See note below for specific player tweaks
Touchpad on/off button Yes Requires tweaking
Browser launch button Yes
E-Mail launch button Yes
Wireless LED No Does not turn on when associated with a network
E-Mail LED Yes Requires Thunderbird-LED extension or similar
Touchpad LED Yes No automatic on/off toggle
OLED screen Yes Requires tweaking
Green sidelights Yes Requires tweaking
Logitech MX518 Mouse buttons Yes Requires tweaking

Work arounds

Multimedia Keys

Rhythm Box

The multimedia keys work by default

Amarok

If you are using Amarok, these keys will not work if you just assign them via the "Global Shortcuts" menu. You must first unregister the GNOME shortcuts for multimedia keys

  1. Click System -> Preferences -> Keyboard Shortcuts
  2. Select a shortcut (such as "Play") to clear, as if you are assigning a new key to the shortcut
  3. Hit the "Backspace" key, this will clear the shortcut
  4. Repeat this action for the "Play", "Pause", "Stop playback", "Skip to previous track" and "Skip to next track" shortcuts
  5. Click the "Close" button
  6. Open Amarok
  7. Go to the Settings -> Configure Global Shortcuts… menu
  8. Assign the multimedia keys to their corresponding actions
  9. Click the "OK" button
  10. Exit and re-launch Amarok (may or may not be required)

If you followed this guide your shortcut keys should now work for Amarok!

Webcam

If you simply put the following code into a .sh file, and sudo execute it, the drivers will be automatically installed for you.

#!/bin/bash
# this script should get a Asus G1S webcam working. May also work on similar
# webcams, but i make no promises.
# As always, YMMV and use at your own risk.
sudo apt-get update
sudo apt-get -y install libsdl1.2-dev subversion

#this installs the linux-uvc driver
cd /tmp
sudo apt-get install libsvn1
svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk
cd trunk
make && sudo make install

#This part installs luvcview
#downloads the latest version from here: http://mxhaard.free.fr/spca50x/Investigation/uvc/
wget http://mxhaard.free.fr/spca50x/Investigation/uvc/luvcview-20070512.tar.gz
gunzip -c luvc*.gz|tar -xf -
cd luvc*
make &&sudo make install

#Create a .desktop files
mkdir ~/Desktop/webcam-pictures
echo "
[Desktop Entry]
Encoding=UTF-8
Exec=luvcview -f yuv -w
Icon=camera
Name=Webcam Viewer
Path=~/Desktop/webcam-pictures
StartupNotify=true
Terminal=false
Type=Application
">~/Desktop/Webcam.desktop

OLED screen

Fast and Obfuscated

Add the following to your /etc/apt/sources.lst file:

# Lone Wolf AsusOled packages for Ubuntu 7.10 Gutsy Gibbon
deb http://falcon.landure.fr gutsy asusoled
deb-src http://falcon.landure.fr gutsy asusoled

Then run the following commands:
wget http://falcon.landure.fr/9FA7DC39.gpg -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install asusoled

This will quickly install the necessary driver and run a program to display a clock in the OLED screen.
If you want the clock to show up every time you boot, add the following line to your /etc/rc.local
asusoled-clock &

Building from sources

If you do not want to use this package, here is how to install asusoled from sources :

First, you need to install Bazaar, a tool mandatory to download source code. We also install tools needed to build asusoled :

/usr/bin/sudo /usr/bin/apt-get install bzr build-essential cmake libsdl1.2-dev libusb-dev libsdl-image1.2-dev

We download the source code :

/usr/bin/bzr branch http://bazaar.launchpad.net/~agoliveira/asusoled/trunk/ /tmp/asusoled

We change directory to the one containing the sources :

/cd /tmp/asusoled

We correct the sources so that the building use the correct source directory : (a ugly but working patch) :

/bin/grep --recursive --files-with-matches "home/adilson" /tmp/asusoled/ \
    | /usr/bin/xargs -iFILE /bin/sed -i -e 's/home\/adilson/tmp/g' FILE
/bin/grep --recursive --files-with-matches "home/chuck/fubar" /tmp/asusoled/ \
    | /usr/bin/xargs -iFILE /bin/sed -i -e 's/home\/chuck\/fubar/tmp/g' FILE

And we build the sources :

/usr/bin/make

One this done, and if all went well, we test the asusoled binary :

./testsuite.sh

If it works, we install it :

/usr/bin/sudo /usr/bin/install /tmp/asusoled/asusoled /usr/bin/

And we disable the OLED display :

/usr/bin/sudo /usr/bin/asusoled -d

Note : It seems that the OLED screen can be burned if the ASUS logo is displayed for a long period. It is probably wiser to disable the OLED screen if you do not use it.

If you want to use a init.d script, I suggest you extract if from the Debian package asusoled_0.02bzr20071230-1_i386.deb.

Special Thanks:

Various LEDs on laptop

I haven't found a way to make all of the lights work with the asus_acpi driver so run the following commands:

sudo modprobe -r asus_acpi
sudo modprobe asus-laptop

This will unload the older asus_acpi driver and load a newer driver designed from the acpi4asus project.
I would leave the asus_acpi driver alone, but it conflicts with the asus-laptop driver

There are 3 lights that this driver can turn on and off, the "gaming" lights on the sides of the monitor (asus:gaming), the touchpad light (asus:touchpad) and the mail notification light (asus:mail).
To switch the lights on:

sudo echo 1 > /sys/class/leds/<intended light>/brightness

To switch the lights off:

sudo echo 0 > /sys/class/leds/<intended light>/brightness

If you have a permissions error run

sudo -s

and then try the same commands

E-Mail LED

For Thunderbird

To make the E-Mail notification LED work with Thunderbird, simply install the Thunderled extension.
This will make E-Mail LED turn on whenever you receive a new e-mail.

If you have gone through the Various LEDs on laptop guide, then you will need to add the following to your /etc/rc.local

chmod o+w /sys/class/leds/asus:mail/brightness


Hibernate/Suspend

Since Ubuntu 8.04 Hardy Heron the kernel mode suspend function works great on this laptop

The kernel mode hibernate system doesn't work very well with this laptop so try installing uswsusp:

sudo apt-get install uswsusp

This is a user mode suspend solution. I've found that the hibernate works perfectly with this laptop, but to test run the following command:
sudo s2disk

It will seem like your laptop turned right off, but it will save your state to your swap space.

If the s2disk command doesn't work for you try this:

free -m

Or this:

sudo s2disk -r <full path to your swap device>

To make this the default way of hibernating check out the this guide. It was written for Feisty and Edgy, but it does work for Gutsy as well.

Troubleshooting

If your laptop resumes from suspension, and all you see is your mouse cursor and a blank, white screen; don't worry. All you have to do is enter your password and hit enter. There is some sort of bug with how it resumes, but when you see the blank screen, it should be displaying a locked screen. Similar to when your screensaver locks the screen.

Logitech MX518 Mouse

Installing Prerequisites

Run the following command to install evdev, which will detect the features of your mouse.

sudo apt-get install xserver-xorg-input-evdev

Editing xorg.conf

I suggest you backup your xorg.conf before you start, as if you screw up, then X, and GNOME will fail to start the next time you boot up.

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.bak

This can save your computer if you make a mistake. If you need to restore xorg.conf to its original format just run:
sudo cp /etc/X11/xorg.bak /etc/X11/xorg.conf

Next open the file in a text editor:

sudo gedit /etc/X11/xorg.conf

Scroll down to the mouse section and replace it with:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "false"
Option "Buttons" "7"
Option "ButtonMapping" "1 2 3 6 7"
EndSection

Save your changes and close. I would suggest writing down the earlier command to restore your xorg.conf now.

Next reboot the computer. When you attach the mouse next, you should have all of the buttons working.

Touchpad on/off button

You may or may not have to edit your dsdt file (this is a file that describes what your acpi is able to do and how it does it). In order to do so you will have to install iasl and decompile your dsdt file:

sudo apt-get install iasl
sudo cat /proc/acpi/dsdt > dsdt
iasl -d dsdt

This will create a dsdt.dsl file, which you will be able to read and edit in a programming language-like format.
Change the following:
  • "_T_0" changes to "T0"
  • If you don't like warnings (not required) change all "Acquire (MUTE, 0xSOMETHING)" to "Acquire (MUTE, 0xFFFF)"
  • and on line 4456 change 'If (LAnd (^P0P2.VGA.DOSF, 0x04)) {}' to 'If (LEqual (^P0P2.VGA.DOSF, 0x04)) {}'

If you don't see any of these, don't worry, this step isn't required for you. I haven't been able to characterize when you have to edit the dsdt file and when you don't have to.

If you didn't have to edit the dsdt.dsl file, you can skip the next few steps to replace the old dsdt with your newly compiled one.
to compile the new dsdt file:

iasl -tc dsdt.dsl

This will create a dsdt.hex and a dsdt.aml. The hex file is for if you wanted to recompile the kernel with the new dsdt format, but this guide doesn't cover that. So you can ignore and even delete the dsdt.hex file.

Next you have to copy the dsdt.aml file to /etc/initramfs-tools

sudo cp dsdt.aml /etc/initramfs-tools/DSDT.aml
sudo mkinitramfs -o /boot/initrd.img-<uname -r>

In case you are wondering "<uname -r>" is simply to check what version of the kernel you are using.

If you didn't have to edit the dsdt.dsl file, continue here
Next install gsynaptics

sudo apt-get install gsynaptics

and back up your xorg.conf file in case you do something wrong
sudo cp xorg.conf xorg.bak

then edit your xorg.conf file
sudo gedit /etc/X11/xorg.conf

Find the section to do with your touchpad and add the noted lines
Section "InputDevice"
    Identifier    "Synaptics Touchpad"
    Driver        "synaptics"
    Option        "SendCoreEvents"    "true"
    Option        "Device"    "/dev/psaux"
    Option        "Protocol"    "auto-dev"
    Option        "HorizScrollDelta"    "0"
    # added lines to make the touchpad toggle button work
    Option         "SHMConfig" "on"
    Option         "CorePointer" "true"
EndSection

Now before you restart, make sure you know how to restore the xorg.conf file:
sudo cp /etc/X11/xorg.bak /etc/X11/xorg.conf

Now you can reboot your laptop, and when it comes back, your touchpad toggle button should be working.

VGA Out

To get a second display working with the VGA port on the back of this laptop, use the System —> Administration —> Screens and Graphics, or the nvidia-settings command to bring up an X server configuration menu. Both allow you to configure the behavior of secondary displays.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License