You are not logged in.
funkmuscle: the kernel in AUR works great for me. Is that what you are using?
Offline
kernel26rt-2.6.21.4.rt12-1
it works great. I built kernel26rt-2.6.22.1_rt9-1 with all the stuff off as you mentioned but the xruns were out of control.
yeah, got them all from AUR
Last edited by funkmuscle (2007-09-20 20:07:24)
Offline
Regarding acpi: It is a good to totally disable acpi and apm when compiling.
Yes. But for me it works if I just do not load any acpi modules like ac or battery.
ACPI (implementation?) seems to not be RT-compatible and locks kernel for too long periods sometimes.
keep in touch.
Offline
I was on a 1,5-months vacation, so I guess there is alot happened here.
I'll try to catch up shortly and update packages in proaudio.
keep in touch.
Offline
great to have you back. upload that kernel if you can with acpi and apm off.
I tried to build it and got mega x-runs.
Offline
Can anyone see a problem manually installing this package on a 64 bit system ?
http://arch.madfire.net/proaudio/i686/f … pkg.tar.gz
And BTW, would anyone be interested in a 64bit version of the proaudio packages ?
Offline
64bit packages would be great!
Offline
Howdy.
It seems that I'm going to be quite busy this autumn, so I just had a thought to set up upload access to a few select active members of this thread, for example shinlun and somebody else.
It will take a bit of time to set up (say, next weekend), but you will be free to upload new packages yourself (which is great I think). I will also set up a 64-bit branch in the repo, so markc could put 64 bit packages in there.
If you want to have upload access please write to me in PM and I'll send you back login and password.
keep in touch.
Offline
Hello! I was just wondering if anyone here might be able to help me troubleshoot some xrun problems I'm having that seem to be related to my wireless card. I made a more detailed post here in the Kernel & Hardware Issues forum.
In any case, this thread has been a great resource for me. I love Traverso! Thanks to everyone here!
Offline
Nevermind... I figured it out.
Offline
I stumbled here while searching the forum and I'm just glad I did. I'm a musician by hobby but without any knowledge of music technology.
I was planning on buying myself a macbook pro with Logic as my DAW since I've read that there are very few support of music gears for linux. Maybe you could give me a few pointers as how we fare against Windows and OSX in this issue? I can vaguely remember my source for the statement I made above but AFAIRemeber it is about an ardour developer/ musician of sort who said this? but of course, I might be wrong.
1. As of the moment the support I needed are only with mic but that may change soon since I'll be switching to an electric kit, the neighbors insists I do.
2. As far as recording quality? are we on par with them? I've only heard of low support but of low quality, thats not thoroughly discussed yet I think.
3. Well anything that you could add would really help, I'm really very new and very interested with pro audio in linux.
cheers
btw to those that might be interested, It a good source for learning
http://www.users.globalnet.co.uk/~bunce/
Offline
BTW I know that a DAW like Logic is an overkill for a hobbyist (pretty heavy on the pocket too...) but it's alway good to have everything and learn from there.
Offline
I'm struggling with my way through these issues too, ie; I am not an expert but I can't stand by and see your message go unanswerred.
1. As of the moment the support I needed are only with mic but that may change soon since I'll be switching to an electric kit, the neighbors insists I do.
Depends on your finances and how far you want to go. For stereo mic'ing there are a number of USB soundcards that would work. I have a Tascam US-122 which accepts 48v condenser mics, line in and guitar in, and midi in/out. It did work quite well with older hardware but my new computer renders it useless with an unusable distorted sound that I am hoping an ALSA update and some IRQ twiddling might fix, soon. Point being is that your hardware choices are important. Right now, if I had the money and the need I would by a Echo Gina 3G, or perhaps a Firewire card. I would not buy a USB 1 card (my US-122 as it only does 24b/48k and I want 96k at least).
http://www.echoaudio.com/Products/PCI/Gina3G/index.php
This page(s) show which cards are supported and seems to be reasonably uptodate these days...
http://www.alsa-project.org/main/index.php/Matrix:Main
And there are some suggestions here...
http://alsa.opensrc.org/Alsa_Preferred_Soundcards
2. As far as recording quality? are we on par with them? I've only heard of low support but of low quality, thats not thoroughly discussed yet I think.
In general, if the hardware is supported, then linux and the ALSA drivers (and library) works quite well but it can take a lot of time to get ornery hardware and situations to work well.
3. Well anything that you could add would really help, I'm really very new and very interested with pro audio in linux.
There are certainly "enough good apps" under linux to be productive but that statement depends on the "being productive" part eating into your creative time and whether that is a show stopper for you, ie; don't expect anything to work out of the box and be prepared to deal with "issues" and you CAN end up with a great system that does what you want.
One of the main features, and hardships, is getting Jack (realtime audio streaming between apps) to work well with your hardware. Once that is nailed down then using the better Jack aware apps can be very rewarding. In general, my opinion is that it is still early days and another year of development, at the current rate, and it should all be mostly plug and play. Beware though, I said that to myself 5 years ago too :-)
All IMVHO.
Offline
Where are the rt scheduling tools like rtirq and rtprio ?
Also, this is a neat small script to investigate a real-time system, posted by someone on the LAU mailing-list.
# cat rt-setup-report.sh
#!/bin/bash
echo hostname:
hostname
echo
echo kernel release info:
uname -a
echo
lspci -v
echo
cat /proc/interrupts
echo
echo irq handler priorities:
top -b -n 1 -H | grep -i irq | sort -n -k3
echo
echo jackd priorities:
top -b -n 1 -H | grep -i jackd | sort -n -k3
echo
echo sound cards:
cat /proc/asound/cards
echo
echo sound devices:
cat /proc/asound/devices
Offline
I have updated kernel26rt to 2.6.23-rt1
My apologies about the acpi/apm situation. I've had acpi=off apm=off in my boot loader so I didn't notice. When I checked the config I was surprised apm was enabled, carelessness on my part, again sorry.
ACPI is enabled by default (APM not) in case people need it. If you don't you can either disable it during compilation or just affix acpi=off to your boot-loader. I've made a rough guide to either acpi-less method. You can find it at http://arch.timbosa.com
My understanding is that the kernel will only load one power manager at a time so if you were loading ACPI you wouldn't have been loading APM (if I'm wrong let me know) so if you've been having trouble with ACPI the easiest thing would be to disable it at boot.
Again sorry for any trouble caused and I'll pay [more] attention to the forums.
Offline
hey thanks for the update timbosa! bad news though...massive performance loss w/ this kernel. my desktop (openbox) is really choppy and even moving an aterm around causes an xrun. the mixer meters in ardour are so bad they basically just stay up all the time. I didn't do anything out of the ordinary w/ the kernel config or change my setup at all. how are you guys doing w/ it?
Offline
btartsa: I would suspect 2.6.23-rt1 is pretty experimental by nature, so I wouldn't rely on it.
I myself stick to 2.6.21 because it supports all I need to have supported and behaves very good - I tested recently by copying over 100GB of data over the USB link to external hdd.
The 2.6.21.1-cfs14 with Ingo's CFS scheduler almost dies even on dual core CPU. The desktop is nearly unusable and mouse is all jaggy. With 2.6.21.5-rt results are pretty awesome - I can playmusic, browse the web and never experienced any hiccup, even though some applications start slowish (fighting for HDD seeks) and some pages loading slowish (wifi driver fighting for interrupts i guess - I have all things imaginable on single interrupt here
20: 158396 0 IO-APIC-fasteoi libata, uhci_hcd:usb1, yenta, eth1, i915@pci:0000:00:02.0
) but mouse is smooth and menus are responsive. Hurray for RT kernels!
As for markc question about rtirq - I have it added to my startup scripts. My /etc/conf.d/rtirq file is:
# IRQ thread service names
# (space separated list, from higher to lower priority).
RTIRQ_NAME_LIST="rtc snd usb i8042"
# Highest priority.
RTIRQ_PRIO_HIGH=90
# Priority decrease step.
RTIRQ_PRIO_DECR=5
# Whether to reset all IRQ threads to SCHED_OTHER.
RTIRQ_RESET_ALL=0
# On kernel configurations that support it,
# which services should be NOT threaded
# (space separated list).
RTIRQ_NON_THREADED="rtc snd"
I have rtirq starting right before kdm (next to last in DAEMONS list), after all the drivers are loaded and claimed their resources/intr handlers. (I had issues if running it earlier - didn't catch up priorities for everything).
My security/limits.conf is as follows:
# nondefault audio priority for RT kernel (from gentoo proaudio manual)
@audio - rtprio 80
@audio - nice -10
@audio - memlock 500000
If anyone can suggest improved settings for these - would be great (even tho these settings work good for me).
keep in touch.
Offline
package request:
Vivia: http://vivia-video.org/
zs4: http://www.zs4.net/
Diva: http://www.diva-project.org/
Scilab Aurora: http://scilab-aurora.sourceforge.net/English/index.html
I tried building but failed.
thank you in advance guys
Offline
markc thanks for the reply.
Offline
I seem to have made a major breakthrough on my studio machine. It's absolutely hardware dependent so I can't really say how it might affect you.
The machine :
dual cpu 2.4ghz P4 (single cores)
1.5 gigs ram
m audio delta 1010
2.6.22 kernel w/ rt patches
I was not getting nearly the performance I wanted out of this machine. I could get only about 10ms latency at 48khz.
I noticed that all my IRQ's (cat /proc/interupts) were only on cpu0 and did some research on it. I ended up taking the following steps and got jackd running at under 5ms at 96khz. I pushed down to around 1ms at 48khz and recorded a drum track with no xruns.
So here we go:
Shut off hyperthreading in the BIOS.
Make sure that SMP is enabled in the kernel. Also make sure that IRQ Balancing is diabled.
Install the irqbalance package from AUR.
Add irqbalance to /etc/rc.conf.
I set the "execute on start" setting in qjackctl to bump jackd up w/ chrt -f -p 89 `pidof "jackd"`
I also bump up the IRQ with my soundcard on it by adding chrt -f -p 99 `pidof "IRQ-18"` to /etc/rc.local
Watch out for your IRQ's changing if you add that to rc.local.
Reboot
Now cat/proc/interupts shows cpu0 handling all the IRQ's except for eth0 and ICE1712, which are on cpu1.
There is a way to move IRQ's to other processors manually as well, but I have not tested it. Info on that is at http://forums.gentoo.org/viewtopic-p-43 … 6faab9f3a4
I hope this might help!
Ben
ps I set up an IRC channel for us on freenode at #archlinux-proaudio
Hope to see you all over there...I have a feeling it would solve a lot of issues that have been lagging on this thread.
Last edited by btartsa (2007-10-21 00:35:04)
Offline
I ended up taking the following steps and got jackd running at under 5ms at 96khz. I pushed down to around 1ms at 48khz and recorded a drum track with no xruns.
Nice result man!
thanks for the recommendations
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
I did some wiki work...please feel free to add or correct anything.
Offline
I have updated kernel26rt to 2.6.23-rt1
Hmm, where might this kernel be ? http://arch.madfire.net/proaudio/i686/ still has 2.6.21.rt8. I tried to build from AUR but it dies just after making the xfs file system module.
Also, when might the proaudio package be updated ?
warning: caps: local (0.4.2-1) is newer than proaudio (0.3.0-1)
warning: lash: local (0.5.3-3) is newer than proaudio (0.5.3-1)
Solved: I'm not sure how to submit PKGBUILDs to AUR when there is already a PKGBUILD of the same name and purpose so here is the current AUR PKGBUILD modified for 2.6.23-rt4, and also a matching nvidia-rt PKGBUILD...
pkgname=kernel26rt
_basekernel=2.6.23
_kernpatchset=.1
_patchver=rt4
pkgver=2.6.23.1_rt4
pkgrel=1
pkgdesc="The Linux Kernel and modules with Ingo Molnar's Realtime Preemption patch"
arch=(i686 x86_64)
license=('GPL2')
url="http://www.kernel.org/pub/linux/kernel/projects/rt/"
backup=('boot/kconfig26rt' etc/mkinitcpio.d/${pkgname}.preset)
depends=('module-init-tools' 'mkinitcpio>=0.5.15')
install=kernel26rt.install
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_basekernel.tar.bz2 \
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-$_basekernel$_kernpatchset.bz2 \
http://www.kernel.org/pub/linux/kernel/projects/rt/patch-$_basekernel$_kernpatchset-$_patchver.bz2 \
config config.x86_64 \
logo_linux_clut224.ppm \
logo_linux_mono.pbm \
logo_linux_vga16.ppm \
kernel26rt.preset \
mkinitcpio-kernel26rt.conf)
md5sums=('2cc2fd4d521dc5d7cfce0d8a9d1b3472'
'8f76b5f4955ac68cb3bee7f3ea6029e2'
'797443c1f954feefb413be2f8ab4181b'
'5a62bcc7e96601052c7405459b483826'
'ed6b42fea2f5d27f7eb920746ccc1ebb'
'a995ec849ea43d3c89d607bbdd1e7d09'
'cdd412aaac5bf7b057d160f11536770a'
'36858bd6a0bca63d2aa901b2e42d4a05')
build() {
[ "${CARCH}" = "i686" ] && KARCH=i386
[ "${CARCH}" = "x86_64" ] && KARCH=x86_64
cd $startdir/src/linux-$_basekernel
# add upstream patch from 2.6.23 series
patch -Np1 -i ../patch-$_basekernel$_kernpatchset || return 1
# add realtime patch
patch -Np1 -i ../patch-$_basekernel$_kernpatchset-$_patchver || return 1
# add other patches here
#patch -Np1 -i ../patch-xyz
# remove the extraversion from Makefile
sed -i 's|^EXTRAVERSION = .*$|EXTRAVERSION =|;s|-rt||g' Makefile
# Arch logo!
cp ../logo_linux_clut224.ppm drivers/video/logo/
cp ../logo_linux_mono.pbm drivers/video/logo/
cp ../logo_linux_vga16.ppm drivers/video/logo/
if [ "$CARCH" = "x86_64" ]; then
cat ../config.x86_64 >./.config
else
cat ../config >./.config
fi
# build the full kernel version to use in pathnames
. ./.config
_kernver="${_basekernel}${CONFIG_LOCALVERSION}"
# load configuration
yes "" | make config
make oldconfig
#make menuconfig
#make gconfig
#make xconfig
# build!
make bzImage modules || return 1
mkdir -p $startdir/pkg/{lib/modules,boot}
make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
cp System.map $startdir/pkg/boot/System.map26rt
cp arch/$KARCH/boot/bzImage $startdir/pkg/boot/vmlinuz26rt
install -D -m644 Makefile \
$startdir/pkg/usr/src/linux-${_kernver}/Makefile
install -D -m644 kernel/Makefile \
$startdir/pkg/usr/src/linux-${_kernver}/kernel/Makefile
install -D -m644 .config \
$startdir/pkg/usr/src/linux-${_kernver}/.config
install -D -m644 .config $startdir/pkg/boot/kconfig26rt
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/include
for i in acpi asm-{generic,i386,x86_64} config linux math-emu media net pcmcia scsi sound video; do
cp -a include/$i $startdir/pkg/usr/src/linux-${_kernver}/include/
done
# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers $startdir/pkg/usr/src/linux-${_kernver}
cp -a scripts $startdir/pkg/usr/src/linux-${_kernver}
# fix permissions on scripts dir
chmod og-w -R $startdir/pkg/usr/src/linux-${_kernver}/scripts
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/.tmp_versions
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/kernel
cp arch/$KARCH/Makefile $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/
if [ "$CARCH" = "i686" ]; then
cp arch/$KARCH/Makefile.cpu $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/
fi
cp arch/$KARCH/kernel/asm-offsets.s $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/kernel/
# add headers for lirc package
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video
cp drivers/media/video/*.h $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video/
for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 usbvideo zc0301; do
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video/$i
cp -a drivers/media/video/$i/*.h $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video/$i
done
# add dm headers
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/drivers/md
cp drivers/md/*.h $startdir/pkg/usr/src/linux-${_kernver}/drivers/md
# add inotify.h
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/include/linux
cp include/linux/inotify.h $startdir/pkg/usr/src/linux-${_kernver}/include/linux/
# add CLUSTERIP file for iptables
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/net/ipv4/netfilter/
cp net/ipv4/netfilter/ipt_CLUSTERIP.c $startdir/pkg/usr/src/linux-${_kernver}/net/ipv4/netfilter/
# add wireless headers
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/net/mac80211/
cp net/mac80211/*.h $startdir/pkg/usr/src/linux-${_kernver}/net/mac80211/
# add vmlinux
cp vmlinux $startdir/pkg/usr/src/linux-${_kernver}
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
cp $i $startdir/pkg/usr/src/linux-${_kernver}/$i
done
cd $startdir/pkg/usr/src/linux-${_kernver}/include && ln -s asm-$KARCH asm
chown -R root.root $startdir/pkg/usr/src/linux-${_kernver}
find $startdir/pkg/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
cd $startdir/pkg/lib/modules/${_kernver} && \
(rm -f source build; ln -sf ../../../usr/src/linux-${_kernver} build)
# install fallback mkinitcpio.conf file and preset file for kernel
install -m644 -D $startdir/src/kernel26rt.preset $startdir/pkg/etc/mkinitcpio.d/kernel26rt.preset || return 1
install -m644 -D $startdir/src/mkinitcpio-kernel26rt.conf $startdir/pkg/etc/mkinitcpio.d/kernel26rt-fallback.conf || return 1
# set correct depmod command for install
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/kernel26rt.install
echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > ${startdir}/pkg/etc/mkinitcpio.d/kernel26rt.kver
# remove unneeded architectures
rm -rf $startdir/pkg/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
}
pkgname=nvidia-rt
pkgver=100.14.19
_kernver='2.6.23-rt'
pkgrel=2
pkgdesc="NVIDIA drivers for kernel26rt."
arch=('i686' 'x86_64')
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
depends=('kernel26rt' 'nvidia-utils')
conflicts=('nvidia-96xx' 'nvidia-71xx' 'nvidia-legacy')
install=nvidia.install
source=(http://us.download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run)
md5sums=('4426931324a7bcbda5fdea4c4d60a292')
[ "$CARCH" = "x86_64" ] && md5sums=('e87b354355cce583646004dbfea1f09a')
build()
{
# Extract
cd $startdir/src/
sh NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run --extract-only
cd NVIDIA-Linux-$ARCH-${pkgver}-pkg0
# Any extra patches are applied in here...
cd usr/src/nv/
ln -s Makefile.kbuild Makefile
make SYSSRC=/lib/modules/$_kernver/build module
# install kernel module
mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
install -m644 nvidia.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
}
Last edited by markc (2007-10-27 11:55:23)
Offline
Great markc, I'll give them a try this weekend.
Meanwhile, I've set up some sort of repository thing on my box. Come on IRC #archlinux-proaudio and ping me to get an account. Idea is to simply scp new packages to a given location on the box and have some automatic handling of the rest.
keep in touch.
Offline
==> ERROR: Failure while downloading patch-2.6.23.1-rt4.bz2
Offline