From Fedora Project Wiki

Revision as of 22:13, 14 June 2009 by Kriston (talk | contribs) (→‎Wireless Activity LED: F11 no madwifi)

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

What doesn't yet work

F11

  • Everything seems to be working now, including KMS.
  • 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.
  • CPU scaling is not working properly. The CPU stays at 800 MHz while on battery. The cpuspeed daemon will not run (fails silently).
  • Sensors do not work; running 'sensors-detect' does not detect any sensors.

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.
  • Partition filesystems cannot be changed: "/boot" must be ext3 and "/" must be ext4.

Installation DVD

  • Regular install, except via bootable USB CD/DVD.

Miscellaneous setup

SD 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

Both card readers will work. The "special" one on the left for adding storage is seen just another plain card reader. Use LVM if you want to extend the internal SSD. Note that with the reader on the right won't work with Memory Sticks. No one uses them so it's not a big problem. Don't try to suspend while using the card reader on the left: with ext2/ext3 partitions the memory could be completely formatted!

Wireless Activity LED

F10: To enable the wireless status LEDs install the madwifi drivers from the RPM-Fusion repositories. F11: No madwifi drivers are available at this time.

~# yum install madwifi

and add the following lines to /etc/sysctl.conf:

dev.wifi0.ledpin = 3
dev.wifi0.softled = 1

then restart. This works in F9 and F10. It does not yet work in F11.

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 F10 from liveusb, your root '/' fs will always be ext3, no matter your selection; if installing F11, it will be ext4. TODO: link to optional post-install conversion of ext4/3 to journal-free ext2. 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 also tremendously helpful to disable your browsers' disk cache, or to relocate it to tmpfs.
  • Disabling 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, and bluetooth.

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