Parallella Speed Up Ubuntu

This is a how to guide to speed up the official Ubuntu for Parallella, '''this is only for ubuntu-lxde-14.03.06-p16g1.img on Parallella E16/Zynq7020. Do not apply these tips to another version/board'''.

Please apply these instructions without modification.

Each configuration is carefully constructed and is interdependence, so if you modify something, it may get even worse.

Demo Video

By applying these tips, you will get,


 * Better desktop performance
 * Boot up stability
 * Sound output from HDMI
 * USB devices (e.g. webcam, USB stick)

Apply all the tips at once.

Fix the permission of .gconf
sudo chown -R linaro:linaro ~/.gconf

ALSA configuration
nano ~/.asoundrc

(copy, paste and save)

pcm.!default { type rate slave { pcm "hw:0" rate 48000 } converter "samplerate" }

Disable PCManFM Desktop mode
rm -f ~/.config/lxsession/LXDE/autostart

sudo nano /etc/xdg/lxsession/LXDE/autostart

Delete the line "@pcmanfm --desktop --profile LXDE".

Append this line to the bottom of the file.

@feh --bg-fill /usr/share/lxde/wallpapers/parallella.png

Select from Menu -> Preferences -> Desktop Session Settings, uncheck "GNOME Settings Daemon", [OK]

Speed up Firefox
Launch Firefox, Type "about:config" in the URL bar, Type "browser.cache.disk.enable" in the "Search:" bar, Change the value true->false by double-clicking.

Type "mousewheel.acceleration.start" in the "Search:" bar, Double click, set [2].

Speed up SSH login
Disable sshd hostname look-up.

sudo nano /etc/ssh/sshd_config

Append this line to the bottom of the file.

UseDNS no

Remove xscreensaver
xscreensaver causes freeze on X startup. So remove it.

sudo apt-get purge xscreensaver

'''Note: It is insufficient to disable xscreensaver by "Screensaver" configuration. We have to "apt-get purge" to completely disable xscreensaver.'''

Make Leafpad the default editor
Right-click a text file on PCManFM, select Properties->General->Open with: Select Leafpad

Install fake-hwclock
sudo apt-get install fake-hwclock

Clear persistent-net.rules
Clear garbage configuration.

sudo rm /etc/udev/rules.d/70-persistent-net.rules

Enable devtmpfs
Create device nodes of the SD card.

sudo mknod -m 660 /dev/mmcblk0 b 179 0

sudo mknod -m 660 /dev/mmcblk0p1 b 179 1

sudo mknod -m 660 /dev/mmcblk0p2 b 179 2

Install device-tree-compiler.

sudo apt-get install device-tree-compiler

Mount partition1 of the SD card.

sudo mount /dev/mmcblk0p1 /mnt

cd /mnt

Create devicetree.dts from devicetree.dtb.

sudo cp devicetree.dtb devicetree.dtb.bak

sudo dtc -I dtb -O dts -o devicetree.dts devicetree.dtb

Edit devicetree.dts.

sudo nano devicetree.dts

(Search(Ctrl-W) and Edit the "bootargs" line then save)

bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait";

Compile it to dtb to enable it.

sudo dtc -I dts -O dtb -o devicetree.dtb devicetree.dts

Configure Xorg
sudo nano /etc/X11/xorg.conf

(copy & paste and save)

Section "Device" Identifier "Card0" Driver "modesetting" Option "ShadowFB" "True" Option "SWCursor" "True" Option "HWCursor" "False" EndSection Section "Screen" Identifier "Screen0" Device "Card0" SubSection "Display" #Modes "1280x720" EndSubSection EndSection

Reboot
sync

sudo reboot

(Optional) How to force framebuffer resolution to 1280x720
This increases desktop performance on a full-HD monitor.

The preferred resolution is 1280x720, however you can set another resolution.

To check the available resolutions, type this command on a terminal. (with HDMI connected, on native X Window, not in ssh)

cat /sys/class/drm/card0-HDMI-A-1/modes

Or, type this command on a terminal. (with HDMI connected, on native X Window, not in ssh)

xrandr -q

Note: The resolution settings of the xorg.conf (Modes "1280x720") must match with the bootargs settings (video=HDMI-A-1:1280x720).

Then set the resolution in the settings above.

Edit bootargs and update dtb file.

bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait video=HDMI-A-1:1280x720";

Edit xorg.conf (Uncomment the "Modes" line and edit the resolution)

Modes "1280x720"