Custom Search

Wednesday, March 21, 2012

Weekend Project: Take a Look at Cron Replacement Whenjobs


The cron scheduler has been a useful tool for Linux and Unix admins for decades, but it just might be time to retire cron in favor of a more modern design. One replacement, still in heavy development, is whenjobs. This weekend, let's take a look at whenjobs and see what the future of scheduling on Linux might look like.


The default cron version for most Linux distributions these days is derived from Paul Vixie's cron. On Ubuntu, you'll find the Vixie/ISC version of cron. On Fedora and Red Hat releases you'll find cronie, which was forked from Vixie cron in 2007.


You can also find variants like fcron, but none of the variants that are around today have really advanced cron very much. You can't tell cron "when this happens, run this job." For instance, if you want to be notified when you start to run low on disk space, or if the load on a machine is above a certain threshold. You could write scripts that check those things, and then run them frequently. But it'd be better if you could just count on the scheduler to do that for you.


There's also the less than friendly formatting to cron. When I've worked in hosting, I found plenty of cron jobs that were either running too often because the owner mis-formatted the time fields, or that didn't run as often as expected for the same reason. Back up jobs that should have been running daily were running once a month. Oops.


Getting whenjobs


Red Hat's Richard W.M. Jones has been working on whenjobs as "a powerful but simple cron replacement." The most recent source tarball is 0.5, so we expect that it's starting to be usable but still has some bugs. (And it does, more on that in a moment.)


A slight word of warning, you're probably going to need a lot of dependencies to build whenjobs on your own. It doesn't look to be packaged upstream by any of the distros, including Fedora. It also requires a few newer packages that you're not going to find in Fedora 16. I ended up trying it out on Fedora 17, and installing a slew of OCaml packages.


To get whenjobs, you can either grab the most recent tarball or go for the most recent code out of the git repository. You can get the latest by using git clone git://git.annexia.org/git/whenjobs.git but I'd recommend going with the tarball.


Jones recommends just building whenjobs with rpmbuild -ta whenjobs-*.tar.gz. (Replace the * with the version you have, of course.) If you have all the dependencies needed, you should wind up with an RPM that you can install after it's done compiling.


Using whenjobs


To use whenjobs, you'll need to start the daemon. Note that you don't start this as root, you want to run it as your normal user.


According to the documentation, you want to start the daemon with whenjobs --daemon, but Jones tells me this isn't implemented just yet. Instead, you'll want to run /usr/sbin/whenjobsd to start the daemon. You can verify that it's running by using pgrep whenjobsd. (Eventually you'll be able to use whenjobs --daemon-status.)


To start adding jobs to your queue, use whenjobs -e. This should drop you into your jobs script and let you start adding jobs. The format is markedly different than cron's, so let's look at what we've got from the sample whenjobs scripts.

every 10 minutes :<< # Get free blocks in /home free=`stat -f -c %b /home` # Set the variable 'free_space' whenjobs --type int --set free_space $free>>when changes free_space && free_space < 100000 :<< mail -s "ALERT: only $free_space blocks left on /home" $LOGNAME >

Jobs start with a periodic statement or a when statement. If you want a job to run at selected intervals no matter what, use the every period statement. The period can be something like every day or every 2 weeks or even every 2 millenia. I think Jones is being a wee bit optimistic with that one, but on the plus side – if whenjobs is still in use 1,000 years from now and it doesn't run your job, Jones probably won't have to deal with the bug report...


Otherwise, you can use the when statement to evaluate an expression, and then perform a job if the statement is true. See the man page online for all of the possible when statements that are supported.


As you can see, you can also set variables for whenjobs. It accepts several types of variables, such as ints, strings, booleans, and so forth. You can see and set variables using whenjobs --variables or whenjobs --set variable.


The script for the job is placed between brackets (<< >>). Here you can use normal shell scripts. The scripts are evaluated with the $SHELL variable or /bin/sh if that's not set. Presumably you could use tcsh or zsh instead if you prefer those.


If you want to see the jobs script without having to pop it open for editing, use whenjobs -l. You can use whenjobs --jobs to see jobs that are actually running. If you need to cancel one, use whenjobs --cancel serial where the serial number is the one given by the whenjobs --jobs command.


A cron Replacement?


I don't think whenjobs is quite ready to be rolled out as a cron replacement just yet, but it's definitely worth taking a look at if you've ever felt frustrated with cron's limitations. It will probably be a while before whenjobs starts making its way into the major distros, but if you're feeling a little adventurous, why not start working with it this weekend.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Weekend Project: Take a Look at Wine 1.4


The Wine project has released stable version 1.4 of its Windows-compatibility service for Linux (and other non-Microsoft OSes), the culmination of 20 months' worth of development. The new release adds a host of new features, including new graphics, video, and audio subsystems, tighter integration with existing Linux, and improvements to 3D, font support, and scripting languages.


In the old days, WINE was capitalized as an homage to its ultimate goal: Wine Is Not an Emulator. Rather, it is an application framework that provides the Windows APIs on other OSes — primarily Linux and Mac OS X, but others, too (including, if you so desire, other versions of Windows). The point is that you can run applications compiled for Windows directly in another OS. Unlike virtual machine solutions, you do not also have to purchase a copy of Windows to do so, and the lower overhead of a VM-free environment gives better performance, too.


Version 1.4 was released on March 7, about two years since the previous major update, Wine 1.2. Microsoft did not roll out a new version of Windows in the interim, so understandably the Wine project has had time to undertake plenty of changes of its own.


New: Multimedia, Input, and System Integration


The biggest change is a true "device independent bitmaps" (DIB) graphics engine. This engine performs software graphics rendering for the Windows Graphics Device Interface (GDI) API, which Wine has never supported before. Note, however, that Windows offers lots of different graphics APIs. Wine already had support for the better-known Direct3D and DirectDraw APIs, which also received a speedup. Still, the result of the new engine is considerably faster rendering for a variety of applications. The DIB code was actually developed by Transgaming, one of the commercial vendors that makes use of Wine in its own product line.


Windows also offers multiple audio APIs, the newest of which is MMDevAPI, which was introduced in Windows Vista. Wine 1.4 sports a rewritten audio architecture that implements this new API, and supports several audio back-ends: ALSA, CoreAudio, and OSS 4. Support for older back-ends like OSS 3 was dropped, as was support for AudioIO and JACK. PulseAudio, which is now the default in many desktop Linux systems, is supported through its existing ALSA compatibility. The project would like to restore JACK functionality, but it needs developers to help do so; similarly there is a side project to write direct support for PulseAudio, but it has yet to make it into the mainline code base.


Wine also uses the GStreamer multimedia engine for audio and video decoding, which gives Wine apps automatic support for every file format known to GStreamer. There are X improvements in 1.4 as well, most importantly support for XInput 2. XI2 should fix cursor-movement problems with full-screen Windows programs, as well as support animated cursors and mapping joystick actions. Finally, the new release uses XRender to speed up rendering gradients.


The new release also better integrates the Windows "system tray" (which many applications running under Wine will expect to exist) with Linux system trays, and even supports pop-up notifications. Wine also has support for applications that use several additional programming languages (including VBScript and JavaScript bytcodes), plus support for both reading and creating .CAB "cabinet" archives and .MSI installers. There is also a built-in Gecko-based HTML rendering engine (which should make HTML-and-CSS-based programs more reliable than the Internet Explorer-based renderer found in Windows...).


Enhanced: 3D, Text, Printing, and Installing


As mentioned above, Wine's support for Direct3D and DirectDraw both received enhancement for 1.4. OpenGL is used as the back-end for both; a more detailed look at the capabilities and benchmarks can be found on Phoronix.


The font subsystem received a substantial make-over for 1.4, too. The big news is full support for bi-directional text (including shifting the location of menus, dialog box contents, and other UI elements when using right-to-left text), and full support for vertical text (such as Japanese). Rotated text is also supported, and the rendering engine is improved.


The project claims full support for Unicode 6.0's writing systems, although that definitely does not mean that every language in Unicode can be used in Wine. However, there have been significant improvements to the localization effort — more locales are supported, and every UI resource (from strings to dialogs to menu entries) is now in a gettext .po file. So if your language is not supported yet, now is the time to get busy translating!


Printing improvements include directly accessing CUPS as the printing system (previous versions of Wine piped print jobs through lpr) and a revamped PostScript interpreter. The software installer has also been beefed up; it can now install patch-sets (which are very important for applying security updates) and roll-back previous installations. Considering that most Wine users deploy the framework for a smallish set of specific applications, this installer functionality is very handy.


Finally, the new release adds some "experimental" features that not everyone will find to be their cup of tea, but show promise in the long run. First, there is support for some new C++ classes from Microsoft, as well as expanded XML support, and Wine's first implementation of OpenCL (which allows developers to write code that runs on both CPUs and GPUs). Wine also compiles on the ARM architecture for the first time. Windows is not a major player on ARM, but the tablet version of Windows 8 is poised to make a push on ARM this year, so having Wine ready is an important step for the project.


Application Support, Caveats, and Where We Go Next


Naturally enough, Wine for ARM is not as thoroughly tested as Wine on x86. But the new release does still support many more applications than did Wine 1.2. You can find the complete list on the Wine app database — just be aware that individual user reports are the source of most of the compatibility information. It is not as simple as running a static test to see whether or not application X is supported. That said, one of the major bullet points of Wine 1.4 is robust support for Microsoft Office 2010, so if you run Wine to ensure document compatibility with Windows-based friends, you are in good hands.


There are two caveats to be noted with this release. First, although ALSA-over-PulseAudio is a supported audio back-end (and indeed is probably the most common configuration), you should check your version numbers. Some users have reported iffy sound behavior when running pre-1.0 PulseAudio and pre-1.0.25 alsa-plugins.


Second, although standard hardware devices like keyboards, mice, and external peripherals work fine, Wine still does not have support for installing and using Windows USB drivers. This only applies to unusual hardware that requires a separately-installed Windows driver, so it probably does not affect you, but be forewarned. On the other hand, if you have a weird barcode scanner or infrared USB laser that you must use with Windows drivers, there is an external patch set available.


On the same front, if the application you need Wine support for is causing problems, there are some external tools available that help you locate and install add-ons to round out the experience. Many of these add-on options are not free software, so they cannot be shipped with Wine itself, but if you are in dire straits, you might want to check out PlayOnLinux and WineTricks.


Interestingly enough, openSUSE community manager Jos Poortvliet just published a detailed report on using Wine for gaming, in which he discusses both add-on tools. Primarily, however, the emphasis is on how well Wine works on a modern Linux distribution, and the verdict is pretty good. Considering that 27 of the top 30 entries in the Wine compatibility matrix are games, providing a good experience is critical. Although there are probably some people who use Windows for other tasks, too, if you know where to look.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Greg KH Readies for Collaboration Summit, Talks Raspberry Pi


Linux kernel maintainer and Linux Foundation Fellow Greg Kroah-Hartman will be moderating the highly-anticipated Linux kernel panel at the Collaboration Summit in a couple short weeks. He was generous enough to take a few moments recently to answer some questions about what we might hear from the Linux kernel panel, as well as some details on his recent work and projects. Oh, and we couldn't resist asking him about the new Raspberry Pi.


You will be moderating the Linux Kernel panel at the upcoming Linux Foundation Collaboration Summit. These are big attractions for attendees. What do you anticipate will be on the kernel panel's mind during that  first week in April?


Kroah-Hartman: Odds are we will all be relaxing after the big merge window for the 3.4-rc1 kernel. Also, the Filesystem and Memory management meetings will have just happened, so lots of good ideas will have come out of that.


This panel moderation role comes after two Q&A-style keynote sessions with Linus last year to celebrate 20 years of Linux. How does moderating a panel of developers differ from interviewing Linus on stage?


Kroah-Hartman: I will need to bring more than just one bottle of whisky :)


Seriously, it's much the same, but instead of just one person answering questions, there are 3 different viewpoints being offered, which can result in the conversation leading places you never expect. An example of this would be the kernel panel that happened last year at LinuxCon Japan, where the developers on stage got into a big technical argument with the kernel developers in the audience, much to the amusement of the rest of the audience. If done well, it can show the range of ideas the the kernel developer community has, and how while we don't always agree with each other, we work together to create something that works well for everyone.


You recently released Linux kernel 2.6.32.58 but cautioned that you would no longer be maintaining version 2.6.32 and recommended folks switch to Linux 3.0. Is there anything else you'd like to say about people moving to Linux 3.0?


Kroah-Hartman: For a longer discussion on the history of the 2.6.32 kernel, please see the article I posted recently. Almost no end user will be building their own kernel and need to know the differences here; their distro handles this for them automatically. But, for the technical user, they know how to build their own kernels, and moving to the 3.0 kernel release should provide no problem at all. If it does, please contact the kernel developers on the linux-kernel mailing list with their problems and we will be glad to work through it with them.


Can you give us some updates on the Device Driver Project and/or LTSI?


Kroah-Hartman: There's nothing new going on with the Device Driver project other than we are continuing to create drivers for companies that ask for them.  I know of at least two new drivers going into the 3.4 kernel release that came from this process, and if any company has a need for a Linux driver, they should contact us to make this happen.


LTSI is continuing forward as well. Our kernel tree is public, and starting to receive submissions for areas that users are asking for. I've been working with a number of different companies and groups after meeting with them at ELC 2012 to refine how LTSI can best work for their users. There will be a report at LinuxCon Japan 2012 in June about what is happening with LTSI since the last public report at ELC.


Have you seen the Raspberry Pi? Sold out in a day. Any chance you've gotten your hands on one? If so, what's your reaction?


Kroah-Hartman: I have not seen one in person, but will be trying to get one (I signed up for one as soon as it went on sale, but was too late.) It looks like a great project, much like the BeagleBone and Pandaboard, both of which I have here and use for kernel testing. Hopefully the Raspberry Pi developers can get their kernel patches into the mainline kernel.org release soon, so that it is easier for users to take advantage of their hardware.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

How to Kickstart an Open Source Music Revolution with CASH Music

On February 10, 2012, CASH Music launched a Kickstarter campaign and raised more than 70% of their $30,000 goal in about 24 hours. What is CASH Music? And why does it already have vocal support from musicians, Firefox, and even Neil Gaiman? Jesse von Doom, Co-Executive Director of CASH Music, explains the inspiration behind the project and the big role Linux plays in it.

On February 10, 2012, CASH Music launched a Kickstarter campaign and raised more than 70% of their $30,000 goal in about 24 hours. What is CASH Music? And why does it already have vocal support from musicians, Firefox, and even Neil Gaiman? Jesse von Doom, Co-Executive Director of CASH Music, explains the inspiration behind the project and the big role Linux plays in it.

Linux.com: What inspired you to start CASH Music?

Jesse von Doom: The real inspiration is necessity. It started six years ago as a conversation about sustainability between musicians Kristin Hersh and Donita Sparks. After some exploration and thinking, we realized what the music world needed wasn't another tech startup, but an open foundation on which to build. In came additional code that had been written for (now co-Executive Director) Maggie Vail while she was VP at Kill Rock Stars, and we began the process of forming a proper nonprofit and adding to the code.

Since then, we had been building project after project to spec with artists, managers, publicists, and labels, learning what was needed and how to shape it. In time, we separated the platform itself from the functional elements built on top of it and a year ago we started putting out heads down in earnest. Now we've got a platform that tries to model the needs of an artist as they've described them to us, and allow those pieces to come together as easily embedded elements that can slot into pure PHP or any PHP-based CMS. The end goal is to make embedding rich functionality as easy as embedding a YouTube clip.

Linux.com: Your About page says "What CASH is ultimately trying to do is give musicians support in an environment that often feels alienating and hostile." How are you offering support for musicians?

Jesse von Doom: We're building a free and open-source platform for musicians to use in distributing, promoting, and selling their music. As the Internet becomes the backbone of the music economy, it's important that all artists have access to basic tools and resources, and that's what we're hoping to accomplish.

Our initial releases of an installable version of the platform contain things like email collection, downloads, fan club tools, and tour date display. We'll soon be releasing direct digital commerce, easy playlist embedding and management, and more social and media tools. In the future we also plan to spend significant time with education and outreach so we not only offer tools, but help using them.

Linux.com: How is CASH Music different than other music services or projects? Is there anything similar out there?

Jesse von Doom: The most obvious difference is our nonprofit/open-source structure. Too many musicians have been burned by Web sites shutting down or having their hard work trapped in a proprietary box. One of our board members, a musician named Jonathan Coulton, likes to put it in context of all the lost time, energy, and even money spent on MySpace pages that are now basically useless.

I also think that our slow-cooking approach is paying off. By getting the help of artists in figuring out the shape of this thing we're building, it's helped us make major improvements to the platform itself. We certainly didn't take a minimum viable product approach, and while that makes sense most of the time, I think going slow and communicating was vital to what we've done.

Really our biggest job is facilitating communication between musicians and developers, so building something both groups can understand gives common ground. My hope is that ground means more musicians learning about web making and more developers learning about how hard musicians need to work and where that work turns to income.

As a nonprofit, we can foster collaboration over competition, meaning artists don't have to choose our platform over another service; we can just integrate with whatever's best for artists.

Also we use more pictures of dogs and rainbows than any other service.

Linux.com: You raised $30,000 on Kickstarter within 72 hours. How will the funds be used to help the project?

Jesse von Doom: It's a pretty unexciting list. $30,000 is close to the total amount of funding we've seen in the last five years, but even if we raise five times that number, we're still working with a budget that's a fraction of most startups. All of the Kickstarter money will be going toward building the hosted version of the platform – 100% API and data compatible with the current distributed version, but without any of the setup. The goal is full data portability from hosted to distributed, so artists can start easily and move their data to their own sites, or even a different service built on top of our own hosted images.

We'll put some of the money to outside help where we can't find volunteers, in documentation or in carving out a specific subset of development. Similarly, in supporting focused hack events with developers and musicians working together. We're looking for a hosting partner willing to give us a nonprofit discount, but we definitely need to cover initial hosting costs and the other usual costs of running a site. Basically, this is giving us room to do a major push toward that free hosted service that we see as a huge part of the answer for musicians. Any additional funds will be put directly back into that effort, so we plan on pushing hard to get that Kickstarter number as high as we can.

Linux.com: What's your road map and timeline look like right now?

Jesse von Doom: We've already released an initial distributed version of the platform. It's an early version 1, but we're in a rapid release cycle and quickly smoothing out the rough edges. It's a challenge because we're using as close to bare bones PHP 5.2 as we can, relying only on PDO and mod-rewrite for some of the trickier things we're doing. We're not using any other external dependencies, which has forced structure and interesting solutions to challenges.

The idea was to support low-end hosts where most artists host their sites. We built a single-file installer that pulls down files from a GitHub repo. We install to a SQLite database then migrate that to MySQL when the user is ready. Basically, everything we can do to make the experience easier and less daunting we've done, and every release has to get easier or it's not ready to ship.

Currently we support email capture, email for download, tour date listings and archives, Tumblr and Twitter integrations, and some early fan club pieces. Right around the corner is digital commerce and playlists.

We're still shuffling the roadmap to get to hosted as quickly as possible, but that will be done soon and include things like private streaming, enhanced fan club elements, major improvements to the admin, more supported service integrations, and more.

Linux.com: What are the technical challenges going on under the hood of CASH Music?

Jesse von Doom: Building a distributed version of the platform first was a crazy-person idea, but very necessary to communicate the ideals of OSS to a non-technical user base. There's nothing like that first time someone changes a piece of code and suddenly feels ownership of it; we're trying to instill that same feeling of ownership in musicians.

Personally, I'm actually looking forward to the challenges of a large-scale, centrally hosted project... it means the environment will be a known commodity. Right now, we're trying to support just about any LAMP configuration under the sun. The host that still turns off fopen wrappers? Yup, we work around that. No access above the web root? Time zone not set? You get the picture.

So we've worked hard to set up patterns that won't interfere with other scripts as much as possible. We didn't build a traditional CMS, rather an engine for embedding pieces of content with a single line.

The minimalist approach to not using extensions certainly makes this a challenge, but Duke [Jonathan “Duke” Leto, Developer] set up a robust test suite that we've been filling with unit tests to up coverage, we've been running our installer and the platform in different environments and on different hosts, and testing in as many situations as you can imagine. It's the opposite of most devops challenges: We only know the code, not the environment it needs to run in.

Linux.com: What else can members of the open source community do to help you with the project?

Jesse von Doom: Like every project, we're looking for good developers. But we're also keenly aware of the non-development help we need as well. The better our docs are, the easier it will be for new developers to engage. And we're passionate about enabling even the least technical musicians to get comfortable on the Web so that means walk-throughs, careful copywriting, and better support.

We set up these pages for specifics: how you can help development, and how you can help non-development.

Linux.com: Thanks much for your time, and good luck with the project! Note that if you'd like to support the project, the Kickstarter drive continues through March 9th. Kickstarter pledges start at $5, with tiers up to $5,000 or more.

]]>
This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Thunderbird 11 Released: Lots of Fixes, Frustratingly Few New Features

Though it gets much less attention than its browser sibling, Thunderbird is still plugging away. Since it's on the rapid release cycle, it's also pushing out releases pretty regularly, with fewer new features per release. With Thunderbird 11, it's a very short list of new goodies but a long list of fixes.

Check out the buglist for Thunderbird 11 and it's clear that the Thunderbird team has been busy. But the new features list for 11 consists of a very short list.

With 11, Thunderbird is using a new version of the Gecko layout engine. This should provide better and faster rendering of Web content.

The other big new feature is a change in the way tabs are displayed. In previous releases of Thunderbird, the menu toolbar with buttons for "Get Mail," "Write," and "Address Book" was displayed above the tabs.

This is a modest improvement over the old UI, but I'm still not convinced that Thunderbird has hit on the right design yet. Putting the "Reply," "Forward," and other buttons just above the message display rather than at the top of the Thunderbird UI has never really worked well for me. I wind up customizing the toolbar to add them up top, and removing them from the bottom toolbar.

If you've not been keeping up with Thunderbird, the 10.0 release added the ability to search the Web from the toolbar in Thunderbird and improvements in searching emails. That was out on January 31st of this year.

The Thunderbird 9.0 release, on December 20th added Gecko 9, a feature for sending performance and usability data back to Mozilla, and some minor features related to Personas.

Thunderbird 8.0 was a similarly lackluster release with a handful of shortcuts added, some UI changes, and a switch to Gecko 8.

More Please

I'm glad that Mozilla is still working on Thunderbird, but it really doesn't seem to be getting very much love – especially relative to the work that's going on with Firefox.

The change to rapid releases is welcome, but it's been a very long time since Thunderbird really had any substantial improvements.

Thunderbird's IMAP performance, for example, could use a bit of improvement. I find that it's pretty laggy in accessing or working with IMAP folders of any size. I also get, intermittently, errors about accessing my GMail account where Thunderbird reports a wrong password. Unfortunately I can't tell if this is an error with Thunderbird or GMail. As soon as I can reproduce it again, though, I plan to file a bug report.

Sending mail is also a bit sluggish. This may or may not be Thunderbird's fault, but they could background the window when sending so the user isn't staring at a dialog for sending mail for so long.

Overall, the Thunderbird 11 release is OK, but lackluster. I keep hoping that Mozilla will put a little more oomph into Thunderbird development, but as things stand it doesn't look promising.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

What's New in Linux 3.3?

Sunday, Linus Torvalds released the 3.3 Linux kernel. In the latest installment of the continuing saga of kernel development, we've got more progress towards Android in the kernel, EFI boot support, Open vSwitch, and improvements that should help with the problem of Bufferbloat.

Is it just me, or is it still a little weird to be talking about 3.x kernels? It's been about eight months since the official bump to 3.0, but that's compared to more than seven years with the 2.6.x series.

At any rate, here we are. Let's take a look at some of the changes in Linux 3.3!

Everybody was Bufferbloat Fighting!

The Android patches are likely to get the most attention in 3.3, but the thing that I'm most excited by? More work going on to solve the Bufferbloat problem.

In a nutshell, Bufferbloat is a symptom of a lot of small problems that creates "a huge drag on Internet performance, ironically, by previous attempts to make it work better. Or the one-sentence summary, "bloated buffers lead to network-crippling latency spikes."

It's not a problem that's going to be solved all in one go, or in one area. But the Linux kernel is one of the pieces that needs addressing. In the 3.3 release, we've got the ability to set byte queue limits in the kernel.

Driver Goodies

Check out the list of drivers that have made it out of staging. Specifically, the gma500 driver is out of staging. This means the infamous Poulsbo chipset should be supported in the mainline kernel finally.

This release also includes the NVM Express driver (NVMe) which supports solid state disks attached to the PCI-Express bus. Most SSDs are SATA, Fibre Channel or SAS drives. The work was done by Intel's Matthew Wilcox, which isn't surprising since the NVM Express standard is also supported by Intel and a number of other companies. Would love to get my hands on one of these drives to test the 3.3 kernel out...

Want to tether your Linux box to your brand new iPhone? The iPhone USB Ethernet Driver (ipeth) module has been updated to add support for the iPhone 4S.

The 3.3 kernel also picks up some drivers for third generation Wacom Bamboo tablets and Cintiq 24HD, and initial driver support for the Intuos4.

Open vSwitch

Another biggie in 3.3? The Open vSwitch project is merging into the kernel tree. It's not new – it's been around for some time – but it's finally making its way into the mainline kernel. (This seems to be a frequent theme, doesn't it?)

Basically, Open vSwitch is a virtual switch for complex virtualized server deployments. Given the ever-growing popularity of virtualized servers and cloud deployments, this is something in high demand. As the Open vSwitch page says, "Open vSwitch can operate both as a soft switch running within the hypervisor, and as the control stack for switching silicon. It has been ported to multiple virtualization platforms and switching chipsets. It is the default switch in XenServer 6.0, the Xen Cloud Platform and also supports Xen, KVM, Proxmox VE and VirtualBox. It has also been integrated into many virtual management systems including OpenStack, openQRM, and OpenNebula."

No doubt, you'll be reading more about Open vSwitch on Linux.com in the near future.

Android Comes Closer

Last, but not least, the 3.3 kernel includes nearly complete support for Android. This is good news all around, but isn't really a surprise. The kernel folks have been working on this for a long time.

Now the question is, will we start seeing Android apps on top of normal distributions? Will we start seeing standard Linux apps running on Android? Will mod communities, like CyanogenMod, start using the mainline kernel? Should be an interesting year. Then again, when isn't it an interesting year when Linux is involved?

As usual, the release includes lots more fixes, new drivers, and so forth. Check out the Kernel Newbies page for more. The merge window for 3.4 is now open, with the traditional two-week cutoff for pull requests. Looking forward to what 3.4 brings!


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Wednesday, March 14, 2012

Dream Studio 11.10: Upgrade or Hands Off?

Many Linux distributions specialized for multimedia distributions have come and gone. Some were pretty good, but Dream Studio has outshone them all. Musician and maintainer Dick Macinnis has just released Dream Studio 11.10, based on Ubuntu Oneiric Ocelot. Dream Studio 11.04 is a tough act to follow – is it worth upgrading to 11.10?


Many Linux distributions specialized for multimedia distributions have come and gone. Some were pretty good, but Dream Studio has outshone them all. Musician and maintainer Dick Macinnis has just released Dream Studio 11.10, based on Ubuntu Oneiric Ocelot. Dream Studio 11.04 is a tough act to follow – is it worth upgrading to 11.10?

Chasing Ubuntu

Basing a custom distribution on Ubuntu has a lot of advantages, but it also means chasing a fast-moving target. There are ways to minimize the pain, as Macinnis explains. "The decision to create different versions of Dream Studio is one I had made quite a while ago, and is one of the reasons I decided to get all my packages into PPAs rather than on a personally hosted repo."


PPAs are Personal Package Archives hosted on Canonical's Launchpad. This is a slick way to make third-party package repositories available in a central location. Ever wonder what goes into making your own Linux distribution? Even when you base it on another distro like Ubuntu it's still work.


"When I build the Dream Studio each release cycle, I basically install Ubuntu on a VM, make sure all the packages will install properly, and run a script to add my personal optimizations and such. Then I use Ubuntu Customization Kit to unpack the stock Ubuntu liveCD, run the script I've made on it via chroot, and pack it up again," says Macinnis. "Dealing with changes in Ubuntu from one release to the next is the biggest issue and takes the most time, which is why I don't begin until Ubuntu has been released (as chasing a moving target was driving me nuts a couple releases ago). However, since almost all my packages are now desktop independent (except artwork), making derivatives with different DEs is quite easy."


Sure, it's easy when you know how. Vote for your favorite desktop environment in Macinnis' poll, and be sure to vote for LXDE because that is my favorite. Or E17, which is beautiful and kind to system resources. Or maybe Xfce.

System Requirements

Dream Studio 11.10 is a 2GB ISO that expands to 5.6GB after installation. You can run it from a live CD or USB stick, but given the higher performance requirements of audio and video production you really want to run it from a hard disk. While we're on the subject of hard drives, don't get excited over 6Gb/s SATA hard disk drives. They're not much faster than old-fashioned 3Gb/s or 1.5Gb/s SATA HDDs, and you need a compatible motherboard or PCI-e controller. Put your extra money into a good CPU instead. Audio and video production, and editing photo and image files are CPU-intensive. Bales of RAM never hurts, and a discrete video card, even a lower-end one, gives better performance than cheapo onboard video that uses shared system memory.


My studio PC is powered by a three-core AMD CPU, 4GB RAM, an Nvidia GPU, and a couple of 2TB SATA 3Gb/s hard drives. It's plenty good enough, though someday I'm sure I'm going to muscle it up more. Why? Why not?Figure 1: Dream Studio 11.10 with Tuxguitar on the Unity desktop


You want your hardware running your applications and not getting weighed down driving your operating system. Dream Studio ships with GNOME 2, GNOME 2 with no effects, Unity, and Unity 2D. Just for giggles I compared how each one looked in top, freshly booted and no applications running:


 

GNOME 2: 440,204k memory, 6% CPUGNOME 2, no effects: 453,640k memory, 3.7% CPUUnity: 592,432k memory, 4.8% CPUUnity 2D: 569,936 1.0% CPU

 


It's not a big difference, measuring memory usage is not precise in Linux, and your mileage may vary, so use what makes you happy.

What's Inside

Dream Studio installs with a vast array of audio, movie, photography, and graphics applications. It's a great showcase for the richness of multimedia production software on Linux. Audio is probably the biggest pain in the behind, as the Linux audio subsystem can be a real joy* to get sorted out. One of the best things Dream Studio does is box it all up sanely, and on most systems you just fire up your audio apps and get to work. It comes with a low-latency kernel, the JACK (JACK Audio Connection Kit) low-latency sound server and device router, and the pulseaudio-module-jack for integrating PulseAudio with JACK. If you have a single sound card this doesn't give you anything extra, so you're probably better off disabling PulseAudio while JACK is running. This is easy: in Qjackctrl go to Setup -> Options and un-check "Execute script after startup: pulsejack" and "Execute script after shutdown: pulsejackdisconnect". Leave "Execute script on startup: pausepulse" and "Execute script after shutdown: killall jackd" checked.


If you have more than one audio interface PulseAudio gives you some extra device routing options that you don't have with JACK alone. Once upon a time PulseAudio was buggy and annoying because it was new, and it introduced latency. It's stable and reliable now, but it still introduces some latency which is not good for audio production. But when you're capturing and recording audio streams, as long as everything is in sync then latency doesn't matter. Try it for yourself; it is easy and fun.


The creative applications are nicely-organized in both Unity and GNOME 2. Some notable audio apps are Audacity, Ardour, Hydrogen drum kit, DJ Tools, Tuxguitar, batches of special effects, and the excellent Linux Multimedia Studio (LMMS). On the graphics and video side you get FontForge, Luminance HDR, Scribus, Hugin, Stopmotion, Openshot, Blender, Agave, and a whole lot more.


There are a few of the usual productivity apps like Firefox, Libreoffice, Empathy, and Gwibber. And of course you may install anything in Linux-land that your heart desires.

Upgrade or No?

The problems I've run into are mostly Ubuntu glitches. During installation, the partitioning tool only gives a teeny tiny bit of room to show your existing partitions, and it does not resize, so you can't see all of your partitions without figuring out how to make it scroll. (Click on any visible partition and navigate with the arrow keys.) Ubuntu wants to you play audio CDs with Banshee; it wants this so badly it does not have a "play CD with" option. But Banshee doesn't work — it doesn't see the CD. My cure for this was to install VLC. There were some other nits I forget so they couldn't have been all that serious.


The one significant issue I ran into was with mass xruns in JACK. A xrun is a buffer underrun; an interruption or dropout in throughput. This can cause noticeable dropouts in your sound recordings. xruns should not be a problem on a system as powerful as mine, and they never have been. Until now. It could be a kernel problem, or a bug in JACK, it's hard to say. So before you upgrade a good working system test this new release well first.


*If you define joy as head-banging aggravation.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.