On Tuesday 10 February 2004 01.32, Paul Davis wrote:
On Mon,
2004-02-09 at 18:50, Dave Griffiths wrote:
jack works with intel830 DRI
Hmm.. I only have Radeon's, so I'm a bit out of luck as far as testing
other cards I guess.
Anyone else have a positive/negative experience?
(For clarification, it's only realtime jack (ie jackstart -R) that
doesn't work).
its a basic problem with real time software, the POSIX API etc.
JACK tries to lock *all* the process memory. POSIX doesn't offer any
APIs that would allow us to lock only the parts we need locked without
a lot of impossibly ugly, non-portable kludgery. the part that needs
locking consists of any memory that will be touched by the code run in
the JACK-managed "audio" thread.
the implementation of DRI by certain video interface drivers means
that we end up trying to lock the video memory as well, and this tends
to fail for various reasons.
its not what to do about this. the most obvious answer is "don't try
to run real-time software on systems with these video drivers
installed". i know its not very satisfactory, but its all we have for
now.
--p
There is one other option that helped me. I had this exact problem with my ATI
card. 128mb memory and QT insisted that it should be mapped into it's memory
space (infact it must be mapping it twice!)
In usage this meant that QT apps on my machine had a memory footprint at 300+
MB. With my 512 MB memory I could seldomly lock more than one app.... strange
would be otherwise ;).
Now, I can't disable DRI since I wanted my TV-out to work so I looked for
other solutions.
I found an obvious one. Decrease the amount of memory that the X-server
utilizes on the card. 128MB of graphic memory is __alot__, atleast I don't
need that.
I added the following to my XF86Config-4 in section "Device":
VideoRam 32768
Apps still report to much memory (seeminly about twice the video memory, 64MB)
but it's no longer a problem.
/Robert