Archive for the ‘pulseaudio’ Category

Debian Squeeze – Not All Perfect But Close

March 15, 2011

Not everything has gone well under Debian Squeeze. I’ve been running jwm and ratpoison, my preferred window managers (even though I’ve grown more tolerant of Gnome; it’s just a bit much for my laptop). In jwm, one of the things I do first is set up various apps to run maximized without borders. This has proven stable in most cases.

Here’s a shot of how emacs should start and look. Unfortunately, something in my .emacs has resulted in a problem where it doesn’t open full screen (even though I commented out fullscreen mode) — but that’s easily fixed by alt-f2 and selecting maximize. The above shot is what I should have, right?

Okay, so let’s switch desktops and then come back. This is what happens.

I first noticed this on my Aspire One. The icon and menu bars are fine so long as:

  • I don’t start w3m-el, or
  • switch desktops

Either of those happens, then bad stuff happens. I thought at first it might be GTK-related but this happens in jwm, not in other window managers (no fail in ratpoison or evilwm) — in the other window managers, the w3m icons are displayed while in w3m-mode and the default ones when in standard emacs modes. I think it’s something with jwm (whether it’s with jwm or the way it’s configured in Debian who knows), not emacs, since it’s not occurring in other window managers — I can switch between applications and/or desktops in evilwm, for example, and the icons don’t change or disappear.

This really is no big deal since my .emacs has lines turning off both the menu bar and icon bar (currently commented out), which is why I may not have caught this before. Another reason I may not have caught it is because I usually run emacs in console instead of using the GTK instance. Once I uncomment those lines in my .emacs, it’s going to be no big deal again in jwm.

One more nit to pick about the default jwmrc from Debian (again, no big deal because I edit/customize the hell out of it anyway). It has a lot of extraneous tags, including a section in the keybindings.

<!-- Key bindings -->
 <Key key="Up">up</Key>
 <Key key="Down">down</Key>
 <Key key="Right">right</Key>
 <Key key="Left">left</Key>
 <Key key="h">left</Key>
 <Key key="j">down</Key>
 <Key key="k">up</Key>
 <Key key="l">right</Key>
 <Key key="Return">select</Key>
 <Key key="Escape">escape</Key>

 <!-- #DEBIAN unused -->
 <Key mask="A" key="Tab">nextstacked</Key>
 -->
 <!-- #DEBIAN add -->
 <Key mask="A" key="Tab">next</Key>

 <Key mask="A" key="F4">close</Key>
 <Key mask="A" key="#">desktop#</Key>
 <Key mask="A" key="F1">root:1</Key>
 <Key mask="A" key="F2">window</Key>

In particular, that “unused” line is preceded and trailed by —>, and that first one shouldn’t be there if the goal was to comment out “nextstacked” in favor of next. I really hate that “nextstacked” setting in jwm, which renders meta (alt) unusable by anything but jwm — I consider it a bug. I’ve written to the author about this but for some reason that’s the default. If you use jwm and you have issues with using your meta/alt key, edit “nextstacked” to just “next” and then restart jwm. We fixed that in the default jwmrc in DSL. Looks like that was the intention here, too, but the result of not properly commenting out the whole nextstacked part is that the alt-meta remains locked up jwm. Guess I should report that. As well as the other issues.

An update, too, on the Aspire One. I ran into some problems with SL6rc1 on my Aspire One and needed something “ready to roll.” I haven’t decided if I’m going to run it again because I run Debian on just about everything else I own — which is why I decided to install it again on the AA1 despite past wifi-related issues. I did a very minimal net install of Squeeze despite concerns about wifi issues I’ve had under Linux with that netbook. The good news thus far is that it’s running without hassles and I haven’t had the problems even under the heaviest loads that used to cause the time outs — extensive uptimes and sftp’ing large and/or multiple files.

What did I install on the Aspire One? I’m using jwm almost exclusively with emacs, firefox (from mozilla rather than iceweasel), gtkpod, livetex, OpenOffice.org, skype, shotwell, gtkam, wicd-curses, and vlc. A few other things that don’t come to mind. It’s pretty lean and it rocks.

The emacs icon/menu bar issue doesn’t really put me off using jwm. It’s resulted in a noticeable performance boost over Gnome, and there are many things I like being able to customize (especially apps opening maximized sans decorations). Next trimming will come at the expense of network manager (though probably avoiding wicd because it’s not an improvement over using other more basic tools; wicd can’t scan for hidden SSIDs, but plain old wpa_supplicant does).

[Note/rant on wicd and hidden SSIDs: The documentation and lists for wicd suggest the inability to scan or find hidden SSIDs is exclusively a driver issue. BULLSHIT. I can find my SSID’s MAC address just fine via iwlist but wicd has failed on all three of my current laptops — that’s three unique drivers (Broadcom 43xx, Realtek something or another, Atheros ath5k), all capable of finding the SSID’s MAC address via iwlist and connecting straight-up via wpa_supplicant, and no such problem with network manager. I also ran into an issue with wicd-gtk that caused me to try the -curses version. When I would try connecting to my hidden SSID, the rescan would find no wireless connections — none! I’d have to restart wicd and try again, sometimes three or four times, to get a list of SSIDs again and then repeat the process trying to connect to the hidden SSID. The -curses version won’t connect to a hidden SSID but hasn’t required running ‘/etc/init.d/wicd restart’ at all — it just requires me to enter the hidden SSID name, rescan, connect. So I’m most likely ditching wicd altogether and probably running networking via my own shell scripts or the available networking scripts in /etc. I don’t hide my SSID for security reasons and I’m not going to unhide it just to use wicd.]

As you can see in the shots above, I’m running Bluetooth and the green dot on the bluez-manager applet signifies I’m connected at the moment to my headphones. I’m running mplayer streaming audio via pulseaudio (-ao pulse). Audio switches seamlessly between headphones and speakers, etc., when I turn the headphones on and off; the pulseaudio sink also switches between my stream and Skype during calls without interaction. No hassles at all. Just works. I had a lot of bad things to say about my initial experiences with pulseaudio but my recent experiences have been superb regardless of desktop environment/window manager.

Over all, I remain very happy with Debian Squeeze. It’s just a package here and there that may cause some minimal grief. Beyond anomalies, it’s rock solid, flexible, and has enough software options to keep most reasonable users happy.

Update: No tool bar, no menu, no problem:

Adios NetworkManager

July 29, 2009

Tonight I finally got pissed off enough about losing wifi when not in X to ditch NetworkManager. Maybe, in an odd way, I’m kind of like Cheech and Chong when they “borrowed” a neighbor’s car and found its automatic transmission too complicated, but I find NM way more hassle than it’s worth. Probably brought to you by the same people who are simplifying audio with PulseAudio. I don’t get it, but I never had a problem with the “old” and “complicated” way. Then again, I actually read the fucking manual.

I haven’t installed wifiroamd yet because I’m not doing much roaming until my ankle heals. It’s easier with one network to deal with (just one wpa_supplicant configuration to set up) but that’ll change and I’ll have a couple more networks to set up. I may just use a series of scripts like I did when I was using OpenBSD on my other laptop — select an option for where I am, connect to whichever AP however I need to as needed rather than automatically connecting and potentially waiting a while to connect to multiple APs. I don’t know if wifiroamd is a better solution for that or if it’ll act like a desperate hooker trying to pick up any signal it can get while it ignores my own (see next paragraph).

In addition to being able to stream audio while in console (I have such odd tastes, eh), I noticed I’m finally below 140MB actual RAM after startx. I also noticed that there was none of the bullshit I’ve written about with associating with other APs before even getting to mine, which is the only one it should associate with. I know a lot of people don’t think twice about piggybacking but no wireless manager application should allow it by default — I think that kind of thing should require a user to choose an “any AP” setting or otherwise interact to allow it after searching high and low for a trusted AP.

I still can’t get over how many distros tie wifi to X by default now even though Linux distros are oriented for boxes and dials to set things up. I’m not really inclined to say this kind of thing because I try to stay open-minded about other systems, but that’s so Windows. Bunch of wussies.

Sayonara PulseAudio

June 28, 2009

I removed pulseaudio, which I consider proof that open source isn’t about the best ideas always floating to the top. Sometimes the worst ideas float to the top. Just like shit. I don’t think there’s really that much difference between open and closed source software because both are driven by similar pragmatism and developers try to do the best for their target user audiences; it’s not about the intentions of the developers, it still comes down to execution by the end user. What seems like a great idea can make things a hassle for users.

Even getting around it can be a hassle. Is removing pulseaudio straightforward and painless when a distro uses it by default? Of course not. Now I have to set permissions so a non-root user (ahem, that would be me) can use /dev/dsp and /dev/snd/; by default, permissions on /dev nodes are reset when the system is rebooted. I also have to let apps like mplayer know that we’re not using the default pulseaudio any longer, so I’ve set an alias to add -ao alsa to mplayer.

screenshot-20090628083513

Not a big issue, just clumsy.

Since I’d already removed a lot of dependent packages when I removed Gnome (or a lot of it anyway) last night, there were only a couple related packages to remove with it.

The result, though, is worth it. Everything’s working (sounding) a lot better and without tracking down every fucking possible setting in those idiotic scrolling interfaces. (Some pluseaudio settings weren’t found in alsaconf. Simplification? No, aggravation.)

More tweaking and clearing out cruft today as I have time.