Wily 15.10 PPAs ready for testing

Quick update for all Wily Ubuntu (15.10) testers.

The following PPAs that I maintain have had updates to cover the forthcoming 15.10 release later this month.  Please have a look and report any issues.

System Monitor Application Indicator:

sudo add-apt-repository ppa:fossfreedom/indicator_sysmonitor

More information about this release is here.  If you find any issues please report them on the project tracker.

Rhythmbox Plugins:

sudo add-apt-repository ppa:fossfreedom/rhythmbox-plugins

Information about all the plugins can be found here.  If you find any issues drop a comment and I’ll try to help.

Rhythmbox (latest sources upstream pending the expected new release soon):

sudo add-apt-repository ppa:fossfreedom/rhythmbox

If you find any issues please file a bug-report on bugzilla.

Separately, my rhythmbox plugin alternative-toolbar has been updated to v0.13.3.  In this release is the latest translations.  Dont forget – please help out by translating this plugin as well as coverart-browser and coverart-search-providers.

My opensource contributions Q3 2015

This quarter has been a fairly busy time updating and enhancing various projects.  If you like what I’ve been up-to, remember you can say thanks by buying me a beer via Flattr or Paypal

Project development

Radio-Browser: I’ve finally found some time for this project after a year away.  I’ve fixed a crasher bug that prevented the ability to rip songs from radio-streams.  I’ve also merged in some changes another developer has made when forking the project but (forgot?) did not request a pull-request.  I’ll upload this into my rhythmbox PPA fairly soon.

Rhythmbox-Fullscreen: Whilst not my own project, I’ve contributed a fix resolving an issue that allowed the plugin to automatically recognise and scale correctly high resolution monitors.

Now Playing: Again, not one of my projects but I’ve been helping the main developer to find various bugs.  I’ve also run through and fixed various python PEP8 issues and supplied other fixes.  Expect to see this in my rhythmbox PPA soon once the author has confirmed he is happy for the project to be pushed to a wider audience.

Indicator-sysmonitor: I’ve been looking at some new ideas on this project.  I’ve implemented the ability to display custom icons in addition to text for custom scripts.   I’ve got a couple of other things to-do before marking this version as stable.  More news in the next quarter.

remember-the-rhythm: This looks to be a defunct project and hasnt been updated to Rhythmbox 3+.  So I’ve forked this, made it compatible with RB3 and added the ability to remember the state of playing when exiting rhythmbox. Expect to see this in my rhythmbox PPA once I’ve made some additional changes soon.

rhythmbox-hide: I’ve fixed a bug making this plugin work with versions of rhythmbox prior to RB 3+

coverart-browser: I’ve been looking at enhancing the artist view converting it from a tree-view to an icon-view.  This is a complete revamp of the GUI in this area but should make things much easier to navigate and find music by artist.

alternative-toolbar: lots and lots of fixes and translations have been added.

rhythmbox-android-remote: I’ve resurrected this plugin from the code-graveyard.  Made this RB3 compatible and did lots of fixes.

DRC: not one of my projects – but I’ve been helping out the author with testing and making code suggestions and other enhancements.  Look for this one in my rhythmbox PPA.

PPA Updates.

  • Rhythmbox-plugins: six plugins have had updates – some like alternative-toolbar has had many updates due to enhancements and other fixes
  • Rhythmbox: I updated the trusty archive with the latest development snapshot.

As always – I’m always looking to work with you – whether you can translate, test or provide code enhancements.  Just drop by one of my projects, fork, raise issues etc.

new rhythmbox android support

some quick news for rhythmbox and android fans.  Upstream have added better android support.

Previously, android support was via the MTP plugin and protocol.  As many users know – this old plugin has not really worked producing spurious errors, crashes and failed syncronisation of music.

Committed in the upstream code-sources is a new plugin and I’ve uploaded this for Trusty (14.04) users via my PPA (installation instructions here).

This new android support is built-in so you don’t need to manually enable this plugin.  If you use the MTP plugin for your other MTP devices this existing plugin can remain enabled – otherwise just disable the MTP plugin via the plugins menu.

This is brand new stuff – so report any issues upstream to get the necessary fixes into next version of rhythmbox – probably around mid september.

Other changes – I’ve made the visualizer plugin a suggested package not a dependency – its not a dependency upstream so I’m falling into line here.  If you want the visualizer plugin – install the rhythmbox-plugin-visualizer package

I’ve added the needed grilo packages to the dependency list to stop an annoying grilo error message appearing when you launch rhythmbox via a terminal.  N.B. Grilo packages support Jamendo as well as the upnp & DLNA protocols.

I’ve dropped the zeigeist plugin from the dependency list.  It has never worked since the migration to python3 via rhythmbox 3 due to zeitgeist not supporting python 3 upstream.  You can safely remove the rhythmbox-plugin-zeitgeist package now to tidy up.

Other notes – it looks like rhythmbox upstream may move to GTK+3.12 or later – this means no more support for Trusty users.  Nothing upstream has actually been committed yet – but if it does I’ll need to judge if I can still produce a trusty package by dropping those commits. Watch this space.

Calling all arabic speakers…

trusty - VMware Player (Non-commercial use only)_084Today I’ve made a small tweak to my Rhythmbox plugin – Alternative Toolbar – to support Right-To-Left languages such as Arabic.  The play button is now the correct direction for your locale :)

So for you Ubuntu 14.04 arabic users – enjoy … there is a but though.  As you can see, the locale contains a mixture of english and arabic.

So please help me to help you.  If you are an arabic speaker – or know someone who is, please can you translate the plugin into your language or specific locale.  It is very easy – just pop over to Launchpad here, select your language and locale and just submit your translations.

Alternative Toolbar already supports many languages – more would be welcome.

  • installation instructions for the plugin can be found in this post.


random disappearing letters

If you are suffering from random letters dropping off your screen then a short post here on how to workaround this.

Screenshot from 2015-04-22 00:09:46

This particular annoyance occurs for me after a few minutes of boot up – especially if waking up from being suspended.

I’m using Intel graphics – vivid (15.04) HWE on Ubuntu 14.04.  This occurred also when I was using utopic (14.10) HWE.

sudo nano /etc/X11/xorg.conf

copy and paste (CTRL + INS) the following

Section "Device"
Identifier    "Intel Graphics"
Driver         "intel"
Option         "AccelMethod" "uxa"

CTRL+X and answer yes to save and exit.  Finally reboot.

If this happens for you – click the “this affects me” option on this bug-report.

So what does this do? Well, it tells the Intel graphics driver not to use the default SNA code path but instead use the older UXA code-path. The older code-path is a kind of fall-back and isn’t as efficient as the newer SNA graphics.

To go back to the newer graphics either remove the xorg.conf file you created above – or just rename it followed by a reboot i.e.

sudo rm /etc/X11/xorg.conf


sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

N.B. I’ve seen other suggested workarounds such as tweaking the DPI settings and antialiasing changes but these do not work for me :(

How to upgrade to kernel 3.19 LTS Vivid kernel and xorg graphics for Ubuntu 14.04

Long-term Support for Ubuntu 14.04 also means that you can get the latest stable kernel and graphics as well.  Importantly, these remain supported by the kernel and graphics teams and you’ll receive a regular supply of updates for 9 months.

This article covers the following:

  • background with previously installing the utopic HWE
  • installing the vivid HWE with modified wiki instructions
  • fixing bcmwl wireless issues
  • cleaning up remaining utopic HWE obsolete packages


I did this previously to get the utopic hardware-enablement stack (HWE), so I was interested to tinker with the very latest supported HWE.

Remember – you’ll need to update just before 9 months to get the next LTS kernel and graphics before support is officially withdrawn.  If this sounds like too much hassle – best stick with the 3.13 kernel and graphics – they remain supported for 5 years!

Installing the vivid HWE:

The community wiki page describes how to install the latest kernel and graphics – but you need to be very careful.

The wiki page stated that to upgrade the kernel and graphics you use the following (sub utopic with vivid):

sudo apt-get install --install-recommends linux-generic-lts-vivid xserver-xorg-lts-vivid libgl1-mesa-glx-lts-vivid

Remember the magic “-s” parameter; with “-s” added you can simulate what would happen when you run an install command – for me, it revealed that there was a nasty conflict message.

sudo apt-get install -s --install-recommends linux-generic-lts-vivid xserver-xorg-lts-vivid libgl1-mesa-glx-lts-vivid
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies.
libgl1-mesa-glx-lts-vivid : Depends: libglapi-mesa-lts-vivid (= 10.5.2-0ubuntu1~trusty1) but it is not going to be installed
xserver-xorg-lts-vivid : Recommends: libegl1-mesa-drivers-lts-vivid but it is not installable
Recommends: libgles2-mesa-lts-vivid but it is not going to be installed
Recommends: libgles1-mesa-lts-vivid but it is not going to be installed
Conflicts: libglapi-mesa (>= 0~)
Conflicts: libgles2-mesa (>= 0~)
E: Unable to correct problems, you have held broken packages.

I fixed this with adding libglapi-mesa-lts-vivid.

sudo apt-get -s install --install-recommends linux-generic-lts-vivid xserver-xorg-lts-vivid libgl1-mesa-glx-lts-vivid libglapi-mesa-lts-vivid | more

N.B. press q to exit the paused display

I checked very closely the packages to be removed. I was happy to see all the utopic xserver packages being removed… however I noticed amongst the packages it would have removed were vital wine packages.

Instead I preserved my wine installation through this simulated command:

sudo apt-get -s install --install-recommends linux-generic-lts-vivid xserver-xorg-lts-vivid libgl1-mesa-glx-lts-vivid libglapi-mesa-lts-vivid libgl1-mesa-glx-lts-vivid:i386 libglapi-mesa-lts-vivid:i386 | more

Try the above and examine which packages would be removed.

Once you are happy – go ahead and remove the “-s” after the apt-get.

Fixing bcmwl wireless issues:

I mentioned in my previous article that upgrading to the utopic HWE my bcmwl wireless could have been left in a broken state because the bcmwl package had not yet been backported; since that report there has been no movement with this bug so I can assume bcmwl wireless would remain broken for anyone upgrading to vivid HWE from stock 14.04.2 kernel and graphics.

Indeed – after installing the vivid HWE above I saw the following:

Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.19.0-23-generic /boot/vmlinuz-3.19.0-23-generic
run-parts: executing /etc/kernel/postinst.d/dkms 3.19.0-23-generic /boot/vmlinuz-3.19.0-23-generic
Error! Could not locate dkms.conf file.
File: does not exist.
Error! Bad return status for module build on kernel: 3.19.0-23-generic (x86_64)
Consult /var/lib/dkms/bcmwl/ for more information.

So BEFORE I rebooted, I downloaded the wily (15.10) bcmwl package ready to install after rebooting.

wget http://mirrors.kernel.org/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_6.30.223.248+bdcom-0ubuntu2_amd64.deb

If you are still using 32bit then the equivalent package for you is:


After rebooting I installed the new wily deb with:

sudo dpkg -i bcmwl-kernel-source_6.30.223.248+bdcom-0ubuntu2_amd64.deb

Wireless sprang back into life and all is well.


Cleaning up:

Since I previously installed the utopic HWE I’m no longer interested in receiving future kernel updates for this LTS kernel. Thus, to do this remove the utopic kernel metapackage:

sudo apt-get purge linux-generic-lts-utopic

If necessary also remove the following packages:

sudo apt-get purge linux-lts-utopic-tools*

Then remove any obsolete packages

sudo apt-get autoremove

controlling rhythmbox using your android phone

bansheeremoteControlling Rhythmbox via a web-browser is not new.  Indeed, I’ve done this before via rhythmweb.  However I wanted to use my phone as a remote-control…

I thought it was a bit sad to allow rhythmbox-android-remote to suffer from bitrot – so I’ve forked it, converted it to python3 and fixed up some issues with the original source.

My new version of rhythmbox-android-remote is a backend tcp based server for the banshee remote app available through the android playstore.

It allows you to play, pause, forward/reverse, shuffle and repeat tracks.  It displays any coverart you have in your rhythmbox collection.  It also allows you to browse & play by album/track artist and tracks titles as well.  Just hit your phone’s settings button and touch the “sync” icon.

It is GPL-3 open-source based. So feel free to fork and make changes. Banshee-remote is similarly GPL-3 open-source.  So if you are wanting to dip your toes into android programming – grab the source here

Heck – if you want – I am most definitely willing to help with the rhythmbox side of things – I would love add functionality such as to control rhythmbox’s volume and also to “play all” tracks for an album.

So fork banshee-remote – call it something else, work with me to make the rhythmbox changes and publish to android’s playstore.


cd ~/.local/share/rhythmbox/plugins
git clone https://github.com/fossfreedom/rhythmbox-android-remote

Activate “rhythmbox-android remote” in the plugins window

Alternatively, install the “rhythmbox-plugin-android-remote” package from my rhythmbox PPA

sudo add-apt-repository ppa:fossfreedom/rhythmbox-plugins
sudo apt-get update
sudo apt-get install rhythmbox-plugin-android-remote