Difference between revisions of "Parallella Speed Up Ubuntu"

From eLinux.org
Jump to: navigation, search
(Force screen resolution to 1280x720 and enable devtmpfs)
m
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Parallella]]
 
[[Category:Parallella]]
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. Do not apply these tips to another version.
+
'''Almost all these techniques have been incorporated into the latest official Parallella Ubuntu image now.'''
 +
 
 +
This is a how to guide to speed up the official Ubuntu for Parallella, '''<big>this is only for ubuntu-lxde-14.03.06-p16g1.img on Parallella E16/Zynq7020. Do not apply these tips to another version/board</big>'''.
 +
 
 +
'''Please apply these instructions without modification.'''<br />
 +
Each configuration is carefully constructed and is interdependence, so if you modify something, it may get even worse.
  
 
[http://youtu.be/TsjjIpjYM3U Demo Video]
 
[http://youtu.be/TsjjIpjYM3U Demo Video]
Line 11: Line 16:
 
*USB devices (e.g. webcam, USB stick)
 
*USB devices (e.g. webcam, USB stick)
  
Apply all the tips at once.
+
'''Apply all the tips at once.'''
  
 
==Fix the permission of .gconf==
 
==Fix the permission of .gconf==
Line 79: Line 84:
 
</pre>
 
</pre>
  
==Disable Screensaver==
+
==Remove xscreensaver==
 +
 
 +
xscreensaver causes freeze on X startup. So remove it.
  
Menu->Preferences->Screensaver->Display Modes->Mode: Disable Screen Saver
+
<pre>
 +
sudo apt-get purge xscreensaver
 +
</pre>
 +
 
 +
'''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==
 
==Make Leafpad the default editor==
Line 94: Line 105:
  
 
==Clear persistent-net.rules==
 
==Clear persistent-net.rules==
 +
 +
Clear garbage configuration.
  
 
<pre>
 
<pre>
Line 99: Line 112:
 
</pre>
 
</pre>
  
==Force screen resolution to 1280x720 and enable devtmpfs==
+
==Enable devtmpfs==
 +
 
 +
Create device nodes of the SD card.
  
 
<pre>
 
<pre>
Line 107: Line 122:
  
 
sudo mknod -m 660 /dev/mmcblk0p2 b 179 2
 
sudo mknod -m 660 /dev/mmcblk0p2 b 179 2
 +
</pre>
  
 +
Install device-tree-compiler.
 +
 +
<pre>
 
sudo apt-get install device-tree-compiler
 
sudo apt-get install device-tree-compiler
 +
</pre>
  
 +
Mount partition1 of the SD card.
 +
 +
<pre>
 
sudo mount /dev/mmcblk0p1 /mnt
 
sudo mount /dev/mmcblk0p1 /mnt
  
 
cd /mnt
 
cd /mnt
 +
</pre>
  
 +
Create devicetree.dts from devicetree.dtb.
 +
 +
<pre>
 
sudo cp devicetree.dtb devicetree.dtb.bak
 
sudo cp devicetree.dtb devicetree.dtb.bak
  
 
sudo dtc -I dtb -O dts -o devicetree.dts devicetree.dtb
 
sudo dtc -I dtb -O dts -o devicetree.dts devicetree.dtb
 +
</pre>
  
 +
Edit devicetree.dts.
 +
 +
<pre>
 
sudo nano devicetree.dts
 
sudo nano devicetree.dts
 
</pre>
 
</pre>
Line 124: Line 155:
  
 
<pre>
 
<pre>
bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait devtmpfs.mount=1 video=HDMI-A-1:1280x720";
+
bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait";
 
</pre>
 
</pre>
 +
 +
Compile it to dtb to enable it.
  
 
<pre>
 
<pre>
sudo dtc -I dts devicetree.dts -O dtb -o devicetree.dtb
+
sudo dtc -I dts -O dtb -o devicetree.dtb devicetree.dts
 +
</pre>
  
 +
==Configure Xorg==
 +
 +
<pre>
 
sudo nano /etc/X11/xorg.conf
 
sudo nano /etc/X11/xorg.conf
 
</pre>
 
</pre>
Line 147: Line 184:
 
   Device "Card0"
 
   Device "Card0"
 
   SubSection "Display"
 
   SubSection "Display"
#---- Uncomment your preferred mode ----
+
     #Modes "1280x720"
    #Modes "1920x1200"
 
     #Modes "1920x1080"
 
    Modes "1280x720"
 
    #Modes "640x480"
 
 
   EndSubSection
 
   EndSubSection
 
EndSection
 
EndSection
 
</pre>
 
</pre>
 +
 +
==Reboot==
 +
 +
<pre>
 +
sync
 +
 +
sudo reboot
 +
</pre>
 +
 +
==(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.
 
The preferred resolution is 1280x720, however you can set another resolution.
  
To check the available resolutions, type this command.
+
To check the available resolutions, type this command on a terminal. (with HDMI connected, on native X Window, not in ssh)
  
 
<pre>
 
<pre>
Line 164: Line 209:
 
</pre>
 
</pre>
  
Or, type this command on a terminal on the native X Window.
+
Or, type this command on a terminal. (with HDMI connected, on native X Window, not in ssh)
  
 
<pre>
 
<pre>
Line 170: Line 215:
 
</pre>
 
</pre>
  
I strongly recommend 1280x720, not 1920x1080, because too high resolution makes everything slow.
+
'''Note: The resolution settings of the xorg.conf (Modes "1280x720") must match with the bootargs settings (video=HDMI-A-1:1280x720).'''
  
'''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.
  
==Reboot==
+
Edit bootargs and update dtb file.
  
 
<pre>
 
<pre>
sync
+
bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait video=HDMI-A-1:1280x720";
 +
</pre>
 +
 
 +
Edit xorg.conf (Uncomment the "Modes" line and edit the resolution)
  
sudo reboot
+
<pre>
 +
Modes "1280x720"
 
</pre>
 
</pre>
 
Do not touch the mouse till the Parallella logo appears.
 
  
 
{{Template:Parallella Navbox}}
 
{{Template:Parallella Navbox}}

Latest revision as of 00:02, 8 January 2015

Almost all these techniques have been incorporated into the latest official Parallella Ubuntu image now.

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"