[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Mixing 32bit and 64bit JACK/ALSA



Hi.

I'm using AMD64 at work since some months now, and
really would like to make my next private system AMD64.
However, since I am a dedicated SuperCollider user, I will
need to invent some hackery to make SC run on AMD64.
Here is the story: SuperCollider is due to some strange
usage of pointers unable to run on 64-bit architectures.
So, since AMD64 is 32-bit compatible, I thought this
problem should be circumventable in some form.
I first tried to install a ia32 chroot with the
32bit supercollider binaries in it (all installed via apt-get).

Now, the first approach would be to run JACK *and* supercollider
in the 32-bit chroot.

amd64:/# jackd -vd alsa
getting driver descriptor from /usr/lib/libjack0.80.0-0/jack_alsa.so
getting driver descriptor from /usr/lib/libjack0.80.0-0/jack_dummy.so
getting driver descriptor from /usr/lib/libjack0.80.0-0/jack_oss.so
jackd 0.99.0
Copyright 2001-2003 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

registered builtin port type 32 bit float mono audio
running with uid=0 and euid=0, will not try to use capabilites
loading driver ..
new client: alsa_pcm, id = 1 type 1 @ 0x80577d8 fd = -1
creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to capture-only mode
cannot load driver module alsa

OK, so there seems to be some incompatibility which
prevents 32bit JACK from using ALSA.

The other possibility, although even less likely to work, would
be to run jackd in 64bit, and only the jack client
of supercollider inside the chroot:

amd64:/# jackd -d alsa
jackd 0.99.0
Copyright 2001-2003 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

loading driver ..
creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 1024 frames, buffer = 2 periods
Couldn't open hw:0 for 32bit samples trying 24bit instead
Couldn't open hw:0 for 24bit samples trying 16bit instead
Couldn't open hw:0 for 32bit samples trying 24bit instead
Couldn't open hw:0 for 24bit samples trying 16bit instead

So JACK is running fine in 64-bit mode, no problems to
open ALSA...   Now for the fun part, run inside the ia342
chroot:

amd64:~# scsynth
Using Altivec: no
could not initialize audio.
amd64:~#

So now SuperCollider doesn't find the 64bit instance
of JACK.

I am sort of out of ideas here.  Can anyone suggest
some course of action which could perhaps work?  Being able
to run SuperCollider is really the last showstopper for me,
without that problem, I'd already have ordered my new box...

-- 
CYa,
  Mario

Attachment: pgpDDBWf434om.pgp
Description: PGP signature


Reply to: