RealTime

Realtime

Basic introduction is available at:
https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel

For a more in-depth look at kernels, please see: https://wiki.ubuntu.com/Kernel/Dev

News:
The -preempt and -rt kernels are no longer being developed due to lack of support. Focus has instead turned to the -lowlatency and -realtime kernels, particularly for the the release of Ubuntu 11.04 Natty Narwhal. The long-term goal is to have -lowlatency in the official Ubuntu repositories, while maintaining -realtime in a dedicated PPA.

As of this writing, there are no alternative kernels (including -realtime and -lowlatency) available for Maverick Meerkat in either the official repositories or any Ubuntu Studio recommended repositories (such as that maintained by Alessio Igor Bogani). It is recommended that you use the default -generic kernel with Maverick.

If you wish to see work continued on -preempt or -rt, you are encouraged to volunteer. To do so, join the Ubuntu Studio Developers e-mail list (see Ubuntu Studio).

Make-up of the team and roles officially assigned:

Kernel Responsibility Matrix

Kernels

Code & Packaging

Upstream Relations

Bug Triage

Kernel/DKMS External Driver Upload

Testing

Video Driver Testing

Lucid -realtime i386

none

none

none

none

Asmo Koskinen/Erik Rasmussen/Brian David

Brian David(fglrx)/Asmo Koskinen (nvidia) (nvidia)

Lucid -realtime amd64

none

Tim Cook

none

none

Laurent Bellegarde/Asmo Koskinen

holstein(nvidia) / Laurent Bellegarde(fglrx)/Asmo Koskinen (nvidia)

Natty -lowlatency i386

Luke Yelavich / Scott Lavender / Ronan Jouchet

Scott Lavender

Scott Lavender / Ronan Jouchet

Luke Yelavich

Scott Lavender / Ronan Jouchet/Asmo Koskinen/Brian David

Ronan Jouchet (fglrx), Luke Yelavich (NVIDIA)/Asmo Koskinen (nvidia)/Brian David (fglrx)/ ailo(nvidia)

Natty -lowlatency amd64

Luke Yelavich / Janne Jokitalo

Janne Jokitalo

Janne Jokitalo

Luke Yelavich

Janne Jokitalo/Asmo Koskinen

Luke Yelavich (NVIDIA)/ Janne Jokitalo (NVIDIA)/Asmo Koskinen (nvidia)/ ailo(nvidia)

Natty -realtime i386

Alessio Igor Bogani

Alessio Igor Bogani

Alessio Igor Bogani

none

Asmo Koskinen/Erik Rasmussen/Brian David

Asmo Koskinen (nvidia)/Brian David (fglrx)/ ailo(nvidia)

Natty -realtime amd64

Alessio Igor Bogani

Alessio Igor Bogani

Alessio Igor Bogani

none

Tim Cook/Asmo Koskinen

holstein(nvidia)/Asmo Koskinen (nvidia)/ ailo(nvidia)

Work in progress:
Nvidia on -realtime kernel at Alessio's PPA: testers?

Known issues:
Missing a decent FAQ section
Firewire audio devices: again volunteers? --
    --beejunk (Brian David): I also use firewire devices and can help here. As usual, mostly with testing.
    --rlameiro (Ricardo Lameiro): I can help on testing too. I have a Edirol FA-101. Also I can try to speak directly with FFADO devs if needed.
    --asmok (Asmo Koskinen): I can help on testing. I have an Echo Audiofire4.
    --tapitman11 (Tim Pitman): I can help as well. I also have an Echo Audiofire 4, so far working great in Maverick.

Development:
http://kernel.ubuntu.com/git?p=abogani/ubuntu-natty-meta-lowlatency.git;a=summary
http://kernel.ubuntu.com/git?p=abogani/ubuntu-natty-lowlatency.git;a=summary

Test images:
https://launchpad.net/~abogani/+archive/ppa?field.series_filter=natty

FAQ:
Q: What is the difference between an -rt kernel and a -realtime kernel?

A: From a technical point of view, -rt and -realtime are the same kernel. They are both based on the PREEMPT_RT patchset, although the version may be different. The main difference is that the -rt kernel should be based on the Ubuntu source tree (and therefore can use the same features, patches, enabled hardware, security fixes and so on) and should offer the same services that the Ubuntu default -generic kernel offers. For example, it should be compatible with closed video drivers (nvidia and fglrx), any external DKMS drivers, and have available backport packages. The goal of an -rt kernel is to obtain a real time variant of the Ubuntu kernel that is aligned with the -generic kernel.

On the other hand, the -realtime kernel is a PREEMPT_RT patched kernel based on the vanilla source tree (not the Ubuntu source). This kernel will be missing Ubuntu specific code, patches or security fixes and it isn't guaranteed to be compatible with any external software (low level utilities, DKMS drivers and so on). It does not use the same Linux kernel version as the -generic kernel, and so these two kernels are not aligned. It is a working, upstream real-time kernel that is being used on Ubuntu. No more no less.

Natty Benchmarks

Below are the results from various community members. The table reports the minimum latency achieved with no Xruns

Natty Benchmarks Matrix

Tester

Date

Machine

Workflow

Natty-generic 2.6.38-1

Natty-lowlatency 2.6.38-1

Natty-generic 2.6.38-2

Natty-lowlatency 2.6.38-2

Natty-generic 2.6.38-3

Natty-lowlatency 2.6.38-3

Natty-generic 2.6.38-5

Natty-lowlatency 2.6.38-5

Scott Lavender

2011-01-27

Dell P4, 2.8ghz machine with 3 gigs memory and an MAudio Delta 44 card

?

?

3ms

-

-

-

-

-

-

Ronan Jouchet

2011-01-30

Dell Vostro V13 / Celeron 1.3GHz / 2GB, TI Firewire card, Edirol FA-66

2channel Rakarrack session, no MIDI

4ms

4ms

-

-

-

-

-

-

ailo.at

2011-01-31

Dual Core 2.13GHz / Intel HDA (builtin sound)

Simple Ardour Session

2.9 ms

2.9 ms

-

-

-

-

-

-

ailo.at

2011-02-14

Dual Core 2.13GHz / Intel HDA (builtin sound)

Simple Ardour Session

11.6 ms

2.9 ms

?

?

11.6 ms

5.6ms

-

-

ailo.at

2011-02-15

Dual Core 2.13GHz / Intel HDA (builtin sound)

Simple Ardour Session

11.6ms

2.9ms

11.6ms

2.9/5.8ms*

11.6ms

2.9/5.8ms*

-

-

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

*Occasional random xruns at 2.9ms, but stable for long periods of time.

Maverick Benchmarks

Maverick Benchmarks Matrix

Tester

Date

Machine

Workflow

Maverick-generic

Maverick-lowlatency

Ronan Jouchet

2011-01-30

Dell Vostro V13 / Celeron 1.3GHz / 2GB, TI Firewire card, Edirol FA-66

2channel Rakarrack session, no MIDI

16ms

4ms

Ancient stuff

These wiki pages covers hard real time support in Ubuntu.

RealTime Feisty
RealTime Gutsy
RealTime Hardy
RealTime Intrepid
RealTime Jaunty
RealTime Karmic
RealTime Lucid

The RT kernel is still around! If you can help by describing it's current state, please do so. In the mean time see the official rt.wiki.kernel.org and the Ubuntu Studio team for more information.

RealTime (last edited 2011-02-23 10:51:46 by abogani)