Difference between revisions of "ASUS U31SD"
(Power Consumption Optimization and more verbose instructions for grub2 installer and UEFI Setup.)
m (Well DUH.)
|Line 1:||Line 1:|
Revision as of 21:55, 1 January 2013
- 1 System Specification
- 2 What DOESN'T work out of the box
- 3 What Works out of the Box / With default configuration
- 4 Not Tested
- 5 Installation
- 6 Input / Touchpad
- 7 Bluetooth
- 8 Nvidia GPU (Optimus)
- 9 Sound
- 10 Suspend / Hibernate
- 11 Fn Multimedia Keys
- 12 Optimize Power Consumption
- CPU: Intel(R) Core(TM) i3-2330M CPU @ 2.20GHz (Sandy Bridge)
- Memory: 4 GB DDR3 PC1333 - can be expanded to a maximum of 8GB (two DIMM slots)
- WiFi: Atheros Communications Inc. AR9285
- Ethernet: Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet
- Bluetooth: Atheros Communications, Inc. AR3011 Bluetooth
- Hard-Drive: 640GB Hitachi HTS547564A9E384
- Optical Drive: None
- Integrated Graphics: Intel 2nd Generation
- Discrete Graphics: Nvidia GT520M (GF119)
- Sound: Intel Corporation 6 Series/C200
- Screen: 13.3" LCD 1366x768)
- SD Card Reader
- Webcam: V4L compatible
What DOESN'T work out of the box
- Sleep/Hibernate (see below)
- Nvidia GPU (Switchable GPU, see below)
- Fn Volume Keys (see below)
What Works out of the Box / With default configuration
- CPU (all cores detected)
- Framebuffer resolution (nouveau and intel xorg drivers provide this)
- Intel GPU
- Hotkeys (Brightness / Monitor on-off / wifi / sleep)
Before running the Arch installer, you MUST install and configure a GPT partition scheme. If you do not, you will get terrible performance when writing small files (which should effect most users).
(Pre-install) Configuring GPT (Erasing the whole disk)
I assume you are installing Arch as the single OS on your machine. We choose GPT because it's newer, it supports larger partition tables, and the machine in focus here does have UEFI but my revision allows you to turn that off in BIOS
Delete all of your partitions using `cfdisk`. Once you are done with that, run `cgdisk /dev/sda` to load up the GPT partitioner (or gdisk if you feel better that way). Before you make your usual partitions, you want to create 2 MB partition at the very top. In `cgdisk` you create a new partition, assuring the start sector is 2048 (should be by default), and the ending size should be +2MB.
This assures that grub2 has it's proper place to store it's core.img needed to boot.
This partition will not have a filesystem, so start installing Arch on /dev/sda2 or where ever your /boot or /root is.
After you are sure your 2MB partition exists and your other partition are created using cgdisk or gdisk, write the changes and run `parted /dev/sda`. You need to set the 'bios_grub' flag on that 2MB partition you made using `set 1 bios_grub on`.
At this point, you should install archlinux with the installer or install it yourself, until you can chroot into your newly created arch linux.
(Arch Installer) Installing
- Assure that you do not install/configure anything on the first 2MB partition that you created. You should start modifying and configuring partitions starting after that partition; usually /dev/sda2
Install everything as usual. Before you chroot into your arch linux, you'll have to run
# modprobe efivars
This module can only be loaded correctly, if you booted the Arch Installation via EFI, therefore check the
# ls /sys/firmware/efi/vars
for any output. If it shows files and directories, you probably booted via EFI. To be safe, also run
# modprobe dm-mod
After that, mount your UEFI Partition to
chroot into your system, install the grub-efi-x86_64 package and run:
If you restart now, it'll can't boot because your grubx64.efi can't be found where its located even with the boot entry selected in the BIOS. Therefore, don't reboot yet. You'll have to manually move and rename the grubx64.efi to the root of your UEFI Partition, which should therefore mean you move it to
Lastly, make a grub config. (also do this if you make changes /etc/default/grub)
$ grub-mkconfig -o /boot/grub/grub.cfg
Now reboot and check, if this worked by entering the BIOS and boot via the option "Launch EFI Shell from Filesystem Device". This should now boot your Arch Linux normally.
Since you can't boot Arch Linux normally yet, you have to change the efibootmgr entry pointing to your grubx64.efi to the shellx64.efi. Simply type
# modprobe efivars
# efibootmgr -v
to see all the boot entries and if you booted with EFI correctly. Then delete your old entry for the grubx64.efi with
# efibootmgr -B -b XXXX
where XXXX is the entry with the FILE=<path>/grubx64.efi and then create your new entry with
# efibootmgr -c -d /dev/sda -p 1 -L ArchLinux -l \shellx64.efi
Change the -d /dev/sda to whatever device you're using and the -p 1 to whichever partition on that device is holding your UEFI Partition.
Now you should be done. Try rebooting and see if it works. Follow the rest of the Sections below to get all of the hardware working.
Input / TouchpadThe keyboard and touchpad work more or less without problems using the and modules, respectively. Right- and left-clicking works, as well as Two-Finger scroll. Tapping is enabled out of the box and can be disabled in
Installing a tool like "blueman" from the AUR and starting the bluetooth DAEMON allowed communication to bluetooth keyboards and mice. Bluetooth speakers not tested. (*users feel free to add to this)
Nvidia GPU (Optimus)
Read the Bumblebee/optimus page. I will only outline a few things...
You need to install the packages (and all of their dependencies) :
In short, Bumblebee allows you to use the switchable GPU and use it only when you want to via the 'optirun' application.
Be sure to add 'bumblebeed' to your DAEMONS array in rc.conf.
Once you reboot, you should start seeing huge power saving.
To check and make sure that you aren't using your GPU all the time:
$ lsmod | grep nv
Should return nothing, this means your GPU is off.
You can check your GPU by running glxgears with and without the 'optirun' prefix and comparing the Frames Per Second.
Install the typical ALSA packages (libs, oss, plugins, utils). After the installation, you need to launch alsamixer
And raise the SPEAKER level, pressing ESC to save. You should now have (low quality) sound. This is a work in progress.
Suspend / Hibernate
The USB unbind hook is no longer necessary as of Linux 3.5.
If you want sleep your machine when you close your lid, you need to edit ACPI handler script:
$ nano /etc/acpi/handler.sh
Change line 20, to this:
SLPB|SBTN) pm-suspend ;;
And Towards the bottom, make lines 58 and 59 look line like this:
So now you can use the hotkey (F1) or close your lid and your laptop will sleep.
Fn Multimedia Keys
As with most Asus laptops/netbooks, this laptop sends its Multimedia events via ACPI. Using `acpi_listen`, I was able to discover the button commands the buttons sent to acpi. Add the following to your /etc/acpi/handler.sh file (make sure you add this after the ;; in the button/lid section):
button/volumeup) amixer set Master 5+ ;; button/volumedown) amixer set Master 5- ;; button/mute) amixer set Master toggle ;;
You can mess with these values to move your volume at different intervals, 5 seemed to work well for me.
Optimize Power Consumption
Add this to the kernel line of your bootloader: