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

From ArchWiki
Jump to: navigation, search
(FBDev (SiSFB FrameBuffer))
m (Fixed typo.)
(16 intermediate revisions by 9 users not shown)
Line 1: Line 1:
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.
+
[[Category:Acer]]
 +
This page was created using knowledge collected while playing with Acer Aspire 3003 WLMi, but it will be probably compatible with other 300x Aspires. You can add your laptops to the compatibility list.
  
 
== Compatibility list ==
 
== Compatibility list ==
 
* [[Acer Aspire 3003 WLMi]]
 
* [[Acer Aspire 3003 WLMi]]
 +
* [[Acer Aspire 3000 ZL5]]
  
 
== lspci ==
 
== lspci ==
Line 23: Line 25:
 
  00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
 
  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
 
  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|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 [[Silicon Integrated Systems (SiS) 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter|SiS]] manually by pacman and b43 module (broadcom wifi driver) needs you to manually download and extract latest firmware using [[Wireless_Setup#b43|b43fwcutter]].
 
 
=== DAEMONS ===
 
There are few daemons needed by some hardware to run properly...
 
 
DAEMONS=( ... @laptop @gpm @alsa @acpid @cups @cpufreq ... )
 
  
 
== /etc/X11/xorg.conf ==
 
== /etc/X11/xorg.conf ==
 
Before editing xorg.conf, you will need to install few drivers:
 
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
 
  xf86-input-synaptics 0.99.3-1
 
     synaptics driver for notebook touchpads
 
     synaptics driver for notebook touchpads
 
  xf86-video-sis 0.10.1-1 (xorg-video-drivers)
 
  xf86-video-sis 0.10.1-1 (xorg-video-drivers)
 
     X.org SiS video driver
 
     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.
 
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) ==
 
== FBDev (SiSFB FrameBuffer) ==
Line 288: Line 44:
 
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:
 
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
 
  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 don't know what are you doing:
+
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
 
  video=sisfb:mode:1280x800x24,mem:12288,rate:76
  
 
==== vga ====
 
==== 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 don't match the exact VGA resolution and it is better to use ''video=...'' option.
+
Basically you can append this option to the [[kernel parameters]]. 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
 
  vga=791
If you don't like 791 mode, then you can use this:
+
If you do not like 791 mode, then you can use this:
 
  vga=ask
 
  vga=ask
 
And you will be informed about all modes compatible with your system configuration after reboot.
 
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 [[boot]]ing in case of some problems.
 
  
 
=== /etc/rc.local ===
 
=== /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|links -g]])...
+
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
 
  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.
 
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 ==
 
== /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.
+
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''' ..."
 
  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 ==
 
== 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 23:52, 12 December 2013

This page was created using knowledge collected while playing with Acer Aspire 3003 WLMi, but it 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

/etc/X11/xorg.conf

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

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

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.

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 parameters. 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.

/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 ..."

Related articles