How to make subwoofer work in Ubuntu

Posted on Sat 22 June 2013 in HowTo • Tagged with sound, subwoofer, Ubuntu, Linux

Using the same computer with Windows 8 and Ubuntu I noticed that the sound was worse in Ubuntu and I discovered why soon: subwoofer doesn't work out of the box!

How to fix it

The fix is quite easy to apply (but it was not easy to find the right one!). First of all edit /etc/pulse/default.pa and add this line at the end:

load-module module-combine channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe

then edit /etc/pulse/daemon.conf, modify the line enable-lfe-remixing: no to enable-lfe-remixing: yes, then uncomment it (remove the semicolon in front of it). Reboot your PC and enjoy the subwoofer!

References


UDS happening online only: pros and cons

Posted on Tue 05 March 2013 in Ubuntu (EN), UDS • Tagged with Canonical, community, Linux, meeting, Ubuntu, UDS

When last week Canonical announced the usual UDS was not going to happen I was a bit shocked and disappointed: starting from the next UDS (that is going to happen tomorrow!) the event will be online only and every 3 months. During these days I've been thinking a lot about this move and I will tell you what are the pros and cons, in my opinion, followed by some final thoughts.

Pros

Having 4 UDS every year, instead of 2, is surely a better thing. I'm a big fan of Scrum methodology, so I think that iterating more often is better than iterating less. If there are any mistakes you can correct them and iterating again before releasing the final product.

Potentially more people can partecipate to the event (even the opposite is true and I will explain why). People won't need to move from home, travel, pay any expense etc... they just need a computer and a good Internet connection.

It's cheaper for everyone: I can just imagine how expensive could be for Canonical to organize a similar event. Booking a big hotel, paying travel and expenses to near one houndred of community people. People who didn't get any sponsorization had to pay all the travel expenses to attend the event.

Cons

Potentially less people can partecipate to the event. Yes, like I said before even this sentence is true and I will explain why. First of all, using Google+ there are at least three countries that will be cut out: China, Thailand and Vietnam. Google+ is not available in those countries.

Are you sure that special people will be able to follow the event? For example blind people won't be able to chat or to ask question in the chat.

Only 10 people will be able to talk. In normal UDS sessions more people could raise the hand and ask a question or interact with the track leaders. Who will choose the 10 people with audio+video streaming rights?

We will completly miss the social aspect of the UDS. If you think this was only a secondary part, please go on. I felt more committed to work and collaborate with people I met in person than with someone I've never met before.

Announcing an event, even if online, just one week before it happens. Really? Some people had already taken vacation from work, booked flights etc... not counting many people that can't take 2 days off from work just with 1 week notice period. It's also almost impossible that community members have the time to schedule a blueprint and be able to discuss about a subject.

Final thoughts

From a cutting costs point of view I really can't say anything. Organizing UDS was surely very expensive for Canonical and nobody can blame them if they decided to spend those money in a different way.

What really concerns me: is UDS still useful? My opinion is that at least since latest 2 or 3 UDS the presence of the Community was not so relevant, because I had the clear sensation that the most important decisions were made by Canonical before the UDS and then there was just some details tuning. Another proof of my thoughts is the today announcement: despite the fact that I 100% agree with Unity switching to Qt/QML (I already proposed this 2 years ago during Budapest UDS, but nobody listened to me) I completly disagree with the way the decision was made: not a single involvement or discussion with the community.

I would apreaciate more openness and honesty from Canonical. Do you want to take all the decisions? That's fine, but at least state it clearly.


Using QtCreator to deploy and run a Qt application to a remote Linux device

Posted on Thu 17 January 2013 in HowTo • Tagged with deploy, Linux, Qt, QtCreator, SDK, Ubuntu

QtCreator is a very flexible IDE and can really be adapted for a lot of things. I usually use it to develop mobile applications for Nokia N9 and BlackBerry 10, but it can be used for more generic tasks. In my case I wanted to be able to develop a Qt application using my desktop PC, deploy it and run on a remote (actually it's on the same desk) Linux machine running Xubuntu.

Doing this is quite easy and you don't need any specific plugin on QtCreator, but be sure to have at least version 2.6.x. Other than QtCreator you also need two Linux based PC (I used Ubuntu 12.10 for my development machine and Xubuntu 12.10 for the remote netbook) and an SSH account on the remote PC.

Add the remote device to QtCreator

QtCreatorDevice

To add the remote Linux device on QtCreator, use the Tools->Options menu and click on "Devices" item. At this point click on "Add" button and fill the fields using values similar to the screenshot. In particular specify a name for the device, the IP of the remote machine and a username and password that must already exist (I just created the user "andrea" on the Xubuntu machine and used the same password). I also had to set the timeout to 20 seconds, because I had some connection problems and the connection kept dropping after 10 seconds trying. To verify if everything is working fine, just click on Test button.

Add a specific Qt version

QtCreatorQtVersion

To write your application you may need a specific Qt version that is different from the one distributed by your Linux distribution. There's no problem, QtCreator let you add different Qt versions without any conflict. In my case I installed the Qt5 version distributed by Canonical Qt5 Edgers Teamhttps://launchpad.net/~canonical-qt5-edgers
Once it's installed, just click on "Add" button and select the qmake specific to the version you want to add (in my case it was in /opt/qt5/bin/qmake ).

Add a Qt Kit

QtCreatorQtKits

QtCreator permits to add new Kit (development configurations) and these kits are used during project creation to specify what you want to target. In my example I added a new kit choosing an appropriate name "Qt5 Ubuntu", the device type, the actual device previously configured and finally the Qt version that we added before. With a kit I have a complete "toolchain" that allow me to write applications for a particular device, with a specific Qt version.

Putting the pieces together

At this point you just have to create a new "Qt Quick 2" application, and select the new kit you just created instead of the "Desktop" one. Please note that there is a little problem that I haven't fixed yet (but I'm working on it): if you create, for example, a project named "QtTest1" it will be deployed to the folder /opt/QtTest1/ on the remote machine. By default your user doesn't have read+write permissions for that folder so I manualy created the folder and I gave a chmod 777 on it, just for testing. There are two possible ways to fix this: you could create a specific user that has read+write permissions on /opt/ or you could modify the deployment configuration to have the app deployed to the user /home (I will investigate on this possibility and I will write something in one of the next posts).

Final thoughts

What all of this could be useful for? Well, do 2+2 and you'll easily guess ;) In the next weeks I will post more specific informations and I will update everyone with my progresses. Any comment is welcome! If you want to contribute to this you're welcome too of course.


HowTo extend HTC Desire internal memory to 2Gb using CyanogenMod 7 and Data2SD

Posted on Sat 13 August 2011 in HowTo • Tagged with Android, Google, Linux, howto, cyanogenmod

htc-desire

Introduction

Even if it's not a new model, the HTC Desire is still a very good Android device, thanks to its 1Ghz CPU and 512 Mb RAM, but one of the biggest problems of this phone is that it comes with only 148Mb available in the ROM. Once the operating system is installed (ROM I mean), after installing few useful applications you'll end the available space very soon. There are many apps available, like App2SD that move your applications to the SD card, but it's not enough because only the application is moved, not the data. To move the data to the SD card, there is a very nice utility called Data2SD. Please note that this procedure requires you to reflash your device and partition your SD card, so please do a complete backup before proceding.

What you need

Backup your data

Before following these instructions, please do a complete backup of your microSD, of your original ROM (using Nandroid or similar) ecc...

Prepare the microSD card

  • Open GParted on your Ubuntu Linux or use the GParted Live CD/USB.
  • Delete all partitions on this microSD
  • Create the first one using FAT32 filesystem, leaving 2Gb (2047Mb) available at the end.
  • Create a second partition using ext4 filesystem.
  • Confirm your changes
  • Copy CyanogenMod7 rom, Data2SD installers and Google Apps on FAT32 partition

CyanogenMod 7 installation

  • Reboot your phone into Recovery (turn it off then press volume down + power)
  • WIPE all data (userdata, cache ecc...)
  • Choose "Install from SD card" and select CyanogenMod7 installation zip
  • when finished reboot your phone
  • Enter your Wifi settings, language ecc.... DO NOT enter your Google account settings.
  • reboot your phone

Data2SD installation

  • Boot into Recovery again
  • Choose "Install from SD card" and select Data2SDInstallerX1.zip (please note, you may have to turn off the signature verification in Other->Turn off ecc...)
  • when finished reboot your phone
  • now you should see 1,97Gb if you go in Settings->Storage->Internal Storage->Total space

Google Apps installation

  • Reboot your phone into Recovery
  • Choose "Install from SD card" and select the Google Apps zip file
  • reboot your phone

Conclusion

You now have 1,97Gb total space available instead of 148Mb. Enjoy your HTC Desire!

Update Aug 1, 2012: since December 2011 I don't have an HTC Desire anymore. These informations could be still valid but in any other case I don't have the possibility to help you more.