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

Force screen resolution to 1280x720 and enable devtmpfs
Create device node 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 video=HDMI-A-1:1280x720";

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 "1920x1200" #Modes "1920x1080" Modes "1280x720" #Modes "640x480" EndSubSection EndSection
 * 1) Uncomment your preferred mode

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

I strongly recommend 1280x720, not 1920x1080, because too high resolution makes everything slow.

But if you prefer the default resolution of the monitor, try these settings.

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

And comment out all of the "Modes" line in xorg.conf.

Reboot
sync

sudo reboot