Another day, another MythTV issue. Last week, I was working on getting infrared remote control working with my MythTV. That effort is still on hold and as soon as I get some additional help or something magically comes to me, I’ll resume. In the meantime, I put the system back together so I could keep using it. Even though it isn’t fully ready to replace either my ReplayTV or my Comcast HD DVR, it does have some usefulness. So I was crushed to discover that MythTV had lost its voice. No audio. Zip.
Unfortunately, there were a number of things that could have been the culprit. In the process of trying to get the infrared working, I updated all kinds of packages. And of course, as I describe in the failed LIRC post, I did some freaky stuff trying to get LIRC working. Of course, none of those LIRC install attempts should have had any impact at all on audio, but who knows. Another possibility was the NVidia driver. As I mentioned back in the post about the LG TV, I tried a bunch of different NVidia drivers in an attempt to get the video working on the LG TV. Again, it shouldn’t have killed all audio and besides, it worked since the driver changes until this weekend. So my best guess was it had something to do with the various updates. But I couldn’t figure out how to tell what upgrades had just been done or even better, how to undo them all. So I went deeper down the rabbit hole with more upgrade attempts, more NVidia drivers changes, and anything else any random person happened to write on the Internet about not having audio working. Sure, I started with the usual Ubuntu audio troubleshooting, but all if it was geared towards the audio just not working – not that it was working and then stopped. So I didn’t find any magic bullet there and only succeeded in causing myself more trouble that I then needed to get myself out of.
Yesterday, among the things I tried, was installing the latest alsa from the repository as described in the Ubuntu Wiki. Nice to know my ALSA is up to date, but it didn’t help.
This morning I did get the problem resolved and of course, it turned out to be very simple. Now, remember, that I have two TVs hooked up to the one MythTV box where one TV uses the audio feed on the HDMI connector and the other TV uses the analog stereo output from the back of the box. And that back when I did the setup, I was able to setup an asound.conf that split the signal to both output devices. And when the audio stopped working this weekend, all audio stopped – both HDMI and analog stereo. It turned out that there were two issues – one for each audio output mechanism. For the analog stereo, the problem was that the audio was no longer only needing “Master” and “PCM” in the Mixer, but I had to add the control for “Front”, unmute it, and turn up the volume. Yes, that’s right, the solution was as simple as that. And yes, something about the updates that came through on the regular update manager meant that the audio output shifted from one channel to another without me changing any hardware or settings. For the HDMI, the trick was, again in the Mixer, to add a switch for “IEC958 2” and then select the resulting checkbox. Note the “2” – I already had “IEC958” selected and checked but now I needed to add the one with the “2”. Amazing. Silly. Nonsense.
And how did I find these two fixes? Both were in desperation. I had gotten out the Mythbuntu install CD and was getting ready to wipe the drive and start over. So I figured I would just start blindly clicking stuff to see if I could salvage the install one last time. I opened the Mixer and added everything and then just started clicking away. I nearly fell off the couch when I heard some sound by unmuting and turning up the “Front” channel. I wouldn’t have tried the “IEC958 2” checkbox if I hadn’t already had a taste of success with the “Front” but since I did, I figured I’d try pushing every button there to see what happened. And again, I nearly fell off the couch when the HDMI audio came back after checking that box. If I ever have anything freaky with my audio happen again, you can bet that the first thing I’ll do is just add everything to the Mixer and see what happens.
So with audio restored at the Linux level, I went back into MythTV to confirm that everything was working and I was quite surprised to discover that MythTV wouldn’t even start. Trying it from the command line, I discovered the following error message: “/usr/bin/mythfrontend.real: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory”. What? Oh no. What did I do. Well, it turned out to not be so bad. I just needed to add the package “nvidia-glx”. I didn’t remember removing that package explicitly but apparently, I had removed it implicitly. Or maybe not that package but another that contained that shared library. So adding the package back was all I needed. Then MythTV started up just fine.
A couple of other notes about things I learned along the way. First, I came across a lot of posts and tips that described what to do by saying what menu to go to. And I was frequently frustrated to discover I didn’t have the menu at all – and not just the final menu, but even high level menu groups were missing. The issue turned out to be due to Mythbuntu. Apparently, Mythbuntu changes the menu structure and content over the standard Ubuntu. And interestingly, you can login in with a different profile – after you choose your username on the login screen, you can select a profile from a drop-up box.
But wait – Mythbuntu boots right into MythTV, so how do you access the login? There are two things to do. First, in Mythbuntu’s Applications -> Settings -> Session and Startup, on the Application Autostart tab, you can deselect MythTV. This was helpful for debugging anyway because it got old doing a reboot and needing to exit MythTV. (Although if I had left this on, I would know exactly when I made a change that caused MythTV to fail to start!) Second, you edit the file “/etc/gdm/custom.conf” and change AutomaticLoginEnable to “false”. (Or copy the line and comment out the original changing the copied one to “false” so you can easily switch between autologin on and off.) Then, when you are booting up, you’ll see a login screen with a countdown to autologin. Hit a key (Escape seemed to work) to thwart the auto login. Choose your username and then down the bottom, you’ll be able to change the profile.
There’s a settings panel in Mythbuntu named System -> Additional Drivers that used to show my NVidia driver options. During the worst of my debugging, when I had used the manually downloaded NVidia drivers, the panel just came up empty. But after I did the “–uninstall” on those individual drivers, and added a PPA to the apt-get repository for NVidia, the panel changed to say “This driver is activated but not currently in use”. According to some posts I saw, and a bug report, it appears that the statement is incorrect. Bugs like this are very confusing to people like me who have a tenuous grasp as it is! But the bug report was also interesting for including the real name of the application – “jockey-gtk”!- and that there’s a text version of it called “jockey-text”.
Mythbuntu actually does have a way to update the installed software – but it doesn’t come setup to do the upgrades. I have no idea why. Why would anyone not want bug fixes for MythTV? So you can manually add the PPA for your version of MythTV as described at Mythbuntu.