At Home With AV Linux
The Live Sessions
Some random observations made during my initial live sessions :
The system recognized my dual-core CPU, and by default set the CPU scaling governor's mode to "on-demand". Ardour doesn't particularly like that setting, so I switched the governor to its "performance" mode. The default mode runs my laptop's AMD Turion X2 CPU at 500 MHz, the performance mode set it to 2 GHz, the processor's maximum speed.
As noted earlier, AV Linux sets up JACK with conservative values that should work with most hardware. However, you'll definitely want to change those values for the best performance from your equipment. Here's what the system started with :
44.1 kHz sampling rate, 1024 frames/period, 2 periods/buffer
These values yielded a latency of 46.4 milliseconds, not useful for professional work. I changed those settings to these values :
48 kHz sampling rate, 256 frames/period, 2 periods/buffer
Latency dropped to 10.7 milliseconds with those values. Not a super-low figure, but that's probably about as good as I'll get from my laptop's audio hardware, nVidia's spin on the ubiquitous Intel HDA chipset. It performs well enough for lightweight realtime Csound output or for auditioning pre-recorded tracks in Ardour. Of course, better external hardware should handle heavier loads without xruns or shutdowns.
I ran uname -a and discovered this information about the default AV Linux kernel :
Linux 184.108.40.206.avl.1 #1 SMP PREEMPT Thu June 2 23:59:52 EDT 2011 i686 GNU/Linux
As I mentioned, the Control Panel includes a neat audio system analysis utility to help determine where you can optimize your system for best audio/video performance. I noticed that the tool indicated that the default AV Linux kernel is not patched for realtime with Ingo Molnar's revisions. A patched realtime kernel can be installed if you feel the need, but it seems that for most normal work the default PREEMPT-enabled kernel will perform adequately in realtime with JACK.
The Hard Decision
After working with the Live mode for a while I decided to install AV Linux on my laptop. The system's installer worked well, I had no troubles during the installation process, but during the basic configuration I discovered that the installer had ignored the settings for its failsafe mode, which meant that I faced again the previous problem at the log-in. Fortunately that was easily dealt with by adding the nomodeset option to my boot command.
Unfortunately I also discovered a new problem while configuring the video driver (version 270.40.19, for those who must know). Its installation was no problem, but performance was unreliable - the entire system would lock up after a while and required a manual shutdown (I had to hold down the power button until the system closed). Eventually I found the cause of this rather serious problem - the laptop's nVidia 8200M video chipset is incompatible with an MSI-enabled kernel. Again, a simple addition of pci=nomsi to my boot command has resolved that issue.
I have a single remaining problem, minor but annoying, and I welcome any advice for its resolution. After settling the video issues I found that shutdown occasionally didn't, i.e. the system wouldn't power down until I pressed the laptop's on/off button. On advice from "somewhere on Google" I added the acpi=off option to my boot command parameters. Alas, the system randomly powered off until I removed the option. Apparently something in the machine wants the option activated. I no longer have the random shutdowns, but I still have the occasional hang-up when I close the system. As I said, suggestions for fixture are welcome.
Here's the current options collection for my boot command :
threadirqs quiet nomodeset pci=nomsi
With these settings - and the settings for JACK shown above - I now have a stable and smooth-running system. I'm able to run AVSynthesis, my personal benchmark application for testing the system's graphics and sound capabilities. The latest incarnation of AVSynthesis requires JOGL2, the most recent development of the Java/OpenGL software, which in turn requires the hardware accelerated graphics provided by the nVidia chipset and driver. Realtime audio in AVSynthesis is handled by Csound 5.13, built for double-precision numerics and support for a Csound/Java interface wrapper (among other useful options). The combination of high-quality realtime audio I/O and 3D graphics transformation hits the system resources heavily, and I'm pleased to report that AV Linux bears the stress with ease.
The AV Linux Web page notes that the system is also developer-friendly. The autotools software is all there, along with scons, git, and many other utilities for retrieving and building from source code. Python 2.6 is there, and an up-to-date Java JRE (from Sun) is installed. Alas, I needed the full SDK, but hey, no problem - the Synaptic package manager helped me find the right package, and after a few keystrokes I had my up-to-date complete Java 1.6 SDK.
On Quirks And Quiddities
I want to emphasize that the problems I encountered during my tests were due to a conflicting combination of hardware peculiarities and system defaults. AV Linux is configured to fit most use-cases, but no Linux distribution can guarantee flawless performance on any and all hardware. Motherboards vary in the quality of their manufacture, and of course proprietary binaries are always suspect (though I remain a satisfied user of nVidia products). Nevertheless, all significant problems have been solved, and AV Linux is humming along nicely here now. I haven't been tempted to boot into the Ubuntu partition on the same box for a while, so it looks like AV Linux has a new home here at Studio Dave (Figure 3).
Figure 3. My AV Linux at work ("Rui at large"). (Full-size)
Now that I'm satisfied that my personal requirements can be met by the system I plan to look further into its installed goodies. The audio and video applications menus are filled with well-known and not-so-well-known items, and the demos include some packages I've heard about but haven't had the time to look into. I've little excuse for ignoring them now.
As I surf various Linux audio-related blogs, forums, and mail-lists I see many recommendations for AV Linux, especially to newbies who want to sample the variety of audio/video software packages available to Linux-based sound & music people. The system is stable, and I suspect that most hardware avoids the issues I encountered. If you have problems, check out the manual and/or head for the excellent AV Linux forum. You'll find project designer/maintainer Glen Macarthur, a.k.a. Gmaq, along with other developers and users who can help you out of your troubles.
I look forward to future releases of AV Linux. According to the grapevine, version 5.0.2 will expand the system's video support and resolves a few issues nagging 5.0.1, and I suspect I'll see some new audio softs in the apps stack. By the way, AV Linux is a labor of love, but love alone won't put food on the table. Donations are welcome, and I urge all AV Linux users to show a little pecuniary affection for the project. Glen is committed to producing the highest quality Linux distribution optimized for audio and video production, his efforts are surely worth some community coin.
Next up, a look at what's happening these days in the world of Pd. Exciting stuff, don't miss it.
Similis sum folio de quo ludunt venti.
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- RSS Feeds
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Designing Electronics with Linux
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- What's the tweeting protocol?
- Kernel Problem
2 hours 23 min ago
- BASH script to log IPs on public web server
6 hours 50 min ago
10 hours 26 min ago
- Reply to comment | Linux Journal
10 hours 58 min ago
- All the articles you talked
13 hours 22 min ago
- All the articles you talked
13 hours 25 min ago
- All the articles you talked
13 hours 26 min ago
17 hours 51 min ago
- Keeping track of IP address
19 hours 42 min ago
- Roll your own dynamic dns
1 day 56 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?