Ubuntu Linux for the Joggler
This is a distribution of Ubuntu Linux for the Joggler by Jools Wills (buzz [at] exotica.org.uk). For support please use the thread on the Joggler Forum. You can also download an image of Linux Mint and Joli OS from this site.
A lot of time has gone into getting these Linux distributions working on the Joggler (and money for server hosting, usb sticks and an extra Joggler for development). I don't want to ask for any donations of money, but instead, if you like this project, a (cheap) DVD or something from my amazon wish list would be much appreciated and keep me entertained whilst working on the next version :). (Thanks!)
ExoticA server hosting is provided by Mythic-Beasts. See the Hosting Information page for more details.
Instructions • Features • Bugs/Issues • Changelog • Links
O2 Joggler (running the built in software)
Versions available:
Version Notes:
- The Xubuntu image is recommended for a lightweight desktop. The Ubuntu image uses Unity 2D which doesn't work very well on the Joggler's touchscreen.
- The base/server image can be used as a base to build/customise your own desktop or as a "utility" image for other purposes. eg - sudo apt-get install --no-install-recommends lubuntu-desktop would install a minimal lxde desktop.
- The Btrfs version uses the new Btrfs filesystem. It uses LZO compression as well as the ssd_spread mount option that is optimized for non rotating storage and should be more friendly for write wear on the flash. The Ext4 version is a standard Ext4 filesystem with journalling switch on.
- For the most free space and good performance on slower devices use Btrfs.
- For a more common filesystem, with good performance, you can use the Ext4 version (ext4).
The Ext4 journal may very well wear out your usb flash device quickly though. You can disable the journal by using "tune2fs -O ^has_journal /dev/YOURUSBDEVICE3" with the flash drive in another machine. You will however, lose some of the integrity advantages the journal gives, in exchange for a more flash friendly filesystem.
- My own choice is btrfs - On slower USB sticks the compression seems to speed things up - and it runs well. Since switching to LZO compression, it may be faster than using ext4 on slower usb flash devices.
There are also other Linux distributions available for the Joggler including Linux Mint and Joli OS from this site. Please see the links section below for distributions provided by other people.
Instructions / Tips
Writing the Image to a USB Stick
The downloaded file is a full compressed drive image with all partions.
Linux
Decompress and copy to a blank / unused USB Stick (4gb minimum) using a command such as dd: (Note that all previous contents on the USB stick will be wiped!)
gzip -dc IMAGENAME.img.gz | sudo dd of=/dev/YOUR_USB_DEVICE
Windows
Note these instructions are untested, but should work - they are based on the instructions from an older Joggler image on http://www.stephenford.org/joggler/". You can refer to that page if needed as it goes into more detail.
Download Win32DiskImager from https://launchpad.net/win32-image-writer/0.1/0.1. Then unpack the .img.gz file using something a tool like 7-zip. Run W32DiskImager.exe, and select the unpacked .img file. Choose the drive that corresponds to your USB stick and use "Write" to write the image.
Booting from USB
Insert the USB stick into your Joggler, and turn the power on. It should boot to the Desktop. To run a command with root privileges use "sudo". The default user and password if/when requested for certain tasks is:
User: joggler
Pass: joggler
You can (and probably should) change this password at your next convenience, either using the Gnome user management tools or from a terminal using "passwd".
Overheating / Throttling issues
As you may be aware, the Joggler has problems with the cpu throttling when the temperature reaches 70°C
making the system pretty unusable. Previously there was only one option when it comes to the CPU throttling and that was to add a better heatink or cooling. Not wanting to start chopping up my joggler to fit something, I looked into some possible alternatives. First I tried undervolting the CPU which is something I had done in the past on my laptop with good success. This however didn't work with the Joggler hardware. I then learnt that you could control the thermal trip points of many CPU's via software - which would mean the joggler could be allowed to run a little hotter but would hopefully throttle less during normal use. An unmodified Joggler, after being powered up for some time seems to idle at around 60 - 66°C with the LCD on (less with it off), so it doesn't take a lot of usage to bring the temperature up to 70°C at which point the throttling starts. By increasing the throttling trip point, the device becomes much more usable for longer periods, and for many tasks, doesn't throttle at all. Read on to find out how.
Note if you make the changes below you are allowing the machine to run hotter than it is set to run by the firmware. You could permanently damage your device by playing with the thermal trip points. Do this at your own risk!
The default throttling trip point is 70°C. I have successfully increased this to 80°C on my Joggler. There is another safety trip point at 100°C where the cpu will halt/stop. We won't of course be playing with that one. Boot up the image and enter a terminal and type.
sudo nano -w /boot/grub.cfg
At the end of the line that contains "splash" add the parameter "thermal.psv=xx" where xx is the trip point you want for the passive cooling (throttling) - for example to increase the passive throttling point to 80°C use "thermal.psv=80". This means that your machine will not start throttling until it reaches 80°C rather than 70°C. It is possible this could shorten the life of your device, however I have been
running my Jogglers like this for some weeks with no problems.
I also recommend you read up in http://www.kernel.org/doc/Documentation/kernel-parameters.txt on the various
thermal.* parameters before trying this so you are familiar with the settings and risks.
Interference / pops / clicks in audio output
This is unlikely to occur with the latest images as the default is now intel_idle.max_cstate=2
Some Jogglers seem to be more susceptible than others to audio crackles/glitches when switching to the higher power saving cstates. The hardware supports cstates 1, 2, 4 and 6 although 6 causes audio problems on all Jogglers so by default it is limited to 2 (4 on older images). However if you still hear clicks / pops or other interference in the audio, then you can use one of the following methods to fix it (by restricting the power saving modes the CPU can enter).
Open up a terminal windows and type
sudo nano -w /boot/grub.cfg
Find the line that has "splash" in it, and add one of the following additional parameters to the same line. Try the first one, reboot and if it doesn't fix the problem then try the second, then the third one.
- intel_idle.max_cstate=2 (default on newer images)
- intel_idle.max_cstate=1
- intel_idle.max_cstate=0 idle=halt
Use ctrl+o, then enter to save the file and ctrl+x to quit the editor.
The first parameter limits the cpu to maximum of cstate 2. When idle, the joggler Atom cpu will run cooler and use less power if it can be in a higher cstate. The second parameter sets a maximum of cstate 1 and the third line disables the intel_idle module from managing cpu cstates and tells the kernel to use "halt" for cpu idling. Hopefully the first option should work which is the preferrable one.
Right mouse button / secondary click from touchscreen
For a right-mouse click press and hold your finger on the touchscreen for 1 second.
General performance and tweaking
(Not applicable to Joli OS)
This image is a full/base install with nothing taken away, and a couple of additions (currently chromium, the florence on-screen keyboard and the xinput calibration tool). As such it has plenty of things you might not want/need. You can speed up the booting, by removing services and applications you don't require (and free up some space). For example you might want to remove LibreOffice or Gimp.
Also check out the Startup Application in the control centre for example. There are also some system services such as AppArmor that you might want to remove.
Easystroke
Easystroke is an excellent "gesture input" application. Due to the difficulty in doing window moves on the touchscreen, I use this for that, as well as gestures for other common tasks. You can install easystroke with
sudo apt-get install easystroke
Documentation and more information is available from the easystroke website http://sourceforge.net/apps/trac/easystroke
Features
Kernel/Core
- Kernel 3.2.16 with patches for audio, backlight and i2c based on those from http://code.google.com/p/adqmisc/source/browse/trunk/joggler/. Thanks to Andrew de Quincey for these (and anyone else who was involved).
- Latest btrfs (including lzo compression).
- Various other kernel config changes from Ubuntu/Linux Mint defaults, to make it smaller and more specific for the Joggler.
- The kernel config and patches can be found here.
Software
- Includes all software normally shipped with the base distribution.
- Florence on-screen keyboard.
- Fixes to gnome brightness applet to be usable from the touchscreen.
- Includes touchscreen calibration tool.
- Working XBMC and Squeezeplay apps (customised for the Joggler)
Filesystem
- The Btrfs version uses the new Btrfs filesystem. It uses LZO compression as well as the ssd_spread mount option that is optimized for non rotating storage and should be more friendly for write wear on the flash. The Ext4 version is a standard Ext4 filesystem with journalling switch on.
- For the most free space and good performance on slower devices use Btrfs.
- For a more common filesystem, with good performance, you can use the Ext4 version (ext4).
The Ext4 journal may very well wear out your usb flash device quickly though. You can disable the journal by using "tune2fs -O ^has_journal /dev/YOURUSBDEVICE3" with the flash drive in another machine. You will however, lose some of the integrity advantages the journal gives, in exchange for a more flash friendly filesystem.
- My own choice is btrfs - On slower USB sticks the compression seems to speed things up - and it runs well. Since switching to LZO compression, it may be faster than using ext4 on slower usb flash devices.
Sound
- Working sound through external jack and speakers (and switching automatically).
Graphics
- EMGD drivers v1.14 / Xorg 1.9
- Working Compiz and OpenGL.
- Backlight working (control available from gnome-power-manager / brightness applet or through sysfs).
Networking
- Ethernet working fine - Random MAC address created on first boot and saved for future boots. Using vendor driver for better stability.
- Working wireless (WEP/WPA/WPA2) - using vendor driver for wireless N support and better stability.
- Networking is fully controlled from Network Manager.
Known Bugs/Issues
- The "Unity 3D" interface is not working on the current EMGD drivers (May now work with emgd 1.8)
- The emgui utility doesn't work
- Might see screen corruption or problems with other applications.
Changelog
Ubuntu 12.04 LTS (Precise)
v1.0 (14/05/2012)
- Kernel 3.2.16.
- EMGD 1.14.
- Switch to use Ubuntu 10.10 Xserver 1.9 packages - EMGD for XServer 1.10 has non working VAAPI.
- New GRUB Bootloader 2.00 beta5.
- VAAPI enabled mplayer is now packaged.
- Updated and improved Joggler packages - including xbmc, btrfs-tools, rt2870sta.
- Other package rollups.
Xubuntu 12.04 LTS (Precise)
v1.0 (14/05/2012)
- Kernel 3.2.16.
- EMGD 1.14.
- Switch to use Ubuntu 10.10 Xserver 1.9 packages - EMGD for XServer 1.10 has non working VAAPI.
- New GRUB Bootloader 2.00 beta5.
- VAAPI enabled mplayer is now packaged.e
- Updated and improved Joggler packages - including xbmc, btrfs-tools, rt2870sta.
- Other package rollups.
Ubuntu 11.10 (Oneiric)
v1.2 (09/02/2012)
- Kernel 3.2.4/
- Package updates/
v1.1 (30/12/2011)
- Kernel 3.1.6.
- Latest EMGD - note seems to cause screen corruption on shutdown.
- Xserver 1.10.
- New version of the Florence on screen keyboard with support for mouse modifiers (alt + left click to move window for example).
- General package rollup/ubuntu updates.
- Note: Some of these updates are also available for older images via the Joggler PPA on launchpad.
v1.0 (06/11/2011)
Xubuntu 11.10 (Oneiric)
v1.2 (09/02/2012)
- On Screen keyboard support in lightdm login manager (patch from https://bugs.launchpad.net/lightdm-gtk-greeter/+bug/905809).
- Kernel 3.2.4.
- Package updates.
v1.1 (30/12/2011)
- Kernel 3.1.6.
- Latest EMGD 1.10 - note seems to cause screen corruption on shutdown.
- Xserver 1.10.
- New version of the Florence on screen keyboard with support for mouse modifiers (alt + left click to move window for example).
- General package rollup/ubuntu updates.
- Note: Some of these updates are also available for older images via the Joggler PPA on launchpad.
v1.0 (06/11/2011)
Ubuntu 11.04 (Natty)
v1.4 (09/02/2012)
- Kernel 3.2.4/
- Package updates/
v1.3 (30/12/2011)
- Kernel 3.1.6.
- Latest EMGD - note seems to cause screen corruption on shutdown.
- Xserver 1.10.
- New version of the Florence on screen keyboard with support for mouse modifiers (alt + left click to move window for example).
- General package rollup/ubuntu updates.
- Note: Some of these updates are also available for older images via the Joggler PPA on launchpad.
v1.2 (03/11/2011)
- Linux Kernel 3.1
- New Xorg evdev, with excellent right mouse click emulation.
- In kernel ethernet driver replaced with vendor driver to avoid some lockups.
- Ubuntu package updates, and updated XBMC.
v1.1 (16/08/2011)
- EMGD v1.8 - xbmc now works without having to build against gl-es
- Don't ship squeezeplay by default, but add install script to install squeezeplay from birdlikewires (Thanks roobarb!)
- Updated packages to current versions - including latest xbmc with excellent Xeebo skin (Thanks Hitcher)
- Ditch uncompressed btrfs version - the compressed works better and there seems little use case for the uncompressed currently compared to ext4
- Use 256MB swap by default. On a smaller memory stick, it makes more sense.
v1.0 (01/05/2011)
- Packages updated to Natty release versions
- XBMC/Squeezeplay/vaapi enabled mplayer pre-installed as with the other images
v1.0beta3 (23/04/2011)
- Kernel 2.6.38.4
- Package updates
- Default to max cstate=2 to avoid crackles on (all) jogglers without grub.cfg editing
- Use classic desktop by default. Unity 2d switchable from login screen
- Fixed second click using click/hold on screen (downgraded mousetweaks to maverick version)
v1.0beta2 (21/04/2011)
- Kernel 2.6.38.3
- Updated packages to Natty beta 2 as of 21/04/2011
v1.0beta (04/04/2011)
Ubuntu 10.10 (Maverick)
v1.10 (23/04/2011)
- Kernel 2.6.38.4
- Package updates
- Default to max cstate=2 to avoid crackles on (all) jogglers without grub.cfg editing
v1.9 (04/04/2011)
- Updated Kernel to 2.6.38.2 - Includes fix for EFI framebuffer palette bug, so graphical boots now look right
- Packaged vendor wireless driver due to reports of improved stability and better wireless N support
- Updated to latest Ubuntu Maverick/Linux Mint packages
v1.8 (13/03/2011)
- New release to address stability concerns
- Kernel configuration tweaks
- Updated firmware for the wireless card
- Use NOOP io scheduler by default that should be faster on USB flash devices
- Shutdown/Reboot should be more realiable and less likely to freeze
- Use text splash screens - no more bad colours on boot
v1.7 (11/03/2011)
- Upgraded to kernel 2.6.37.3
- Backported btrfs with lzo compression for much better performance with compressed btrfs
- /proc/sys/vm changes for better performance running from a flash device
v1.6.1 (02/03/2011)
- Previous release was missing a configuration change for working sound on Squeezeplay. If you downloaded the previous version you can enable this by following the config file editing instructions for squeezeplay detailed above.
v1.6 (24/02/2011)
- Upgraded to latest Flash 10.2
- Working XBMC installed by default
- Include Squeezeplay by default
- VA-API accelerated mplayer installed in /usr/local/bin for HD video playback
v1.5 (01/02/2011)
- New EMGD graphics driver v1.5.2 - works with xserver 1.9 - sorry no xbmc/unity still
- Upgraded back to standard Ubuntu Maverick xserver 1.9 (was using 1.8)
- Working VA-API for video acceleration
v1.4 (10/01/2011)
- Now based on Ubuntu desktop rather than the netbook edition. Since Unity doesn't work yet anyway, it made more sense.
- Latest Maverick / xorg-edgers / Joggler package updates.
- Audio tweaks (snd-hda-intel module parameters).
- Enable bootsplash (some wrong colours, but more interesting than text)
- Include Btrfs image without compression (good speed and kinder to cheap flash devices than Ext4)
v1.3.1 (04/12/2010)
- Include larger set of audio drivers with kernel in case users want to use alsa supported USB sound cards.
- Include Ext4 version of the image in addition to the compressed Btrfs version for those that want performance over free space, or have larger usb devices.
- Slightly smaller image again, (~5 MB) for compatibility with "undersized" USB sticks.
v1.3 (27/11/2010)
- Rolled back HDA drivers to the versions from kernel 2.6.32, which solves the lack of automatic switching between jack/speakers as well as high pitched interference sounds on boot when jack connected. Also removes a bunch of ALSA errors that pointed towards the codec being probed incorrectly.
- Added xinput-calibrate tool to my PPA, and installed by default. Also added a small script to allow users to easily calibrate the touchscreen and save their settings.
- Improved performance during USB io using a userspace alternative to a 200 line kernel patch that has been in the news recently
v1.2.2 (16/11/2010)
- Image size reduced to exactly 4GB to avoid problems on usb keys with slightly differing sizes.
v1.2.1 (02/11/2010)
- Minor config changes : Login/Lock screens now have the onboard keyboard on them (The nicer looking florence keyboard doesn't integrate as well in this case)
v1.2 (01/11/2010)
- Includes new Florence on-screen keyboard
v1.1 (28/10/2010)
- v1.0 had a xorg.conf with the wrong resolution. If you downloaded the first image
you can correct this by copying this fixed xorg.conf to
/etc/X11/.
v1.0 (26/10/2010)
Links
Joggler Community
Other projects
ExoticA server hosting is provided by Mythic-Beasts. See the Hosting Information page for more details.