These are notes I'm taking while install Fedora 15 on my new ASUS Eee PC T101MT netbook. I expect it to be pretty much a copy&paste of notes from my Eee PC 1005PE since they have almost exact same hardware. I mostly only give details for items that I think require work. I do not mention how to tweak the behaviour of working items (such as 2-finger scrolling on touchpad) since it is standard.
Overview
What works with default Fedora 15 install:
- Intel N570 Dual Core CPU with speed control
- 1024x600 Display
- Touchscreen (even calibrated by default!)
- Intel 3150 Graphics with 3D Support
- Atheros Wireless 802.11b/g (no additional drivers needed!)
- Touchpad
- USB
- Keyboard
- Audio Speakers
- Suspend(Sleep)/Resume from Suspend
- Hibernate/Resume from Hibernate
Works but with issues:
- Webcam (upside down video)
- All laptop Fn keys work except Fn-F2 and Home/Rotate button
Not tested yet but likely to work:
- SD Card Reader
- Ethernet Connector
- Headphone and Mic Audio Jack
- VGA Output and related Fn-F7 and Fn-F8.
Getting Ready for Dual or Triple Booting
Fresh out of the box, the laptop had 4 primary partitions:
- Windows 7 Starter - 100G NTFS
- Windows Recovery Partition - 15G Hidden FAT32
- User Data Partition - 108G NTFS
- Boot Booster - 16M EFI
This is kinda cool compared to my previous Eee PC when combined the Windows 7 and User Data into a single 200G partition. If you needed to reinstall Windows ever (and who doesn't use that shot gun solution?) then this could help not having to restore so much of your data. More important to me, it means I don't have to jump threw so many hoops trying to free half the drive (or more) for my other OS's.
If you have a single 200G partition then Windows like to put some non-movable files right at 100G mark. If you give it two 100G, it puts those unmovable files around the 50G mark of first 100G. See my
Eee PC 1005PE page for how to move those unmovable files if your interested.
Life is easiest if you give each OS a primary partition. I'm keeping Windows 7 around and since no install disks exist I'll also keep the recovery partition. I'll get my Fedora partition by converting the User Data partition. If I want to install a 3rd option then I'll probably have to delete the Boot Booster partition. Since I rarely reboot and it only saves a few seconds from boot time, its not a bad option.
I recommend the free
Ultradefrag windows tool and its "Optimize" option to move as much Windows as possible to front of disk. To resize partitions, delete unused partition, and move partitions around, I recommend the partition GUI GParted. You can either use
their own Live distribution or
Fedora Live ISO to a USB thumb drive. I used Fedora Live ISO and ran "yum install gparted" from command line to get access to gparted.
Once you repartition, the Fedora Live USB should be your easiest route for installing Fedora since it does an image dump to hard drive instead of RPM-by-RPM install.
Touchscreen
The newer T101MT's seem to have a MosArt touchscreen and are controlled by hid-mosart kernel driver. Work is in progress to merge this into the generic hid-multitouch driver though.
Using evtest and hid-mosart driver in Fedora 15, I see that the touchscreen can send two fingers worth of data and is using the Type B multi-touch protocol. Slot 1 always seems to be first touch. The only negative I've found is that no pressure is reported related to touch/stylus. I verified that the hardware does, in fact, support pressure reports by monitoring output of /sys/kernel/debug/hid/* file when touching the screen.
Currently, the touchscreen is handled by xf86-input-evdev input driver
and since Fedora 15 doesn't support xinput-2.1 draft protocol yet there
is no gesture support for 2nd finger data. It is effectively ignored.
TODO: What are some good touchscreen apps to install? Gnome has
gok (gnome onscreen keyboard), Firefox has Grab and Drag add-on, etc.
Installing latest hid-multitouch driver
UPDATE 2011/07/31: Linux kernel 3.0 has been put in Fedora 15's
updates-testing repo but called 2.6.40 to be less disruptive. This
should soon be in the updates repo and a simple "yum update" will enable using the better hid-multitouch module instead of hid-mosart. The following install information will be left for historical reference.
The following commands can be used to compile latest hid-multitouch module and install it but Fedora 15 compiled hid-mosart statically into kernel and so that driver is always preferred over the dynamic hid-multitouch.
mkdir hid-multitouch
cd hid-multitouch
mkdir usbhid
wget -O hid-multitouch.c "http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=drivers/hid/hid-multitouch.c;hb=HEAD"
wget -O hid-ids.h "http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=drivers/hid/hid-ids.h;hb=HEAD"
wget -O usbhid/usbhid.h "http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=drivers/hid/usbhid/usbhid.h;hb=HEAD"
echo "obj-m += hid-multitouch.o" > Makefile
make -C /lib/modules/$(uname -r)/build SUBDIRS=$(pwd) modules
sudo cp hid-multitouch.ko /lib/modules/$(uname -r)/updates
sudo depmod -a
reboot
I recompiled the Fedora 15 kernel and changed hid-mosart to a module so that I could make use of above commands. Using the new hid-multitouch driver I learned that the pressure acts weird. When using the stylus, the pressure is always reported at basically the same level (medium). Pressure does work reasonably well when using touch though; although it feels soft at low and high pressures but hard in middle pressures. That seems a little odd though and needs further investigation. I still am not sure if under windows when you set to Pen mode if it changes a HW setting. Perhaps then pen reports better pressure.
Display
The brightness of the display is not as bright as under Windows 7. Seems this is a common issue with Intel netbooks. The following is a work around.
vim /etc/rc.local
[add follow to file and save]
setpci -s 00:02.0 f4.b=ff
Upon reboot, the display will be full brightness possible.
Hotkeys
The Fn keys that work with eeepc-wmi:
- Fn-F1 (Sleep)
- Fn-F5 and Fn-F6 (Dimmer)
- Fn-F8 (Switch Video Mode)
- Fn-F10/Fn-F11/Fn-F12 (Mute/Volume Down/Volume Up)
These Fn keys should work but need newer eeepc-wmi driver:
- Fn-F2 (Wireless disable) - Prints "unknown key 88 pressed" on console. Already fixed in Linux 2.6.39.
- Home/Rotate button - Prints "Unknown key e4 pressed" when you press, "Unknown key e5 pressed" when you release, and "Unknown key ea pressed" if you hold the button for a couple of seconds. Updates have been submitted to eeepc-wmi driver to start sending this as a repeating key event so this will eventually be usable to userland. Will probably be in Linux 3.1.
This Fn key works but a bug exists in Gnome 3.0 that makes it not used. It will probably be resolved by time of Gnome 3.1 release.
- Fn-F3 (Disable Mouse) - Reports as KEY_F21 key.
The Fn keys that do not do anything by default but can be mapped to something using Shortcuts:
- Fn-F4 (Screen Resolution) - Reports as KEY_F14 key
- Fn-F7 (Display Off) - Reports as KEY_DISPLAY_OFF
- Fn-F9 (System Task Manager) - Reports as KEY_PROG1
Installing shortcuts
I prefer to install shortcuts into system gconf location so that all users can use them.
The following assigns the System Monitor tool the Fn-F9 to model Windows 7 behaviour of launching Task Manager.
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set /desktop/gnome/keybindings/custom90/name "System Monitor"
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set /desktop/gnome/keybindings/custom90/action gnome-system-monitor
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set /desktop/gnome/keybindings/custom90/binding "XF86Launch1"
Resolution Scale Shortcut
There is a hopeless amount of apps that do not run well on a 1024x600 screen. xrandr supports an --scale option that will allow
going higher; although slightly fuzzy. I make use of Keyboard Shortcuts
and run the following script to toggle between 1024x600 and 1024x768
resolutions. Save the following to a file to /usr/local/bin/restoggle.sh and "chmod 755 /usr/local/bin/restoggle.sh".
#!/bin/bash
find_res=`/usr/bin/xrandr | grep "1024x768"`
if [ $? == "0" ]; then
xrandr --output LVDS1 --mode 1024x600 --scale 1.00x1.00
else
xrandr --output LVDS1 --mode 1024x600 --scale 1.00x1.28
fi
The following will assign a short cut to this script to the Fn-F4 key.
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set /desktop/gnome/keybindings/custom91/name "Resolution Toggle"
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set /desktop/gnome/keybindings/custom91/action /usr/local/bin/restoggle.sh
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set /desktop/gnome/keybindings/custom91/binding "XF86Launch5"
Updating eeepc-wmi
These commands can be used to download and install latest eeepc-wmi driver directly from Linux master git repository.
As of 2011-06-02, it only fixes Fn-F2 key (wireless control) but may be
useful for Home/Rotate soon as well. Be sure and update to latest
NetworkManager to get Fn-F2 working.
UPDATE 2011/07/31: Linux kernel 3.0 has been put in Fedora 15's updates-testing repo but called 2.6.40 to be less disruptive. This should soon be in the updates repo and a simple "yum update" will get the Fn-F2 working. The following install information will be left around for historical references.
mkdir eeepc-wmi
cd eeepc-wmi
wget -O asus-wmi.c "http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=drivers/platform/x86/asus-wmi.c;hb=HEAD"
wget -O asus-wmi.h "http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=drivers/platform/x86/asus-wmi.h;hb=HEAD"
wget -O eeepc-wmi.c "http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=drivers/platform/x86/eeepc-wmi.c;hb=HEAD"
echo "obj-m += asus-wmi.o" > Makefile
echo "obj-m += eeepc-wmi.o" >> Makefile
echo "#define KEY_CAMERA_ZOOMIN 0x215" >> asus-wmi.h
echo "#define KEY_CAMERA_ZOOMOUT 0x216" >> asus-wmi.h
echo "#define KEY_CAMERA_UP 0x217" >> asus-wmi.h
echo "#define KEY_CAMERA_DOWN 0x218" >> asus-wmi.h
echo "#define KEY_CAMERA_LEFT 0x219" >> asus-wmi.h
echo "#define KEY_CAMERA_RIGHT 0x21a" >> asus-wmi.h
make -C /lib/modules/$(uname -r)/build SUBDIRS=$(pwd) modules
sudo cp asus-wmi.ko eeepc-wmi.ko /lib/modules/$(uname -r)/updates
sudo depmod -a
reboot
Webcam
The video displayed from the webcam is up side down. A patch to flip the video has been applied to upstream libv4l but is not in Fedora 15. I don't expect Fedora 15 to update this package so I went ahead and created an updated RPM:
libv4l-0.8.4-1.fc15.i686..rpmYou can upgrade using this command:
sudo localupdate libv4l-0.8.4-1.fc15.i686.rpm
UPDATE 2011/07/31: libv4l-0.8.5 is now in Fedora 15's updates repo. So a "yum update" will work instead of using above package. The notes below still apply for apps that distribute their own internal libv4l.
After the update, you'll be able to use Cheese and other apps that use the system's libv4l library. A lot of the more useful apps, such as Skype and Google Talk, link in their own older version of libv4l. You can work around this by launching the apps with a modified command line to force the use of newer library. It only works from a shell command line or when ran from a script. The first example below is for Skype and the second is for Google Talke plugin.
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so firefox
Past experience with flipped webcams tells me it will be more than a years time before Skype and similar apps are updated with latest libraries.
Power Saving
Searching for power savings ideas on the internet turned up a lot of information for Ubuntu and other distributions but not to much for Fedora. After a while, I finally ran across
this nice document from Fedora team and gives lots of good ideas. As the document points out, there is an application already in the Fedora repo's that will take care of everything for you. Install this way:
sudo yum install tuned
sudo systemctl enable tuned.service
sudo systemctl start tuned.service
This installs with a default power savings policy that is not geared towards laptops. To fix this, you need to execute one of the following two commands. The change will last past reboots but as you can tell from policy names, you will need to manually change policies when switching between AC and Battery power.
sudo tuned-adm policy laptop-battery-powersave
sudo tuned-adm policy laptop-ac-powersave
There is one power savings feature unique to Eee PC's which Asus calls Super Hybrid Engine. I have written a utility that is similar to the utility that Asus distributes with Eee PC's under Windows. It adjust the Super Hybrid Engine (SHE) to optimal settings. It will change to Power Savings while on battery and Super Performance while on AC. I plan to eventually add hooks to auto-change the tuned policy as well.
See my
projects page to download and install the system service.
Touchpad
I like to configure my mouse to be left handed (button wise) and my touchpad to be right handed. GNOME supports setting it up this way but not using the GUI. If you set up the mouse to be left handed then by default it also makes the touchpad use same value. You can force touchpad to be fixed to right handed by issuing the following command. Once modified, only the mouse will follow the setting from the configuration screen. You can change 'right' back to default value of 'mouse' if you ever want touchpad to follow the mouse settings again.
gsetting set org.gnome.settings-daemon.peripherals.touchpad left-handed 'right'
Mount Windows Filesystem
Since I am duel booting with Windows 7, I wanted to be able to share
data between the two OS's. Linux can read NTFS partitions but there is
not really any support for reading EXT4 partitions under Windows. So when data needs
to be shared, it should always be stored on the NTFS partition.
To always have NTFS parition mounted on bootup, add the following line to your /etc/fstab file:
/dev/sda1 /media/Windows\0407 ntfs defaults 1 2
Also, create this directory:
mkdir "/media/Windows 7"
To
make sure file permissions are correctly translated to something
Windows understands, run the following command while NTFS partition is
not mounted. Follow the prompts and inform it of linux users and groups
for your main users under Windows.
ntfs-3g.
usermap /dev/sda1
Once thats done, you need to move the files created over to Windows partition.
mount "/media/Windows 7"
mkdir "/media/Windows 7/.NTFS-3G"
mv UserMapping "/media/Windows 7/.NTFS-3G"
umount "/media/Windows 7"
mount "/media/Windows 7"
My
hopes are I can do things like share a single Dropbox directory on
Windows partition and have it sync correctly regardless of which OS I'm
running.