MultimediaProductionKernel

Revision 19 as of 2007-02-03 01:03:24

Clear message

Summary

This is the specification for a proper kernel, intended for use in professional multimedia production.

Rationale

Currently, in order to enable realtime features, Ubuntu users have to use vanilla patched kernels that are vulnerable to security issues, missing hardware support and in general, cause regressions when compared to the stock Ubuntu kernels.

Use cases

  • John wants to create a mobile studio setup for audio and/or video casual editing. It should be easy enough to setup so he can focus on the work, rather than the tools themselves.
  • Jack is a musician interested in doing serious audio production work. He has a specialized hardware (i.e. a multiple input/output soundcard), and expects his system to provide him with the lowest latency possible, avoiding any hiccups.
  • Joan is an avid video producer who needs a responsive and stable workstation. She requires features like: fast I/O, working with big files and perfect sync between audio/video.

Scope

The intention is have an Ubuntu stock kernel built with the necessary patches/options for proper realtime capabilities.

Implementation

Ideally, it should just be a matter of recompiling the stock kernel with a different configuration (taking into account the inclusion of RT capabilities in 2.6.18+). The next is a list with those options that should be changed in this multimedia enhanced kernel:

  • Preemptible Kernel (currently in -lowlatency)
  • Timer frequency (1000 HZ) (currently in -lowlatency)

Question : it is possible to have a "full" pre-empt kernell ?

This is a list with possible options not yet confirmed:

  • Support for Large Block Devices
  • Support for tracing block io actions
  • Support for Large Single Files
  • Support for snd-seq
  • Support for snd-seq-midi

Other stuff needed to get it working

  • To be able to tweak Real Time, people of #lad on freenode told that we will need :
    • Be sure that users are in the "audio" user group as standard
    • PAM >0.80 or 0.79-3(that was patched)

    • In the file "/etc/security/limits.conf"(PAM 0.80), tweak the "audio" user group parameters like that :
      • @audio - rtprio 70
      • @audio - nice -10
      • @audio - memlock 250000
    • Note that for some applications rtprio should need to be higher, but that is correct for Audio apps
    • The link to the recommended documentation by some #lad men : http://wiki.archlinux.org/index.php/Realtime_for_Users

  • Current version of PAM in Ubuntu : https://launchpad.net/ubuntu/+source/pam

  • Would be great if we can provide a script or a gui to configure that - [wiki:Ttoine ttoine]

Comments

  • NB : The current work of BenC : https://lists.ubuntu.com/archives/ubuntu-devel/2006-November/022755.html

  • Trials are good with this kernell and settings, minimum latency 2,67msec with jack, a few Xruns may be detected when moving windows too much on desktop environment, Gnome included (strange ??). NB : benchmark with RT patched real time kernell are better (no Xrun) [wiki:Ttoine ttoine]