From Fedora Project Wiki

Revision as of 10:49, 12 December 2009 by Aguskov (talk | contribs) (→‎F12)

This page is about installing and configuring Fedora on the Acer Aspire One netbook. Please contribute if you can.

What doesn't yet work (and workarounds)

F12

(Tested with a D250 and partially with AO751h.)

  • If using a Live .iso, you must supply ssb.blacklist=1 as a boot parameter to avoid a hang. (Hit any key to avoid automatic boot, then Tab from the menu to change boot options. When you see the command line, type a space followed by the new parameter.) When rebooting after the initial installation, you will need to add the same parameter to the boot options from the Grub menu. If you are not presented with this menu automatically, try hitting Esc repeatedly during startup.
  • Depending on the exact hardware, your hard-wired network interface might not be detected. If this is the case, you cannot easily perform a network installation using a netinst.iso or boot.iso, because neither the hard-wired nor wireless network devices will be available. Use the Live or DVD install method, or create a driver disk.
  • If you are using the full DVD, multi-CD, or netinst.iso install methods, you will need to supply either ssb.blacklist=1 or noprobe as a boot option in order to avoid a hang.
  • After installation (or during installation, if you have network access) enable RPM Fusion repositories and install the kmod-wl driver. After rebooting, this will automatically add the ssb module to the blacklist, and also give you working wireless. If you are transferring files on removable media because you have no working network, be sure to also copy broadcom-wl, which is a required dependency. After these RPMs are installed, you will no longer need to add parameters at boot time.
  • If you don't show the battery status, add this line cat /proc/acpi/battery/BAT1/state in the file /etc/rc.local (AO751h).

F11

  • All models:
    • Touchpad vertical scrolling does not work out-of-the-box with new synaptics
    • Sensors not detected by lm_sensors 'sensors-detect' or by the 'acpi' util. (netbook many not have any hardware sensors)
  • For the original AAO model A110:
    • Everything else works
  • Other models, including the more recent AAO A150 / D150:
    • Cheese Webcam Booth detected camera, then didn't for a while and now it's back, but the picture is washed out and there's no controls to adjust it.
    • Speakers do not auto-mute when using headphones until editing /etc/modprobe.d/modprobe.conf.

F10

  • Everything working after waking from suspend
  • Suspend, Hibernate in general on F10
  • Dual Head Monitors, F10 goes into a loop trying to set resolution.
  • intel KMS for pretty, flicker-free plymouth bootup. vga=0×315 workaround required in grub.conf

Installation

You can install Fedora by using an external USB CD/DVD reader, a USB dongle, or via PXE netboot.

Live CD/USB

  • No special installation workarounds required since F10.
  • Root partition filesystems cannot be changed:
    • in F12: "/" must be ext4; "/boot" is optional, and may be ext[432]
    • in F11: "/" must be ext4; "/boot" is required, and may be ext[32]
    • in F10: "/" must be ext3; "/boot" is optional, and may be ext[32]

Installation DVD

  • Regular install, except via external USB CD/DVD drive, or using a specially setup 4GB+ usbkey.


Miscellaneous setup

Card Reader

Both card readers work out of the box (if not, see: #Obsolete Instructions). In Fedora 12, the multi-card reader does work with Memory Sticks (at least in the AAO 110L model).

The "special" card reader on the left for adding storage is seen as just another plain card reader. Use LVM if you want to extend storage space from the internal HDD/SSD, but don't try to suspend while using the card reader on the left as corruptions may result. Note that with some models the reader on the right won't work with Memory Sticks.

Wireless Activity LED

LEDs are functioning again as of the 2.6.30+ kernel updates.

Note: madwifi is no longer needed, and is no longer packaged by rpmfusion in any case.

Touchpad

Tap-to-click is disabled by default. If using GNOME, you can enable it by choosing System > Preferences > Mouse > Enable Tapping. For every other desktop (XFCE, LXDE, fluxbox, KDE, etc), or to have tap2click available at the login manager, use the following method to enable it:

In F12: To enable tap-to-click, paste the following to /etc/hal/fdi/policy/10-synaptics.fdi

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
             <merge key="input.x11_options.TapButton1" type="string">1</merge>
             <merge key="input.x11_options.TapButton2" type="string">3</merge>
             <merge key="input.x11_options.TapButton3" type="string">2</merge>
        <merge key="input.x11_driver" type="string">synaptics</merge>
    </match>
  </device>
</deviceinfo>

In F11: To enable tap-to-click, and to fix vertical scrolling, paste the following to /etc/hal/fdi/policy/10-synaptics.fdi

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
             <merge key="input.x11_options.TapButton1" type="string">1</merge>
             <merge key="input.x11_options.TapButton2" type="string">3</merge>
             <merge key="input.x11_options.TapButton3" type="string">2</merge>
             <merge key="input.x11_options.VertEdgeScroll" type="string">1</merge>
             <merge key="input.x11_options.LeftEdge" type="string">1700</merge>
             <merge key="input.x11_options.RightEdge" type="string">5300</merge>
             <merge key="input.x11_options.TopEdge" type="string">1700</merge>
             <merge key="input.x11_options.BottomEdge" type="string">4200</merge>
        <merge key="input.x11_driver" type="string">synaptics</merge>
    </match>
  </device>
</deviceinfo>

Save the file, then reboot your system, or logout and back in.

Speakers do not auto-mute when using headphones

In F11, add the following line to /etc/modprobe.d/aceraspirefix.conf and then reboot.

options snd-hda-intel model=acer-aspire

Built-in Camera

Works out of the box. Use the cheese app which is installed by default to test. Other v4l2 webcam-using apps include: vlc, ekiga, ucview, camE, xawtv, zoneminder, and motion.


Notes on performance

If you have the 8 GB SSD/512MB RAM version, the flash performance may not be so good. Linux tries to swap often, and the SSD write speed is too slow (~ 4MB to 7.8MB/sec) to do much swapping. Use a lighter desktop like XFCE or add more RAM (which is not easy; you have to fully disassemble the Aspire One losing the warranty).

If you have upgraded the RAM (1.5GB max) or you don't have a heavy load, it may help to disable swap, as well as to move /tmp, /var/tmp, /var/log, and /var/cache/yum off of the flash and onto tmpfs ramdisk. It may also help to use a journal-less ext2 VS ext3, and to include the "noatime,nodiratime" mount options in /etc/fstab to limit unnecessary writes.

Example /etc/fstab entries:

/dev/sda2    /                ext2     defaults,noatime,nodiratime        1 1
tmp          /tmp             tmpfs    defaults                           0 0
vartmp       /var/tmp         tmpfs    defaults                           0 0
varcacheyum  /var/cache/yum   tmpfs    defaults                           0 0

Note: if installing F11 or F12 from liveusb, your root '/' filesystem will always be ext4 (f10 and previous was ext3). The benefits of ext2 is debatable, as the tiny performance increase is more than offset by long fsck's after unclean shutdowns.

If you really want to increase performance, use a fast SDHC memory card in the left reader, and use it for /home, /var and /usr.

Misc:

  • On SSD it is tremendously helpful to disable your browsers' disk cache.
  • Disabling SELinux (/etc/sysconfig/selinux) can buy you a small (~7%) amount of performance, if security isn't a concern. It also decreases boot time by a few seconds.
  • Disabling unnecessary services can almost cut the bootup time in half (18 seconds is doable in F11, as reported by bootchartd). Depending on your requirements for a netbook, it is safe to disable at least: sendmail, atd, nfs*, rpc*, portreserve, live*, avahi-daemon, cups, gpm, ip6tables, bluetooth, lvm2-monitor, mdmonitor, pcscd, and abrtd
chkconfig --list | grep ':on'
cd /etc/init.d
for service in sendmail atd nfs* rpc* portreserve live* avahi-daemon cups gpm ip6tables bluetooth lvm2-monitor mdmonitor pcscd abrtd; do echo disabling $service; chkconfig $service off; done
chkconfig --list | grep ':on'
  • Remove all tty* files from /etc/event.d except tty1 (ctrl-alt-[f1-f6] consoles)
mkdir /etc/event.d.disabled
mv /etc/event.d/tty[3-6] /etc/event.d.disabled
  • If GNOME, Disable most autostarted applications from Session and Startup preferences under the Applicaton Autostart tab.
  • If GNOME, Disable Tracker indexer from both Search and Indexing and from Application Autostart.
  • Use XFCE or LXDE instead of the heavier GNOME and KDE desktops.

Some tricks

Add this to /etc/sysctl.conf:

# Economize the SSD
# Strongly discourage swapping (default 60)
vm.swappiness = 1

# Don't shrink the inode cache aggressively (default 100)
vm.vfs_cache_pressure = 50

# (default 499)
vm.dirty_writeback_centisecs = 1500

# (default 10)
vm.dirty_ratio = 20

# (default 5)
vm.dirty_background_ratio = 10

# (default 0)
vm.laptop_mode = 5

Add this to /etc/rc.d/rc.local

# As in the rc.last.ctrl of Linpus
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_max > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate

echo 1 > /sys/devices/system/cpu/sched_smt_power_savings
echo 10 > /sys/module/snd_hda_intel/parameters/power_save
 
#Decrease power usage of USB while idle
[ -w /sys/bus/usb/devices/1-5/power/level ] && echo auto > /sys/bus/usb/devices/1-5/power/level
[ -w /sys/bus/usb/devices/5-5/power/level ] && echo auto > /sys/bus/usb/devices/5-5/power/level

Edit the file /boot/grub/grub.conf and add elevator=noop to the kernel-line

kernel /vmlinuz-2.6.27.9-159.fc10.i686 ro root=/dev/sda2 rhgb quiet elevator=noop

xorg.conf

A sample xorg.conf that provides a larger virtual screen - also configures my 19" VGA screen when connected...adjust the Screen and Display sections for whatever display you have connected to your VGA port

NOTE: this seems to require xserver 1.6 and xrandr 1.3 which are Fedora 11 and this may not work in earlier versions of Fedora.

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        Screen      0  "Screen1" 0 0 
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "catalogue:/etc/X11/fontpath.d"
        FontPath     "built-ins"
EndSection

Section "Module"
        Load  "dbe"
        Load  "extmod"
        Load  "dri"   
        Load  "dri2"  
        Load  "record"
        Load  "glx"   
EndSection            

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"      
        Option      "XkbModel" "pc105+inet"
        Option      "XkbLayout" "us"       
EndSection                                 

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse" 
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5 6 7"  
EndSection                                    

Section "Monitor"
        Identifier   "LVDS1"
        ModelName    "LCD Panel 1024x768"
        Option       "Panning" "1280x1024"
        Modeline     "1024×600" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +VSync
EndSection                                                                             

Section "Monitor"
        Identifier   "VGA1"
        Modeline     "1280x1024" 108.00  1280 1328 1440 1688  1024 1025 1028 1066 +HSync +VSync
        ModelName    "LCD Panel 1280x1024"                                                     
EndSection                                                                                     

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"                   # [<bool>]
        #Option     "SWcursor"                  # [<bool>]
        #Option     "ColorKey"                  # <i>
        #Option     "CacheLines"                # <i>
        #Option     "Dac6Bit"                   # [<bool>]
        #Option     "DRI"                       # [<bool>]
        #Option     "NoDDC"                     # [<bool>]
        #Option     "ShowCache"                 # [<bool>]
        #Option     "XvMCSurfaces"              # <i>
        #Option     "PageFlip"                  # [<bool>]
        Identifier  "Card0"
        Driver      "intel"
        VendorName  "Intel Corporation"
        BoardName   "Mobile 945GME Express Integrated Graphics Controller"
        BusID       "PCI:0:2:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "LVDS1"
        SubSection "Display"
                Viewport   0 0
                Modes     "1280x1024" "1024x768" "1024x600"
                Depth     24
                Virtual   1280 1024
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Card0"
        Monitor    "VGA1"
        SubSection "Display"
                Viewport   0 0
                Modes     "1280x1024"
                Depth     24
                Virtual   1280 1024
        EndSubSection
EndSection



Obsolete Instructions

Card Reader

Since F10 the card readers are automatically detected out of the box, but if it's not working for you, you can try:

echo "modprobe pciehp" >> /etc/rc.d/rc.local
echo "modprobe sdhci" >> /etc/rc.d/rc.local
echo "setpci -d 197b:2381 AE=47" >> /etc/rc.d/rc.local
echo "blacklist jmb38x_ms" > /etc/modprobe.d/blacklist-msreader