Jump to Navigation

LINUX

System Updates in LINUX can be messy or difficult if you're using non-repository software

One of the nice things about #! LINUX is that it assumes that you are smart enough to keep your system up to date by periodically checking to see if there are any updates available.  Ubuntu preferred to generate a window with a blinking icon, roughly as annoying as someone jumping up and down and waving their hands near your face just out of the corner of your vision while you're trying to compose a letter.  It was all the more annoying because I prefer to do my upgrades from terminal, because I can have an easier time handling kernel upgrades in that fashion.  This behavior is the norm from Microsoft because Microsoft assumes by default you are all idiot computer owners.  If, however, you are using LINUX, it can be safely assumed that you are not an idiot.  Of course this is what brings me to this post today.

Before I get into this, however, if you are new to LINUX or new to Debian based distributions, you should open a terminal window and type in the following two commands daily, or at the very least once a week, in order to keep your system up to date and secure:

sudo apt-get update

sudo apt-get upgrade

The first command will make sure your sources are all up to date with their lists of available software, and the second will automatically download and install new versions of your current sources.  This command will not, however, install new kernels and you will typically see a message stating that certain updates have been "held back".  If you do not have any manually installed packages (meaning without the use of dpkg, aptitude, or Synaptic Package Manager which are built-in software package management utilities) you can type the following command to upgrade your kernel:

sudo apt-get dist-upgrade

Two packages in #! that I install manually are AMD Catalyst to provide full 3D rendering support, and VMWare Player (which I have been using to create #! tutorial videos without having to modify my main system).  The downside to doing this is that these programs make changes directly to the kernel, consequently whenever the kernel gets updated, problems can occur.  Most notably they will occur when you try to upgrade other packages that impact these programs in some way, because aptitude or Synaptic Package Manager will fail to complete the upgrade.  Trying to remove the packages that have failed in order to reinstall them is not a good workaround.  Also, the following command will typically not work in this situation (but can be helpful if something did not install completely or correctly under normal circumstances):

sudo apt-get -f install

Consequently the best method is to do a manual uninstall of each program before upgrading your kernel.  This is why it is beneficial that "apt-get update" does not automatically upgrade your kernel (the above explanation has been filed under the category of "things that nobody ever bothered to explain to me but which would have been helpful knowledge to have", hence this post).

Unfortunately each program you install in LINUX manually is bound to have a unique uninstall method, and in some cases different uninstall methods depending on the version of the software you are using.  It will require some research and potentially some trial and error to figure out the correct command.  However, again, terminal will be your friend as you resolve these issues and you'll feel better knowing that you are much more knowledgeable about your computer than you used to be.

For example, the command to manually uninstall AMD Catalyst 12.1 is currently:

sudo sh /usr/share/ati/fglrx-uninstall.sh

Please note that if you have created .deb packages or installed Catalyst from a respository this command will not work.

Likewise, the current command to remove VMware Player is:

sudo vmware-installer -u vmware-player

When prompted it is likely safer to not delete your settings, unless you do not intend to reinstall VMware Player.

Once the software has been manually removed it is now safe to upgrade your linux kernal using the "apt-get dist-upgrade" command listed above.  After restarting your system, you can then safely proceed with reinstalling the software that has been manually removed.  Depending on the kernel update, it may be necessary to obtain a newer version of the software.  If a newer version of the software has not yet been released, you may wish to revert back to the previous kernel in the meantime in order to keep using your current version (which should still be available as a boot choice in your Grub startup menu).

Once you have working software again, it should be safe to uninstall the old kernel if you wish to remove it from your grub menu.

VMware Player Update: I'm using VMware Player 4.0.2 and just upgraded #! to the LINUX 3.2 kernel, which resulted in VMware Player attempting to update the new kernel and then failing to start with a "module updater unable to start services" error message.  If you run into this issue yourself, you will need to apply this patch after reinstalling VMware Player 4.0.2 before you can run it (link to patch file found at VMware Community Forums).  Download the patch to your home folder, then open a new terminal window and type the following commands:

tar -xvzf vmware802fixlinux320.tar.gz

sudo ./patch-modules_3.2.0.sh

You should now be able to run VMware Player 4.0.2 on the LINUX 3.2 kernel.

How to get your mic working on a laptop with a dual-channel internal microphone in #! (CrunchBang) LINUX

Click here to skip to the howto section.  It's funny how it was basically the exact same problem that I ran into in Ubuntu 11.04 (Natty Narwhale) that put me on the correct path to resolve this issue.  Basically, to sum up, this problem affects a number of modern laptops that have dual-channel internal microphones, which (apparently) are intended to support dual channel audio recording.  Exactly how two microphone channels on either side of your laptop are going to produce anything remotely near to the quality of two microphones is beyond me, but in this case it causes special issues that need to be addressed in LINUX.

I like to create videos of my desktop and various other things, and occasionally even use the YouTube webcam recorder.  Even more occasionally I'll take advantage of Google Talk's built-in video chat.  Nothing drives me crazier than something that I occasionally use not working and costing me stupid amounts of time trying to resolve, so I've started categorizing this issue as a high-priority item to resolve just to get it out of the way before I need it.

After installing #!, I noticed that I was not getting any microphone response on the YouTube webcam recorder, and initially attempted to resolve it using the GUI mixer by right-clicking on the volume control icon and selecting "mixer".  I then activated the microphone by clicking the red X next to the speaker icon and, when that didn't help, I clicked on the chain icon and lowered the right channel volume to 0, leaving the left channel volume set to maximum.  This still didn't help, so I selected the Capture tab, clicked on the gray dot beneath the first Capture entry, and when this did not resolve the problem I set it aside for the time being.

Because these sorts of issues tend to fester in my brain, I took another couple cracks at it before finally applying myself to focusing on the issue in alsamixer like I had before.  In my experience, solutions tend to be more likely and also tend to stick when using terminal (or in this case terminator).

Again, in alsamixer I had the right channel of the microphone reduced to 0 volume, and the left channel set to 100, as this is what had solved my problems in Ubuntu.  This didn't help me here.  I then experimented with various settings, but finally came up with this as the final solution:

I arrived at this solution after pressing F1 to read the Help dialogue, and noticed that while Capture was selected, I could press the Spacebar to toggle Capture on and off (it shows up red in the above screenshot).  More importantly, I noticed that if I pressed either the ; or ' keys I would toggle the left or right capture channel off and on.  I toggled the right channel to off with the ' key and left the left channel enabled, then tried again.  Success!  In this case it appears that the left and right microphone channels compete with each other for the same resources, effectively cancelling each other out.  Disabling one allows the other to work.  Since I have no plans for recording dual channel audio with my internal laptop microphone, this solution works just fine.  YouTube and Record My Desktop work great now.

I still need to work out how to resolve issues with Google+ Hangouts / Google Talk, but that's not a priority for me at the moment.  See below for step by step instructions including support for Google+ Hangouts / Google Talk video chat / Google Voice.

Instructions:

Open a terminal window and type the following to open the mixer:

alsamixer

Make sure you have the correct sound card selected.  In my case it was the default sound card, but you can press F6 and use the arrow keys to select the one you want from the small window that pops up in the alsamixer, or the Esc key to leave the window and return to the mixer.  See the included screenshot above for reference.

Press F5 to view all devices - typically they will not all fit on a default size terminal window, but you can extend the window or maximize it so you can view everything on one screen if you so wish.  Alternately you can use your right and left arrow keys to move between each section as you jump from device to device.

Use the right and left arrow keys to navigate to Mic.  If you see MM at the bottom of the volume indicator, that means the microphone is muted, otherwise it should display 00.  Press the M key on your keyboard to toggle to unmuted if it is not already displaying 00.  Also use the up and down arrow keys to change the volume, I recommend setting it to 100 with the up arrow key.

Now use the right or left arrow key to select Mic Boost (there may be two entries) and lower the volume (on each) to 0.  Mic Boost is likely to cause problems by creating distortion and noise interference - only if you find your recording volume is too low should you raise the volume on these devices.

Verify that Input source is set to the correct device.  In my case, Input Source is set to Internal Mic, and Input Source 1 is set to Mic (to allow me to hook up an external microphone if I so choose).  To change either, use the left or right arrow keys to select each device, then while selected use the up and down arrow keys to select your preferred option.

Next, select Capture using the left or right arrow key.  Raise the volume to 100.  If you do not see the word CAPTURE in capital red letters, press the Space bar to toggle it enabled.  If your system is a laptop equipped with dual channel audio, press either the ; or the ' key to toggle either the left or the right channel disabled (only one needs to be disabled).  If this does not work, you may need disable CAPTURE on this device, and enable it on Capture1 or Digital (sometimes these entries are not labeled correctly and some trial and error may be necessary to determine which one matches your audio card's microphone).

Press the Esc key to quit out of the alsamixer.  This would be a good time to test audio recording using something like RecordmyDesktop or YouTube's web camera recorder.  YouTube's web camera recorder is particularly helpful because it will display microphone activity even if you are not recording.

If you intend to use Google Talk's video chat, Google Voice or Google+ Hangouts you will need to do the following.  If you have already installed the GoogleTalk Plugin skip down to the enxt step. Download the GoogleTalk Plugin here: http://www.google.com/chat/voice/ and select the correct .deb file for your system (32-bit or 64-bit).  Install it with Gdebi Package Installer by right-clicking the downloaded file in the File Manager and selecting this option.  Enter your password when prompted and allow the install to complete.

Enter the following commands into your terminal window:

cd ~/.config/google-googletalkplugin

cp options options.bak      #there may be no options file yet

nano options

Look the following entry (if you are creating a new options file or this entry is not present skip to the next step):

audio-flags=3

And change it to the following (or simply add this line if it is not in the options file):

audio-flags=1

Then press CTRL+X to Exit, and save your changes when prompted by pressing the Y key.  Enter the following into your terminal window to return to your home directory:

cd

Now you need to figure out the hardware name of your microphone by typing this command:

arecord -L

This should generate something that looks like the following:

 card 0: Intel [HDA Intel], device 0: ALC60 Analog [ALC670 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0  

In my case, the device name I was looking for was to the right of card 0: - Intel.  Now it's time to create an .asoundrc file if you don't already have one.

nano .asoundrc

Add the following into your new .asoundrc file (if you already have a .asoundrc file you may wish to copy your file to something like .asoundrc-old first as a backup):

pcm.internal   #named for internal mic, could be pcm.anything
{
   type hw
   card Intel   #Change the name of your card here as appropriate
   playback.pcm
}
pcm.!default
{
   type asym
   playback.pcm
   {
      type plug
      slave.pcm "dmix"
   }
   capture.pcm
   {
      type plug
      slave.pcm "internal"   #must match the name selected on the first line after 'pcm.'
   }
}

Click CTRL+X to Exit, and save when prompted by pressing the Y key.  Reload ALSA by typing the following:

sudo service alsa-utils restart

You should now be able to use your microphone via the Google Talk plugin in Google Talk, Google Voice or Google+ Hangouts.  Because Skype is now owned by Microsoft, please don't ask me to help you with your Skype issues - however, the above should help get you working.

ALSAMIXER Configuration #!

Current working ALSAMIXER configuration on Intel HDA Realtek ALC670 audio for internal microphone support in #! LINUX

ALSAMIXER Configuration #!

My initial reactions after switching from Ubuntu to #! (CrunchBang) LINUX

Just to be clear from the beginning - this is meant to be a positive post in regards to #! - especially after my previous post regarding Ubuntu I didn't want to give anyone the wrong idea with my title.  My experiences thus far have been quite excellent.

In fact, for starters I had mentioned how much I love the Ubuntu community.  In my experience they are quite good at providing helpful information, especially for new users who have gotten stuck on something.  There have been a few cases where they were not so helpful, and occasionally downright rude, but in general Ubuntu forums tend to have less rudeness than you might find on the forums of other LINUX distros.

However, I immediately found that #!'s user forums are much friendlier by several orders of magnitude than the user forums of Ubuntu.  I took the opportunity to introduce myself in the section for new users, partly because new accounts are deactivated if there is no activity after a week, and got what to me felt like a very warm reception, something I've never felt existed on Ubuntu's forums in any form.  The feeling I got from everyone's nice response was very akin to something I haven't felt since my college days playing Meat MUD.  I felt like I was at home, or at least as much as anyone can feel like they are home while they are on the internet.  I hadn't even installed #! yet but I was already a happy camper.

I accidentally clicked report instead of reply on someone's forum post, and the administrator did not take me to task for bothering them with a mis-flagged posting, but gently mentioned that I must have accidentally hit the wrong button with a smiley face, indicating it was no big deal.  I remember getting lambasted at Ubuntu for cross-posting a support request after it had been ignored for several days.  That's a huge difference right there.

So I backed everything up to a new image file using Clonezilla, and dove into the install headfirst, formatting my primary SSD's ext4 partition and starting anew.

Graphical installation was what I remember from older versions of Ubuntu - I didn't boot into a Live environment to conduct the install, but it was still relatively straightforward and mostly easy to get through.  Getting the installer to simply format the existing ext4 partition on my primary hard drive instead of destroying it and creating a new primary partition with a swap partition was a little tricky - I've got 4GB of RAM on my laptop and I prefer to not have swap on my SSD to avoid shortening its lifespan.  Configuring fstab was roughly as simple as mirroring the one I had saved from my Ubuntu setup, although I had to first look up the UUID of my secondary hdd using the 'blkid' command.  My secondary hard drive now mounts automatically during startup just like it used to.

After installation is complete and upon logging into #! for the first time, the user is prompted to run a series of scripts to help make the system a bit more usable.  This was helpful and appreciated.

The OpenBox UI is clean, lightweight and fairly easy to get accustomed to.  Instead of launching apps by clicking from a menu list at the top-left corner of the screen, I can right-click anywhere and select from a customizable list of default applications.  There are also links contained within this menu for setting up some non-defaults, such as LibreOffice.  For programs not listed in the menu, a simple ALT+F2 yields a quick command box launcher. Other shortcut keys are listed in the Conky system monitor display, which I opted to hide and replace with some additional system info such as temperature and network addresses.

Updating and installing software is pretty similar to Ubuntu.  #! uses Debian repostories, with the source repositories disabled by default.  I went ahead and enabled those with the expectation that I may wish to compile certain programs as needed.  Synaptic Package Manager is included by default, which is no longer the case with Ubuntu Oneiric.  I typically prefer to use aptitude from the command line, but if there's something I can't remember the name of Synaptic comes in handy.

I was not happy with the default icon set, so I went ahead and installed Faenza and on reboot everything looked good.  I would like to replace Iceweasel with Firefox on principle, but that's lower priority since the two browsers are nearly identical.  I attempted to upgrade GIMP to 2.7.4 beta without success - unfortunately there are dependancy issues that would require me to use the latest development version of #! and I'm not quite ready to do that yet.  I also was not able to awaken the system once it went into standby, so I disabled all power saving features except for allowing the screen to go to black.  This has been a common issue with me with pretty much all systems I've owned, whether brandname computers or custom - I typically disable power saving because it rarely works as advertised.  If I need to save power, I'll be better off shutting the system down, because the total time to boot and reach the login screen is less than thirty seconds (bear in mind my primary drive is solid state, which makes bootup significantly faster than if it were a hard disk drive).

Other things I was able to do with relative ease was to restore PlayOnLinux and all installed games (this is a massive amount of invested time saved) and MPD+NCMPC (although some tweaking was necessary due to folders with capital letters being renamed with lowercase).  I also found that while I could not easily create deb files from AMD's Catalyst 11.12 installer, I was able to run the installer and end up with good 3D rendering support - signifcantly better than what I was getting in Ubuntu Oneiric with fglrx-updates (Catalyst 11.10).  The trade-off is that I will need to uninstall and reinstall Catalyst every time the system receives a kernel update, but I can live with that.

Overall, I'm pretty happy with #! LINUX and intend to keep it around as my primary OS.  Due to the fact that the UI is not quite as intuitive as other systems, when I get around to installing this on the family computer I will likely include the wbar launcher so that everyone using it can easily find the programs they are looking for.  But aside from that minor detail, I'm finding the issue of having to transition away from Ubuntu is not as big a deal as I thought it would be.  #! is a great way to migrate from Ubuntu without having to relearn the entire operating system all over again.  It's fast, it's lightweight, it doesn't get in the way, and I particularly like that it's not being developed by a "benevolent" dictator who could clearly care less what the community who helped get Ubuntu recognized thinks about the transition to a operating system for televisions.  Philip Newborough strikes me as a particularly cool guy, and someone who is developing #! as a labor of love, as opposed to a means to an end. 

Canonical has always clearly intended as a long term investment by Mark Shuttleworth, one which would eventually become profitable, and they are clearly making strides in that direction.  It is unfortunate that the process involves sacrificing those who helped make Ubuntu what it is today.

But hey, I'd rather commit my time and energy with a community that actually cares.  Goodbye Ubuntu.  It was nice knowing you while you were still useful.

Hello #!.  I'd like to get to know you better.

(logo created by Jens of #! LINUX Forums)

Why I'm pissed off at Canonical for Unity and why I'm pissed off at Gnome for Gnome3

Let me start off by stating that when it comes to technology, I tend to hold a grudge for a very long time.  I'm still pissed off about what nVidia did to 3dfx.

I've been an avid fan and user of Ubuntu LINUX starting in 2005, sometime after we survived the Hurricane Katrina disaster.  The first release we installed was Hoary Hedgehog (5.05), and we've been using each subsequent release ever since.  Ubuntu has been great.  I've loved how each release has made massive leaps and bounds from the previous release, and how problems with each tend to be corrected in the next.  I've loved the usability, the style, and the overall sense of freedom that comes with using a LINUX desktop operating system on my personal computers, regardless of how sometimes things didn't quite work the way I expected.  I love the community and the additional support they provide.  With Natty Narwhale (11.04), I made the complete transition away from Microsoft Windows on my personal computer and haven't looked back or felt compelled to reinstall Windows ever since.

There was a lot of community grumbling with the introduction of the Unity window management system with Ubuntu Natty Narwhale, but it included the option to revert back to the classic Gnome 2 style desktop during login (which I took advantage of).  Most people violently hated Unity when it was first introduced, and many people still do.  I was ambivalent about it from the standpoint that there are always choices when using LINUX, and if I wanted to switch from Unity to Gnome after installing the next release (Oneiric 11.10) then that should be fine.  Regardless, I still gave Unity a shot and came away feeling that while it is an interesting approach to UI, it does not allow enough customization for me to make it feel comfortable, and breaks away so much from the Gnome 2 UI as to make transitioning between the two difficult at best.  The difference between the default Ubuntu Maverick Meerkat (10.10) and Natty Narwhale is night and day.  Canonical's statement that they are moving toward tablet, phone and television UI development helps clarify why Unity is the way it is, but that doesn't change the fact that many people (myself included) find it a detriment to day to day computer use.

Gnome 3 Shell also dramatically changes UI, but in a more intuitive manner, and I ultimately felt that once the Ubuntu Oneiric Ocelot (11.10) release had a chance to settle down and work out the initial release bugs I would give it a shot with an upgrade install and use it as my default UI.  Things did not go as I intended, or hoped for that matter.

Part of the issue is that in terms of computer hardware, I'm extremely picky.  I'll use Intel products because I can (grudgingly) admit that they are typically high quality, reliable and stable and have a good reputation, regardless of how Intel chooses to run its business.  It's the Intel company that I dislike, not their products.  nVidia, on the other hand, has managed to earn my ire from both a company and product standpoint, and I wouldn't touch their unstable, overheating, poor-quality crap with a ten foot pole.  They very well may now make reliable products that are superior to the crap they were slinging a few years ago.  I could care less if they do.  The fact remains that they knowingly shipped defective product and tried to cover it up when they were discovered, which in my book lumps them directly into the same category as Dell.

So, sadly, in the LINUX environment, nVidia is more popular and therefore tends to have better support than AMD's graphics cards.  Part of the issue is that nVidia provides better driver support also (although they are not 100% perfect on the driver support end, nobody is).  But to cut to the chase, given a choice I only pick Radeon graphics cards.  And since Gnome 3 shell and Unity are both bleeding edge, driver support is limited at best.

Unity with fglrx drivers renders strangely, with artifacts all over the various window decorations.  Gnome 3 shell is unstable and frequently crashes, sometimes for something as inane as closing a tab in a Firefox browser window.  This is true whether the drivers are from Ubuntu's repositories or straight from AMD.com, and they've caused me endless frustration.  A newer version of the driver set listed as fgrlx-updates corrects some of these issues, but not enough to generate a stable Gnome 3 shell environment.  Consequently I found myself using the Gnome Classic (no effects) option when signing into Ubuntu, which is pretty much a stripped down version of Gnome 3 shell with a more classic interface and fewer customization options.

The next insult came when I found that installing the latest Catalyst drivers from AMD.com resulted in broken 3D rendering support, because Oneiric wouldn't load the drivers.  I've since logged a bug with AMD reporting the issue, but it has not been assigned to anyone and there do not appear to be any solutions for the problem other than to install fglrx-updates from the Oneiric repositories.  I don't know if this is just a 64-bit issue, or it is because I upgraded from Natty to Oneiric instead of doing a clean install, or what, but it turned into a major time sink for me as I attempted to find a better solution and failed.

So for the next few weeks I lived with fglrx-updates even though I knew I could get better 3D performance from the drivers from AMD.com, if they would only work.  I lived with signing into Gnome Classic (no effects) mode even though I could not fully customize to UI for ease of use.  I waited for updates that never came.  Then I made a big mistake.

I came across these instructions for installing the latest bleeding edge release of Gnome 3 shell, and even after reading the warnings, the comments from users who had suffered upon installing the PPA and so forth, opted to give it a go in the hopes that it would resolve these issues (and I will be removing the offending site from my favorites column on the left as soon as I'm finished with this post as a result of their keeping this bullshit published and available to the general public).  The resulting broken, unstable mess was too much for me to bear.  The ppa-purge program is a total pile of epic fail and did nothing to help me.  I struggled for over an hour trying to undo the damage and ultimately gave up.  Angry, frustrated, and just wanting a computer that simply worked correctly, I did something I have never before had to do since I started using Ubuntu.

I downgraded my system to the previous Ubuntu release version by restoring the backup I had created before upgrading to Oneiric. 

I am now running Ubuntu Natty Narwhale 11.04 again, and I have no intention of returning to Ubuntu Oneiric Ocelot 11.10, either now or in the future.

I am doubtful as to whether I will install any of Ubuntu's future releases other than their server OS, which I currently run on the system hosting this website (it does not have a Window manager installed).  However, in the event that I upgrade the server to a 64-bit multi-core system, there's a pretty good chance that I will pick a different distro based on how misused I'm feeling right now.

This is not a tenable solution because it prevents me from being able to run GIMP 2.7.4 - I have had to revert to 2.7.3 because I cannot install the newer version on this release of Ubuntu.  There are a significant number of improvements between the two, enough to make this a rather serious issue in my mind.  I am going to have to find another distribution.

So to get back to the title of this post - Canonical has pissed me off by forcing everyone to use Unity in Ubuntu by default, and to further development of Unity they have forced everyone to switch to a new UI that is a) not finished and b) intended for tablets, phones and televisions, not laptop or desktop computers.  How this makes Canonical any different from Microsoft is a good question - in my mind Ubuntu's Oneiric Ocelot is akin to Windows Vista.  It's new, it's a departure from what has gone before, and it's a fucking broken turd.  Granted, it's free, and there are some out there who will point out that I have no cause to bitch, but getting this crap working does cost me an investment of time, and that's a luxury that I currently do not have in great abundance.

Likewise, Gnome has completely dropped support of Gnome 2 - the only way you can find documentation on how to customize the Gnome 2 environment is to use The Wayback Machine because they've scrubbed that data from the current website.  Gnome has turned its back on Gnome 2, and the Mate fork is just getting underway so it's barely an improvement when compared to Gnome 3.  Gnome 3 is an unstable UI when combined with AMD's Catalyst drivers, making it (in my book) an unusable solution.  Gnome Classic is worse than Gnome 2 in terms of usability, even though it mimics it relatively well. 

So basically I'm pissed because the Gnome development team cut off the branch we're all sitting on, and they're now sitting in a helicopter that has no tail rotor and offering us an opportunity to climb up the rope ladder to check out what they have so far, hoping we'll offer useful suggestions on the style of tail rotor they should use so that Gnome 3 can do something other than just hover in place.  I'm less pissed off with Gnome than I am with Canonical, because at least Gnome is attempting to build something usable for personal computer owners.

Canonical betrayed their user-base when they released Oneiric, in their pursuit of expanding their market for televisions, tablets and phones.  Something just doesn't sit very well with me there.  There is no longer a Gnome Ubuntu.  If you want a version of Ubuntu for your personal computer that is designed to be used on a personal computer, the choices are now Kubuntu, Xubuntu or Lubuntu - or else a derivative such as LINUX Mint.  To me there is now a vacuum to be filled here - there will probably soon be a Gubuntu or a Mubuntu (for Mate), take your pick as to which one.

I'm really not fond of any of the above choices.  I am planning on testing out Xubuntu as part of a tutorial I'm compiling for people who are still using Windows XP who want to switch to LINUX, and it's the distro with the XFCE Window Manager that Linus Torvalds, the father of LINUX, said he would be switching to as a direct result of his experiences with Gnome 3.  He's not the kind of person who minces words about things.  I tried Xubuntu once before and found it lacking, so I'm not really hopeful there.  Lubuntu is for really old computers that have as little as 128MB of RAM, and Kubuntu is the KDE version of Ubuntu, that again I'm not particularly fond of probably due to the amount of inspiration it seems to have drawn from Microsoft Windows. 

LINUX Mint seems to be on the path to migrate to Gnome3 as well, even though it is a step behind Ubuntu in that regard, so switching to Mint would only forestall the inevitable.  I am doubtful that Gnome3 is going to mature enough in the next six to eight months to fix its UI and driver support issues.  In a year or more...perhaps.  But I can't wait that long, support for Natty ends in October of this year.

So at the moment I'm at a loss as to which path to take.  A really significant part of me wants to go the route of Gentoo, or Linux from Scratch, but there is a significant time investment and learning curve involved before I would end up with a usable system.  Debian would have the shortest learning curve, but the whole Iceweasil incident was fucking clownshoes and they name their releases after Toy Story characters (petty, I know, but there it is). Archlinux is steadily gaining in popularity, but again seems very Windows-like in its UI.  OpenSUSE has been tainted by Novell's licensing agreement with Microsoft to not get sued and therefore cannot be trusted.  Mandriva may not be around much longer unless it can raise enough capital to pay for its development expenses.  Fedora just isn't my cup of tea, even if it IS based upon Redhat - and besides it was the first distro to embrace Gnome 3.  Slackware is tempting - it was my very first distro back in 1996, but it doesn't have package dependency checking by default, will entail a significant time investment in the form of a steep learning curve, and does not release new versions as frequently as I would like (the latest version 13.37 was released in April of 2011).  Any other distros I've looked into just don't seem nearly mature enough for me to even bother, although CrunchBang looks interesting enough for me to give it a serious try.  Downloading now.

Dear Canonical and the Gnome development team,

When you want your windows management system to evolve, it's generally a bad idea to take all the usability features and throw them out the window so that you can start over with a clean slate.  Those features were implemented over time for a reason, and forcing your userbase to do without them so that you can properly test out something is not going to win you many fans.  I understand that by eliminating support for these older systems you are making sure the new system are getting the proper testing they need for development and bug elimination, but the price you pay by pissing off the community at large cannot be measured.  Ego may help you in certain situations, but it will assuredly trip you up at the worst possible time.  I hope you both learn something from these experiences and avoid making these same mistakes again in the future. 

Dammit, I hate being in this situation.  Time to go do some more research.

More reasons to go Open Source keep popping up almost daily now

This is a great example of irony, Apple

So now it comes out that India's military strong-armed Nokia, RIM (Blackberry) and Apple into providing back-door access into their cellular phones using what sounds like some sort of rootkit application similar to Carrier IQ's rootkit.  The explicit purpose?  Unlike the supposedly benign purpose of providing cellular providers with helpful data to assist customers who are having technical difficulty, as claimed by Carrier IQ (right, sure), RINOA SUR is meant to spy on India's citizens.

So combine that with the increasing pressure to pass SOPA and you've got a nice recipe for complete takeover of all systems, whether they be on tablets, cellular phones, notebooks or desktop computers.  Clearly, Richard Stallman was correct from the beginning.

Now when I say takeover, I don't mean that you won't be able to use your computer.  I mean that you won't be able to use your computer without everything you do being recorded, and possibly interfered with.  I mean that what you do on your computer could possibly be used against you, and if you think you have nothing to hide, that won't protect you. I mean that someone else could use your computer to frame you, if they didn't like what you say or what you stand for.

A rootkit with backdoor access provides more than just a way to snoop.

Why do I have CyanogenMod installed on my Motorola Droid?  Because I don't trust Motorola or my carrier to provide me with a phone OS that has not been compromised.  Why does my personal laptop only have Ubuntu LINUX installed, and no other operating system?  Because I don't trust Acer or Microsoft to have provided me with a laptop and Windows operating system that are 100% secure from intrusion.  I don't even have the original hard drive installed.

Call me paranoid if you will.  They've been calling Stallman paranoid for years.  But the fact remains that commercial interests drive closed operating systems and software, and because there's no way for the code to be inspected by a 3rd party, there's no way to find out immediately whether it's been compromised, intentionally or otherwise.  If making money from software sales is the provider's primary goal, they will sell out their customers in order to sell their product, every time.  Prove me wrong.  I dare you.

Redhat LINUX generates money via Enterprise support contracts.  The software is free.  It is open source and can be inspected by anyone.  The likelihood that it, or any other distribution of LINUX, contains a hidden backdoor rootkit or some other access for military, government or law enforcement officials to snoop, compromise or take control of computers or servers upon which it has been installed is next to nil. I won't say it's impossible, but I will say it's highly unlikely due to the fact that the code can be independantly verified by anyone.  If it did have such a backdoor, it would be discovered almost immediately, as compared to the seven years it took for the RINOA SUR agreement to come to light.

I call bullshit on all of this.  Apple, RIM, Nokia, and anyone else who pulls this sort of crap to generate sales - fuck you.

To anyone else who wants to prevent this from happening - now is the time to start looking at making the switch to LINUX.  If they've been doing this to cell phones for the past seven years or more, what have they been doing with your Apple or Windows computers?

Motorola Droid downgrading Cyanogenmod

So I've been running Cyanogenmod 7.1 on my Motorola Droid (1st series) and it's been acting strangely.  It sometimes spontaneously reboots itself, it sometimes can't read the SD card, occasionally when people call the phone keeps ringing even after I answer, and it cannot restart music playback if the music player is interrupted by a call or another app.  So I'm downgrading back to 6.1.2, the stable release based on Froyo, which ran a lot better on this phone.  Here are the steps necessary to do so.

(I assume your phone has already been rooted if you have Cyanogenmod 7.1 already installed)

  1. Install Titanium Backup and make a complete backup of all apps + data.
  2. Install the latest version of ClockworkMod Rom Manager if it is not already installed.
  3. I strongly recommend recovering from a backup image to the original Droid OS you started with, which you should have been prompted to do if you were using ClockworkMod Rom Manager to install Cyanogenmod 7.1 in the first place.  DO NOT DOWNGRADE YOUR IMAGE FROM 7.1 to 6.1.2 DIRECTLY or you risk making your phone unbootable.  Please pay attention, I am repeating this for your benefit based on personal experience, downgrading directly from Cyanogenmod 7.1 to 6.1.2 will BRICK your phone and you will need a variety of tools and a computer with Windows installed (why this is necessary when dealing with a LINUX based OS is beyond me, but sadly it's true) in order to get it working again.
  4. After the recovery has finished and you have booted back into your phone's stock OS, upgrade ClockworkMod Rom Manager to the latest version (this will be necessary).
  5. Use the "Fix Permissions" option in ClockworkMod Rom Manager and restart your Droid when it is finished.  I advise powering the Droid off and removing the battery for five seconds to establish a clean boot before the next step.
  6. Open ClockworkMod Rom Manager again after the phone restarts, and select Flash ClockworkMod Recovery.
  7. Once this is completed, you may select Download ROM and choose Cyanogenmod, selecting version 6.1.2 - I recommend keeping the ADW launcher option and selecting install Google Apps.
  8. Let the phone do its thing - upon reboot you will want to reinstall Titanium Backup to recover your apps and data. (Note: do not allow Titanium Backup to overwrite the data on your built-in system apps or they may stop working, which will require you to go back to step 4)
  9. Just to be on the safe side you may want to use ClockworkMod ROM Manager to "Fix permissions" one last time after everything has been restored.
  10. Enjoy your stabilized Motorola Droid!

My insane methods of getting Star Wars: X-Wing Alliance working correctly in Wine on Ubuntu 11.04 Natty Narwhal while Rome burns

Looking around the cockpitQuick caveat - if you're hoping for a simple, easy explanation on how to get this one video game working in whatever flavor of LINUX you happen to be running, think again.  I hate Windows, I prefer to not have Windows running on my computer, not even in a virtual machine, but in this particular case, for most other people, I'd actually suggest trying to get this game working in Windows first before going down this particular rabbit hole.

That being said, unless you are using a computer that is more than two years old with Windows XP, you will probably have a really hard time getting this game to run correctly, especially if you are using an HD series ATI video card or any GeForce video card newer than the 8000 series.  Therefore (ironically) trying to get the game running correctly in LINUX actually makes a certain amount of sense, even with the complexity involved.

"What's with the whole 'while Rome burns' comment, Valkyri9?"

Oh that? I'm just remarking on how silly this article seems when compared to things like Occupy Wall Street causing protests to spawn in other major metropolitan areas across America, when we still have over 9% unemployment and the economy has been officially declared as in ANOTHER recession, as food prices skyrocket and incidents of crime increase and prisons are releasing their "less dangerous" prisoners due to insufficient funding and chaos is everywhere while the rest of the country is fast asleep.  Or the lesser issue where WineHQ itself was hacked.  It's all about perspective. Getting an old video game to run in LINUX is not a challenge compared to these issues, and could quite seriously be called a complete waste of time. But it does pose some interesting questions, so in my mind it's still a worthwhile pursuit.

Of course all of this pales when compared to the Universe, as pointed out by my friend Hardgeus. So again, perspective.

"Why are you even bothering with Star Wars: X-Wing Alliance? This game is over twelve years old!"

This is true, however, it is also the last complete space-flight simulator released by LucasArts. There have been other simulators since, but because they were designed for console systems such as the Sony Playstation or the Nintendo Gamecube they did not grant the player full control over their craft.  This level of control enhances the immersive qualities of this game, much like it did in its predecessors (Star Wars: X-Wing, Star Wars: TIE Fighter and Star Wars: X-Wing vs. TIE Fighter).

The A-Wing fighter, my personal favoriteIn other words, it's the last Star Wars themed video game out there that lets you do things like match the speed of your target, divert power from engines toward shields or lasers, or transfer power in quick bursts from shields to lasers or vice versa.  It's the last Star Wars themed video game out there that will allow you to quickly slow down to 1/3 your maximum speed so that you can perform a quick turn in order to get a bead on your opponent, and then quickly switch back to max speed in order to stay on their tail.  It's the only one set up so that you can map out the buttons on your flight stick in order to be able to easily look around in your cockpit, switch weapons from lasers to missiles, throttle up/down, perform rolls and other evade maneuvers, and so forth.  That makes it relevant.  It also makes it a goddamned shame that the developers decided to rely as heavily on DirectX 6.0 as they did during development, because now it's come back to bite those of us who still love this game in the ass.  Thank you Microsoft, for yet again finding another way to piss me off.  While I'm at it, hey LucasArts, stop recycling those pieces of fecal matter you call The Force Unleashed and start making some good games again. Is that too much to ask?

So to get to the nitty gritty - I received an email from a gentleman asking if I had run into an issue where the entire background of the game goes blue - or black after running Reiman's patch, and could not get in-game sound effects or voices to work.  I had not attempted to get the game working for quite some time; after my last aborted attempt I decided I'd wait for Wine to mature some more before I gave it another shot.  So I let him know I'd try again now that PlayOnLinux had made some great strides and we are now up to version 1.3.30 in Wine.  Current documentation at WineHQ is old and out of date, but indicative of the problems I had previously run into when trying to get this game working.

PlayOnLinux is an amazing tool.  Go to the website and install a copy on your LINUX system if you haven't already.  Wine is an awesome tool but it comes at the price of complication when dealing with these kinds of games.  My success rate in getting a game to work in Wine has been improved dramatically when using PlayOnLinux because I don't have to spend as much time fighting with the software, trying (begging and pleading) to get it to work.  The biggest benefit of PlayOnLinux is that it encapsulates each of your software installations, so that when you make a change to try to get one game working, you don't inadvertently break all of the other games that used to work just fine.  It also makes it very easy to use different versions of Wine - sometimes regressions occur with new Wine releases, and this tool makes it incredibly simple to specify the version you want with the game in question.  I can't praise it enough.

I also used to use something called POL Helper so that I could easily take advantage of winetricks.  This is no longer necessary as the primary functions of winetricks are now built into PlayOnLinux and done in a significantly more user friendly way.

You must have a copy (legitimate copy is strongly recommended here) of Star Wars: X-Wing Alliance, which I have. However, because the CD copy protection does not play well in Wine, I also obtained a utility to strip this copy protection from the main X-Wing Alliance executable.  As far as I'm concerned I am well within my rights to take whatever steps necessary to get a twelve year old copy of software that I purchased through legitimate means in working order, especially when the developer or publisher has pretty much washed their hands of any responsibility beyond hosting a patch update (and many don't even do that for more than a few years).  However, explaining how to accomplish this is not within the scope of this post (you're on your own).

PlayOnLinux does not at this time have an automated installation option for Star Wars: X-Wing Alliance, but it is perfectly fine to select "Install a non-listed program" in order to install it.  I chose "Install a program in a new virtual drive", created a wineprefix with the name XWingAlliance (no spaces) and then selected "Configure Wine" and "Install some libraries".

In winecfg I changed the OS version to Windows 98 since that was the latest Windows version available when the game shipped, and I selected ALSA as the default audio option and applied my changes.  I did not change the Wine version to 1.3.30 at this time because it resulted in an incomplete install - I left it at the default "System" version of Wine, the 1.2 release that shipped with Ubuntu Natty Narwhal.  I also installed the d3dx9 and directplay libraries in the next menu since these areas have not yet been fully addressed in Wine for many games.

I then installed the game from the CD-ROM, which was pretty much identical to a Windows install, and was sure to select Full Install (275MB) in order to get the majority of the files copied over from the disk.  I elected to not select Alliance.exe as the icon launcher because I knew it also made checks to verify the game disk was present in the drive.  I also knew that if I needed to create or select a new pilot I could access the launcher from within its installed folder, or from Applications > Wine > Programs > LucasArts > X-Wing Alliance > Play X-Wing Alliance in the Ubuntu menu, and I prefer to not have multiple entries for the same program within PlayOnLinux.  I instead browsed for and selected xwingalliance.exe as the launcher.

Because my laptop has a built-in Radeon HD 5850, I had already installed AMD's latest proprietary drivers for the best possible 3d rendering support as documented on the unofficial AMD LINUX driver wiki.  I also selected X-Wing Alliance from the PlayOnLinux menu and clicked the Configure button.  I selected 1.3.30 in the Wine Version menu, then switched to the Display tab and left everything at default except for "Video memory size", which I changed to 2048 to reflect the 2GB memory dedicated to my graphics card.  I finished up my PlayOnLinux setup by selecting the Wine tab so I could click the "Windows reboot" button in order to refresh the system with these changes.

For (hopefully) obvious reasons, X-Wing Alliance does not support widescreen resolutions.  To address this, I visited WSGF (Widescreen Gaming Forum) and found their article for this game.  I downloaded and installed ghex from the Ubuntu repositories and followed their instructions on modifying the entry in xwingalliance.exe for 1280x1024 to display at 1920x1080.  I also applied the NOCD patch on xwingalliance.exe to remove its CD checks at this time.

Checking out the instrument panelAt this point the game failed to launch, so I accessed winecfg from the PlayOnLinux config window under the Wine tab, and changed DirectPlay from (Native) to (Native, then Built-In) and tried again.  The game now launched correctly, running movies and the main screens at 800x600 stretched across the widescreen.  Starting a new mission and entering the hangar rendered correctly at 1920x1080, but the mission could not begin because no keyboard inputs were recognized within the hangar.  Consequently the game was unplayable from this perspective.  It was possible to start a new game in the simulator environment in single player mode because no launch from a hangar was necessary.   I did not bother testing multiplayer mode because I fully expected it to fail due to the lack of support for DirectPlay, and that really wasn't within the scope of my expectations at this time anyway.

Reimar Döffinger, author of the XWA Hacker tools on Sourceforge that will help get this game and other X-Wing themed games running on new hardware and new Windows systems, mentioned in a Wine bug report that I can no longer find that he had been successful at correcting this input bug in X-Wing Alliance with Wine 1.2.0 by replacing dinput.dll.so with the same file from Wine 0.9.15 - and he had uploaded the file so that others might be able to use it in their version of Wine.  Much to my disappointment, by the time I found this, both his hosted file and someone else's had already been taken offline.

I was not able to find a copy of Wine 0.9.15 on WineHQ, but I was able to download a copy of Wine 0.9.19 and compile it.  I copied my new version of dinput.dll.so from Wine version 0.9.19 into my Wine 1.3.30 installation under my .PlayOnLinux folder and tried again.  The input bug in the hangar was eradicated.  I had one last thing to address - the game played music but there were no voices or sound effects.

I accessed my CD-ROMs and copied the "wave" folder from each disk into my PlayOnLinux prefix XwingAlliance folder.  I also did the same with the "movies" folder from each disk.

I now have a fully playable (at least single player anyway) Star Wars: X-Wing Alliance running on Wine in Ubuntu!

For my next trick, I will be repairing my Moon Patrol arcade cabinet that no longer boots up properly.

Thank you, Reimar!

How to set up MPD & NCMPC in Ubuntu Natty 11.04

I've wanted to have a terminal based music player in LINUX for a while, and actually got it set up earlier this year but failed to document how quickly enough before I forgot all the steps.  Now that I've set it up again I wanted to make sure I didn't forget it for the next time I have to go through all of this.  The original post that started me down this path is here, but unfortunately does not contain enough details on how to get it working, therefore I had to gather my steps from multiple sources.

Step 1 - Install the necessary packages - open a terminal and enter the following command:

sudo apt-get install mdp ncmpc

Step 2 - Create necessary files and folders by entering the following commands:

mkdir ~/.mpd

mkdir ~/.mpd/playlists

sudo cp /etc/mpd.conf ~/.mpd

sudo chown user:user ~/.mpd/mpd.conf  #be sure to substitute "user" with your username here

touch ~/.mpd/tag_cache

touch ~/.mpd/mpd.log

gedit ~/.mpd/mpd.conf

This last command should open a text editor, scroll through the Files and directories section and change each line from /var/lib/,  /var/log/ or /var/run/ to /home/user/ (again subsituting "user" with your username, and if your music files are not located in /home/user/Music correct the path appropriately).  Now scroll down to General music daemon properties and place a # in front of user.  Lastly, scroll down to Audio Output and remove each # the example of a pulseaudio output, starting with #audio_output { and ending with #}.  Save the file and close it.  Now type the following commands:

sudo /etc/init.d/mpd stop

gksudo gedit /etc/default/mpd

Change the line "START_MPD=true" to "START_MPD=false", then save and close the editor.  This prevents the daemon from being started as a root application during bootup.

Now, start the daemon as the local user by typing:

mpd

Then start the music player client by typing:

ncmpc

Press the 1 key for a list of available commands.  Press 3 to access your music library, and press the spacebar on any folder or individual song you would like added to the playlist.  Press 2 to view your playlist, and press Enter to start playing music.  Press z to toggle shuffle, and r to toggle repeat.  Press q to quit.

To save yourself the hassle of starting mpd each time you want to launch the client, you can also add an entry under System > Preferences > Startup Applications so that it loads as you sign in.  Because this could interfere with other programs that use audio (video games?) you may not want to set this option.

Syndicate content