You are not logged in.
Pages: 1
hey guys,
i need a fully preemptible kernel for some real-time audio work (Digital Vinyl System with xwax) cause i run in to a lot of xruns using the slitaz standard.
1. can anyone give me any help on achieving this?
2. is it of any advantage performance-wise running a frugal install?
thanks!
Offline
for me AVLinux has the best rt-kernel
http://www.bandshed.net/AVLinux.html
take the kernel config from AVLinux and build your own kernel
http://doc.slitaz.org/en:guides:kernel
Offline
i found some of Ingo Molnar's work:
https://www.kernel.org/pub/linux/kernel/projects/rt/3.2/older/patch-3.2.53-rt76.patch.gz
i dont get how to patch it though.
@kultex: sry, ive never built/patched my own kernel. could you explain further? i'd need to download AVLinux first to get hold of the config, right?
Offline
yes
if you can wait until next week, I can help you, but I have a job from tomorrow morning
Offline
of course. thanks a lot man!
Offline
okay i managed to get a bzImage file with a realtime kernel.
i got the patch for the current slitaz kernel version 3.2.53 from here:
https://www.kernel.org/pub/linux/kernel/projects/rt/3.2/older/patch-3.2.53-rt76.patch.gz
and extracted it.
then i did following:
(as root)
# tazpkg get-install slitaz-toolchain
# tazpkg get-install ncurses-dev
# tazpkg get-install perl
# tazpkg get-install linux-source
# /usr/bin/get-linux-source
# cd /usr/src/linux
# patch -p1 < /home/tux/Downloads/patch-3.2.53-rt76.patch
# make oldconfig && make prepare
# make menuconfig (adjusted a couple of things like enabling high-resolution timer support)
# make -j 6
# make -j 6 bzImage
# cp arch/x86/boot/bzImage /home/tux/Documents/RTkernel/bzImageRT/
# make -j 6 modules
# make -j 6 modules_install
# cp -r /lib/modules/3.2.53-rt76-slitaz /home/tux/Documents/RTkernel/
trouble was first when i executed # make -j 6 modules i got an Error concerning some orinoco module.
after doing some research i found out what it was for and disabled support in # make menuconfig.
this enabled me to proceed as stated above.
i then told menu.lst the path of the bzImageRT file, copied 3.2.53-rt76-slitaz/ to /lib/modules/ on my frugal system, re-wrote the rootfs.gz and voila! It worked! Using my Digital Vinyl System with xwax i can now have jack running at 2.67 msec latency without any xruns! I am absolutely stoked.
I cant change the Frams/Period lower than 64. this is a little bottleneck. i am informed it has to do with my USB interface being USB 1.1
something else:
I managed to run traktor scratch pro in wine once with wineasio. at that time i didnt have a realtime kernel though, and i wasnt using wine-rt.
in windows the lowest acceptable latency i can manage on my machine is around 10ms. but adding/changing FX to the tracks would still cause it to crackle and pop.
I wonder if i can get traktor configured to still have everything calculated in 2.67ms.
This is my next goal 
Offline
congratulations, that you succeded!!!
Offline
thanks!
ive noticed some errors though.
- volume control is missing in the desktop gui, and i cant start alsamixer.
- in PacManFM, partitions on my drive are usually listed (and mountable). now there all missing in the "Places" view
any help on this? missing modules perhaps?
Offline
OK, now I'm trying to do the same thing for slitaz-rolling64 (with the 64bit kernel).
Did a fresh HDD install with rolling64 and tried my steps mentioned above.
i ignored
# make oldconfig && make prepare
cause i was afraid I'd ruin my 64bit configuration.
it all works until i run:
# make -j 6
make[1]: Nothing to be done for `relocs'.
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CC kernel/bounds.s
CC scripts/mod/empty.o
kernel/bounds.c:1:0: error: code model 'kernel' not supported in the 32 bit mode
kernel/bounds.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
scripts/mod/empty.c:1:0: error: code model 'kernel' not supported in the 32 bit mode
scripts/mod/empty.c:1:0: sorry, unimplemented: 64-bit mode not compiled inmake[1]:
*** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
make: *** Waiting for unfinished jobs....
make[2]: *** [scripts/mod/empty.o] Error 1
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2
I imagine a 64bit RT kernel being more efficient on a 64bit machine than a 32bit one, no?
EDIT: found out it has something to do with gcc.
# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i486-slitaz-linux/4.6.3/lto-wrapper
Target: i486-slitaz-linux
Configured with: /home/slitaz/wok/gcc/source/gcc-4.6.3/configure --libexecdir=/usr/lib --enable-nls --enable-languages=c,c++,objc,fortran --enable-shared --with-system-zlib --enable-clocale=gnu --enable-objc-gc --enable-__cxa_atexit --enable-lto --enable-threads=posix --disable-bootstrap --with-pkgversion=SliTaz --build=i486-slitaz-linux --host=i486-slitaz-linux --with-tune=i486
Thread model: posix
gcc version 4.6.3 (SliTaz)
How can i change my gcc to continue building the kernel?
Offline
first SliTaz64 is not stable - last time I tried it, it did not work. But something changed in the last 2 weeks - you can check here
http://forum.slitaz.org/topic/no-network-in-rolling64#post-34475
to the question is 64rt kernel more efficient - I dont think so
If you compare rt distributions - Ubuntu Studio has 32 + 64 bit kernel - https://ubuntustudio.org/download/ and AVlinux has only 32bit PAE Kernel
but I use AVlinux also on 64 bit machines - its much better
Offline
@kultex: yeah i know rolling64 had issues, but the ones i encountered are fixed now (the modules issue).
thing is, using my frugal install with my RT-kernel i was able to achieve lower latencies without xruns compared to a HDD install with the same RT kernel.
for frugal stuff id have thought it'd always be better being able to use all of the RAM present, cause my current 32bit RT kernel only lets me use 2,9-3 GB of my 4GB RAM. using a 64 bit rt kernel i could use all of my RAM, couldnt i?
thats why im eager to try a 64bit RT kernel.
afaik ubuntu studio comes with a different ("lowlatency") kernel, not an optimized ("fully preemptible"?) RT kernel as AVLinux has. or did you patch ubuntu studios kernel? that would explain the difference in audio performance.
back to my question, it looks more like the gcc that comes with it is configured for 32bit slitaz. id have to compile a fresh version for 64 bit compiling functionality, right?
or is there a way to reconfigure the currently installed gcc?
Offline
you get the same thing with the the 32bit PAE Kernel - up to 64GB of Ram
I think you have to change this (this is just out of my memory):
# CONFIG_HIGHMEM4G is not set
CONFIG_HIGHMEM64G=y
CONFIG_HIGHMEM=y
CONFIG_X86_PAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
...
CONFIG_PHYS_ADDR_T_64BIT=y
if this does not work, I will look into the AV-Linux config
Offline
thanks for the tip!
thought i saw and activated those in make menuconfig
have to re-check again.
which Kernel-version is the AVLinux-config for? maybe i could just use it entirely.
I moved the other question to Slitaz64.
Offline
thats avlinux 6.03 with kernel 3.10.27
maybe the config works, but I would just change the values I told you in your slitaz config....
Offline
Pages: 1
[ Generated in 0.019 seconds, 7 queries executed - Memory usage: 1.56 MiB (Peak: 1.77 MiB) ]