Difference between revisions of "Acer Aspire 3000 (300x)"

From ArchWiki
Jump to: navigation, search
m (Related articles: update old redirects)
Line 329: Line 329:
  
 
== Related articles ==
 
== Related articles ==
* [[Silicon Integrated Systems (SiS) 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter]]
+
* [[xf86-video-sis]]
 
* [[Wireless_Setup#b43]]
 
* [[Wireless_Setup#b43]]
 
* [[Touchpad Synaptics]]
 
* [[Touchpad Synaptics]]
 
* Misc.
 
* Misc.
** [[Cpufrequtils]]
+
** [[CPU Frequency Scaling]]
 
** [[Pm-utils]]
 
** [[Pm-utils]]
 
** [[Laptop Mode Tools]]
 
** [[Laptop Mode Tools]]
 
** [[Wacom Tablet]]
 
** [[Wacom Tablet]]

Revision as of 17:27, 14 November 2012

This page was created using knowledge collected while playing with Acer Aspire 3003 WLMi, but i will be probably compatible with other 300x Aspires. You can add your laptops to the compatibility list.

Compatibility list

lspci

00:00.0 Host bridge: Silicon Integrated Systems [SiS] 760/M760 Host (rev 03)
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SG86C202
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS963 [MuTIOL Media IO] (rev 25)
00:02.1 SMBus: Silicon Integrated Systems [SiS] SiS961/2 SMBus Controller
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE]
00:02.6 Modem: Silicon Integrated Systems [SiS] AC'97 Modem Controller (rev a0)
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC'97 Sound Controller (rev a0)
00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller
00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 91)
00:06.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 02)
00:0b.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter

laptop-init-script

laptop-init-script is small rc.d script located in (/etc/rc.d/laptop-init) i am using to enable/disable laptop optimalizations you need to install cpufrequtils, pm-utils and laptop-mode-tools to use it. This script can be instaled from aur (aur/laptop-init-script) or you can find it here:

 #!/bin/bash
 #universal daemon controller
 # general config
 . /etc/rc.conf
 . /etc/rc.d/functions

 case "$1" in
  start)
  stat_busy "Enabling cpufreq CPU scaling"
    #cpufreq-set -g conservative  #less dynamic (saving more power, but slooooow)
    cpufreq-set -g ondemand   #more dynamic (saving power, when speed is not needed)
    stat_done
  stat_busy "Entering laptop mode"
    echo 1 > /proc/sys/vm/laptop_mode
    stat_done
  stat_busy "Launching pm-powersave true"
    pm-powersave true
    stat_done
    ;;
  stop)
  stat_busy "Disabling cpufreq CPU scaling"
    cpufreq-set -g performance
    stat_done
  stat_busy "Leaving laptop mode"
    echo 0 > /proc/sys/vm/laptop_mode
    stat_done
  stat_busy "Launching pm-powersave false"
    pm-powersave false
    stat_done
    ;;
  restart)
  $0 stop
  sleep 1
  $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}"
 esac

You can also update /etc/acpi/handler.sh to use pm-suspend (or pm-hibernate) for sleep button

/etc/rc.conf

MODULES

Modules needed by some hardware:

MODULES=(
 #devices
 sisfb mii sis900 b43 wacom
 #sound
 ac97_bus snd-mixer-oss snd-pcm-oss snd-page-alloc snd-pcm snd-timer snd snd-ac97-codec snd-intel8x0 snd-intel8x0m soundcore !snd-pcsp
 #usermode
 tun fuse vboxdrv
 powernow-k8 cpufreq_powersave cpufreq_userspace cpufreq_conservative cpufreq_stats cpufreq_ondemand
)

Note that you need to install some drivers like SiS manually by pacman and b43 module (broadcom wifi driver) needs you to manually download and extract latest firmware using b43fwcutter.

DAEMONS

There are few daemons needed by some hardware to run properly...

DAEMONS=( ... @laptop @gpm @alsa @acpid @cupsd @cpufreq ... )

/etc/X11/xorg.conf

Before editing xorg.conf, you will need to install few drivers:

xf86-input-keyboard 1.3.1-1 (xorg xorg-input-drivers)
   X.Org keyboard input driver
xf86-input-mouse 1.3.0-1 (xorg xorg-input-drivers)
   X.org mouse input driver
xf86-input-synaptics 0.99.3-1
   synaptics driver for notebook touchpads
xf86-video-sis 0.10.1-1 (xorg-video-drivers)
   X.org SiS video driver
xf86-video-vesa 2.1.0-1 (xorg xorg-video-drivers)
   X.org vesa video driver

You can use this xorg.conf to get your Synaptics touchpad, USB mouse (or optionally wacom tablet) and SiS graphical adapter with sisctrl support working.

# Section "Extensions"
#	Option "Composite" "Enable"
# EndSection

Section "ServerLayout"

##HARVIE
##HARVIE-END
Identifier     "Layout0"
Screen      0  "Screen0" 0 0
InputDevice    "Keyboard0" "CoreKeyboard"
InputDevice    "Mouse0" "CorePointer"
InputDevice    "Wacom Tablet" "SendCoreEvents"
InputDevice    "Wacom Pen" "SendCoreEvents"
InputDevice    "Wacom Eraser" "SendCoreEvents"
InputDevice    "Wacom Mouse" "SendCoreEvents"
EndSection

Section "Module"
Load  "dbe"
Load  "i2c"
Load  "bitmap"
Load  "ddc"
Load  "dri"
Load  "extmod"
Load  "freetype"
Load  "glx"
Load  "int10"
Load  "vbe"
# Harvie:
Load  "synaptics"
EndSection

Section "ServerFlags"
Option	    "AllowEmptyInput" "false"
Option	    "AutoAddDevices" "False"
EndSection

Section "InputDevice"
Identifier  "Mouse0"
Driver      "mouse"
Option	    "Protocol" "ImPS/2"
Option	    "Emulate3Buttons"
Option	    "Device" "/dev/psaux"
EndSection

Section "InputDevice"
Identifier  "Keyboard0"
Driver      "kbd"
Option	    "XkbModel" "acer_laptop"
Option	    "XkbLayout" "cz"
EndSection

Section "InputDevice"

#	Option		"SendCoreEvents"	"true"
Identifier  "Mouse 1"
Driver      "synaptics"
Option	    "Device" "/dev/psaux"
#	Option	    "Protocol" "ImPS/2"
Option	    "Protocol" "auto-dev"
Option	    "Emulate3Buttons"
#	Option		"HorizScrollDelta"	"0"

Option		"SendCoreEvents"	"true"
Option		"SHMConfig"	"on"
Option		"SHMConfig" "true"
EndSection

Section "InputDevice"
Identifier  "Wacom Pen"
Driver      "wacom"
Option	    "Device" "/dev/input/wacom"
Option	    "Type" "stylus"
Option	    "USB" "on"
Option	    "PressCurve" "0,0,100,100"
EndSection

Section "InputDevice"
Identifier  "Wacom Eraser"
Driver      "wacom"
Option	    "Device" "/dev/input/wacom"
Option	    "Type" "eraser"
Option	    "USB" "on"
EndSection

Section "InputDevice"
Identifier  "Wacom Mouse"
Driver      "wacom"
Option	    "Device" "/dev/input/wacom"
Option	    "Type" "cursor"
Option	    "Mode" "relative"
Option	    "USB" "on"
EndSection

Section "InputDevice"
Identifier  "Wacom Tablet"
Driver      "wacom"
Option	    "Device" "/dev/input/wacom"
Option	    "Type" "pad"
Option	    "ButtonsOnly" "on"
Option	    "Button9" "2"
Option	    "Button10" "3"
Option	    "USB" "on"
EndSection

Section "Monitor"
Identifier   "Monitor0"
HorizSync    31.5 - 48.5
VertRefresh  50.0 - 90.0
Gamma 1.000 1.000 1.000
EndSection

Section "Device"
Identifier "Card0"
Driver "sis"
Card        "** SiS (generic)                      [sis]"
BusID "PCI:1:0:0"

Option "UseFBDev" "true"
Option "EnableSisCtrl" "yes"
Option "ForceCRT1Type" "LCD"
Option "ForceCRT2Type" "NONE"
Option "CRT1Gamma" "on"
Option "CRT2Gamma" "on"
Option "Brightness" "0.000 0.000 0.000"
Option "Contrast" "0.000 0.000 0.000"
Option "CRT1Saturation" "0"
Option "XvOnCRT2" "yes"
Option "XvDefaultContrast" "2"
Option "XvDefaultBrightness" "10"
Option "XvDefaultHue" "0"
Option "XvDefaultSaturation" "0"
Option "XvDefaultDisableGfxLR" "no"
Option "XvGamma" "off"
EndSection

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24

SubSection "Display"
Depth 1
Modes "1280x800" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1280x800" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x800" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1280x800" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x800" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x800" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
EndSection

Section "DRI"
Mode         0666
EndSection

FBDev (SiSFB FrameBuffer)

/boot/grub/menu.lst

If you want have nicer screen resolutin in framebuffer (textmode), then you have to add this configuration in /boot/grub/menu.lst.

sisfb

If you want to specify your own resolution using custom video driver, then you have to replace vga option with video option. For example if you want to user resolution 1280x800 with 32-bit color depth at 76Hz (which is recommended for Acer Aspire 3000) then you can use this option:

video=sisfb:mode:1280x800x32,rate:76

You can also play with memory consumption like this, but its not needed and it can cause some problems, if you do not know what are you doing:

video=sisfb:mode:1280x800x24,mem:12288,rate:76

vga

Basically you can append this option to the kernel line in the menu.lst. This should work on any VGA compliant graphical adapter if it will have enough resources. But it will look ugly on widescreens, LCDs and similar, if they do not match the exact VGA resolution and it is better to use video=... option.

vga=791

If you do not like 791 mode, then you can use this:

vga=ask

And you will be informed about all modes compatible with your system configuration after reboot.

So your GRUB entries in menu.lst should look like this:

# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/348c69e0-de31-4589-bf0a-276815c5e17a ro resume=/dev/sda3 video=sisfb:mode:1280x800x32,rate:76
initrd /kernel26.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/348c69e0-de31-4589-bf0a-276815c5e17a ro vga=791
initrd /kernel26-fallback.img

Note that i am using vga=791 option for fallback kernel because i wan't it to be more failproof (so it will run in case of corrupted sisfb driver or without SiS graphical adapter). But you can still remove this option using GRUB command line before booting in case of some problems.

/etc/rc.local

If you are using kernel option video=sisfb:... instead of vga=... then you should add following line to /etc/rc.local, to get better colours in terminal (for example to have nicer images in links -g)...

fbset -a -depth 32

32 bit mode should be set from video=... option in menu.lst, but it shouldn't work every time on every system. So it's better to check it from rc.local. Note this will cause one more "screen blink" during the boot and it will do nothing if sisfb (or any other video module) is not found or used.

/etc/mkinitcpio.conf

You can also add sisfb module to mkinitcpio by adding it to the /etc/mkinitcpio.conf and regenerating mkinitcpio. This will allow sisfb get loaded before filesystems are mounted, so you will get nice screen resolution much earlier than without it.

MODULES="pata_acpi pata_sis ata_generic scsi_mod sisfb ..."

Simplest way to generate new mkinitcpio is reinstalling the kernel package like:

pacman -S kernel26

Related articles