Quantcast

[Jack-Devel] jack2 on ARM - patch

classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Jack-Devel] jack2 on ARM - patch

Robin Gareus
Hi,

jackd-1.9.10 (recent git) still crashes on ARM with a "Bus error". After
brief discussion on #jack, Nedko pointed out that packed structures are
still an issue. Attached patch resolves the issue. Tested working on
armv7, cortex-A8 and A10 platform.

Cheers!
robin

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

jack2_armel.diff (830 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Stéphane Letz
Packed structs are needed for 64/32 server/clients mix: does that mean that the case will never happen on ARM?

Thanks

Stéphane

Le 1 janv. 2013 à 18:29, Robin Gareus a écrit :

> Hi,
>
> jackd-1.9.10 (recent git) still crashes on ARM with a "Bus error". After
> brief discussion on #jack, Nedko pointed out that packed structures are
> still an issue. Attached patch resolves the issue. Tested working on
> armv7, cortex-A8 and A10 platform.
>
> Cheers!
> robin
> <jack2_armel.diff>_______________________________________________
> Jack-Devel mailing list
> [hidden email]
> http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Florian Paul Schmidt-2
In reply to this post by Robin Gareus
On 01/01/2013 06:29 PM, Robin Gareus wrote:

> Hi,
>
> jackd-1.9.10 (recent git) still crashes on ARM with a "Bus error". After
> brief discussion on #jack, Nedko pointed out that packed structures are
> still an issue. Attached patch resolves the issue. Tested working on
> armv7, cortex-A8 and A10 platform.
>
> Cheers!
> robin
>

I just tried jack2 on the raspberry pi with archlinux-arm.. I get a
segfault earlier already:

[root@alarmpi fps]# jackd -d alsa -d hw:0 -p 256
jackdmp 1.9.9.5
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2012 Grame.
jackdmp 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
Could not open component .so '/usr/lib/jack/jack_firewire.so':
libffado.so.2: cannot open shared object file: No such file or directory
Could not open component .so '/usr/lib/jack/jack_firewire.so':
libffado.so.2: cannot open shared object file: No such file or directory
jack_get_descriptor : dll jack_firewire.so is not a driver
Segmentation fault (core dumped)

After installing libffado I get the bus error thingy, too:

[root@alarmpi fps]# jackd -d alsa
jackdmp 1.9.9.5
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2012 Grame.
jackdmp 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
no message buffer overruns
no message buffer overruns
no message buffer overruns
JACK server starting in realtime mode with priority 10
Bus error (core dumped)

Regards,
Flo


--
Florian Paul Schmidt http://fps.io
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Florian Paul Schmidt-2
On 01/01/2013 07:22 PM, Florian Paul Schmidt wrote:

> On 01/01/2013 06:29 PM, Robin Gareus wrote:
>> Hi,
>>
>> jackd-1.9.10 (recent git) still crashes on ARM with a "Bus error". After
>> brief discussion on #jack, Nedko pointed out that packed structures are
>> still an issue. Attached patch resolves the issue. Tested working on
>> armv7, cortex-A8 and A10 platform.
>>
>> Cheers!
>> robin
>>
>
> I just tried jack2 on the raspberry pi with archlinux-arm.. I get a
> segfault earlier already:
>
> [root@alarmpi fps]# jackd -d alsa -d hw:0 -p 256
> jackdmp 1.9.9.5
> Copyright 2001-2005 Paul Davis and others.
> Copyright 2004-2012 Grame.
> jackdmp 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
> Could not open component .so '/usr/lib/jack/jack_firewire.so':
> libffado.so.2: cannot open shared object file: No such file or directory
> Could not open component .so '/usr/lib/jack/jack_firewire.so':
> libffado.so.2: cannot open shared object file: No such file or directory
> jack_get_descriptor : dll jack_firewire.so is not a driver
> Segmentation fault (core dumped)
>
> After installing libffado I get the bus error thingy, too:
>
> [root@alarmpi fps]# jackd -d alsa
> jackdmp 1.9.9.5
> Copyright 2001-2005 Paul Davis and others.
> Copyright 2004-2012 Grame.
> jackdmp 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
> no message buffer overruns
> no message buffer overruns
> no message buffer overruns
> JACK server starting in realtime mode with priority 10
> Bus error (core dumped)
>
> Regards,
> Flo
>
>

Similar for jackd1 though:

[root@alarmpi fps]# jackd -d alsa -d hw:0 -p 256
jackd 0.121.3
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn
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

JACK compiled with System V SHM support.
loading driver ..
creating alsa driver ... hw:0|hw:0|256|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
Bus error (core dumped)

Flo

--
Florian Paul Schmidt
http://fps.io

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Robin Gareus
In reply to this post by Stéphane Letz
Not yet. AFAIK 64bit ARM CPUs won't ship before 2014 :)

On 01/01/2013 06:42 PM, Stéphane Letz wrote:

> Packed structs are needed for 64/32 server/clients mix: does that mean that the case will never happen on ARM?
>
> Thanks
>
> Stéphane
>
> Le 1 janv. 2013 à 18:29, Robin Gareus a écrit :
>
>> Hi,
>>
>> jackd-1.9.10 (recent git) still crashes on ARM with a "Bus error". After
>> brief discussion on #jack, Nedko pointed out that packed structures are
>> still an issue. Attached patch resolves the issue. Tested working on
>> armv7, cortex-A8 and A10 platform.
>>
>> Cheers!
>> robin
>> <jack2_armel.diff>_______________________________________________
>> Jack-Devel mailing list
>> [hidden email]
>> http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Jeremy Jongepier
In reply to this post by Robin Gareus
On 01/01/2013 06:29 PM, Robin Gareus wrote:
> Hi,
>
> jackd-1.9.10 (recent git) still crashes on ARM with a "Bus error". After
> brief discussion on #jack, Nedko pointed out that packed structures are
> still an issue. Attached patch resolves the issue. Tested working on
> armv7, cortex-A8 and A10 platform.
>
> Cheers!
> robin

Now you guys rock! I'll see if I can get it running on my RPi. Would be
awesome, then I can finally use it for something useful.

Regards,

Jeremy
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Stéphane Letz
In reply to this post by Robin Gareus
One question: what about the CAS implementation that uses assembly code ? (see linux/JackAtomic_os.h for instance)

Stéphane

Le 1 janv. 2013 à 18:29, Robin Gareus a écrit :

> Hi,
>
> jackd-1.9.10 (recent git) still crashes on ARM with a "Bus error". After
> brief discussion on #jack, Nedko pointed out that packed structures are
> still an issue. Attached patch resolves the issue. Tested working on
> armv7, cortex-A8 and A10 platform.
>
> Cheers!
> robin
> <jack2_armel.diff>_______________________________________________
> Jack-Devel mailing list
> [hidden email]
> http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Chris Caudle
In reply to this post by Robin Gareus
On Tue, January 1, 2013 12:26 pm, Robin Gareus wrote:
> Not yet. AFAIK 64bit ARM CPUs won't ship before 2014 :)

There will be engineering samples in just a few months.  It would be short
sighted to do anything which is known to break 64 bit compatibility at
this point.

--
Chris Caudle




_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Jeremy Jongepier
In reply to this post by Jeremy Jongepier
On 01/01/2013 09:26 PM, Jeremy Jongepier wrote:

> On 01/01/2013 06:29 PM, Robin Gareus wrote:
>> Hi,
>>
>> jackd-1.9.10 (recent git) still crashes on ARM with a "Bus error". After
>> brief discussion on #jack, Nedko pointed out that packed structures are
>> still an issue. Attached patch resolves the issue. Tested working on
>> armv7, cortex-A8 and A10 platform.
>>
>> Cheers!
>> robin
>
> Now you guys rock! I'll see if I can get it running on my RPi. Would be
> awesome, then I can finally use it for something useful.
>
> Regards,
>
> Jeremy

Applied patch to the source package of jackd2 available for raspbian,
rebuild, remounted /dev/shm and modified /etc/dbus-1/system.conf and
guess what? JACK with my UA-25 on my Rpi! Great, thanks again!

Here's the recipe:

wget
http://jack-audio.10948.n7.nabble.com/attachment/15962/0/jack2_armel.diff
apt-get source jackd2
cd jackd2-1.9.8~dfsg.4+20120529git007cdc37
patch -p1 -i ../jack2_armel.diff
dpkg-source --commit
dpkg-buildpackage -rfakeroot -uc -b
cd ..
sudo dpkg -i
libjack-jackd2-0_1.9.8~dfsg.4+20120529git007cdc37-5_armhf.deb
jackd2_1.9.8~dfsg.4+20120529git007cdc37-5_armhf.deb

Now add the following lines to /etc/dbus-1/system.conf:
   <policy user="pi">
        <allow own="org.freedesktop.ReserveDevice1.Audio1"/>
   </policy>

This depends on the sound device you're using, it could be different.
Now remount /dev/shm:
sudo mount -o remount,size=128M /dev/shm

And if you're on a headless RPi:
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket

Now you can fire up JACK but not in full-duplex, only capture or
playback, so use -C or -P. This is probably because the ethernet adapter
is also on the same usb bus. Maybe disabling it allows JACK to run in
duplex mode, haven't tried it yet.

Jeremy

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Stéphane Letz
In reply to this post by Robin Gareus
And there was Basil Nutmeg proposal in july 2012 that was finally prepared on a git branch here:

https://github.com/basilnut/jack2/

But never merged (since not yet tested on Windows....).

Basil, I think the code was supposed to be for 64 and 32 bit right?

Then Robin it would be great to look at this code and possibly test (= merge or rebase) it with latest git head and see if it works.

Than I can test on Windows and then possibly we can merge it back on master.

Thanks.

Stéphane


Le 1 janv. 2013 à 18:29, Robin Gareus a écrit :

> Hi,
>
> jackd-1.9.10 (recent git) still crashes on ARM with a "Bus error". After
> brief discussion on #jack, Nedko pointed out that packed structures are
> still an issue. Attached patch resolves the issue. Tested working on
> armv7, cortex-A8 and A10 platform.
>
> Cheers!
> robin
> <jack2_armel.diff>_______________________________________________
> Jack-Devel mailing list
> [hidden email]
> http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Robin Gareus
On 01/01/2013 11:20 PM, Stéphane Letz wrote:
> And there was Basil Nutmeg proposal in july 2012 that was finally prepared on a git branch here:
>
> https://github.com/basilnut/jack2/

As documented in the git log messages, it breaks the ABI. AFAIK that is
a no-go.

---
Quotes from the commit log:

In the current tree, with packed attributes on the relevant structs,
the only impact of this change is that the alignments of jack_unique_t
and jack_time_t are increased from 4 to 8 on 32-bit platforms, so
the layouts of structs which include them as members may be affected.

The ABI impact relative to the tree before the packed attributes
were introduced is that the alignment of jack_position_t is increased
from 4 to 8 on 32-bit platforms. The layout of the struct itself is
unmodified, though the layouts of structs which include it as a
member may be affected.

jack_latency_range_t and jack_position_t are no longer packed. The
layouts of these structs themselves are unmodified, though the layouts
of any structs which include these structs as members may be affected.
---

> Then Robin it would be great to look at this code and possibly test
> (= merge or rebase) it with latest git head and see if it works.

Basil's work can be rebased without any conflicts onto the current HEAD.
It needs some minor modifications (JackNetTool.h) to compile:
  https://github.com/x42/jack2/commits/nopackedstructs
and then works as promised - tested on arm and i386.

Interestingly enough, the ABI changes do not seem to make a difference
on i386 nor on armel. (basil's jackd2 was configured with --classic
--alsa --dbus --firewire).

On i386: Ardour3, xjadeo, zita-a2j (all compiled with jack2-1.9.9) as
well as baudline continue to work just fine with initial tests. On arm I
only tested some commandline tools jack_capture, jltcgen. No problems
either, so far.

so long,
robin
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Stéphane Letz
I've got your merge request, but before that:

- please keep testing (and possibly netjack2 between 64 and 32 machines)

- I would like to test on Windows also (see if it does not break MixBus for instance...)

Stéphane

Le 2 janv. 2013 à 11:23, Robin Gareus a écrit :

> On 01/01/2013 11:20 PM, Stéphane Letz wrote:
>> And there was Basil Nutmeg proposal in july 2012 that was finally prepared on a git branch here:
>>
>> https://github.com/basilnut/jack2/
>
> As documented in the git log messages, it breaks the ABI. AFAIK that is
> a no-go.
>
> ---
> Quotes from the commit log:
>
> In the current tree, with packed attributes on the relevant structs,
> the only impact of this change is that the alignments of jack_unique_t
> and jack_time_t are increased from 4 to 8 on 32-bit platforms, so
> the layouts of structs which include them as members may be affected.
>
> The ABI impact relative to the tree before the packed attributes
> were introduced is that the alignment of jack_position_t is increased
> from 4 to 8 on 32-bit platforms. The layout of the struct itself is
> unmodified, though the layouts of structs which include it as a
> member may be affected.
>
> jack_latency_range_t and jack_position_t are no longer packed. The
> layouts of these structs themselves are unmodified, though the layouts
> of any structs which include these structs as members may be affected.
> ---
>
>> Then Robin it would be great to look at this code and possibly test
>> (= merge or rebase) it with latest git head and see if it works.
>
> Basil's work can be rebased without any conflicts onto the current HEAD.
> It needs some minor modifications (JackNetTool.h) to compile:
>  https://github.com/x42/jack2/commits/nopackedstructs
> and then works as promised - tested on arm and i386.
>
> Interestingly enough, the ABI changes do not seem to make a difference
> on i386 nor on armel. (basil's jackd2 was configured with --classic
> --alsa --dbus --firewire).
>
> On i386: Ardour3, xjadeo, zita-a2j (all compiled with jack2-1.9.9) as
> well as baudline continue to work just fine with initial tests. On arm I
> only tested some commandline tools jack_capture, jltcgen. No problems
> either, so far.
>
> so long,
> robin
> _______________________________________________
> Jack-Devel mailing list
> [hidden email]
> http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Robin Gareus
Re all,

From https://github.com/jackaudio/jack2/pull/25

"[..] This not actually a /pull request/ for immediate merging. It is
intended for easy code perusal and comments."

It'd be great if others would test and/or read the code, too!
robin

PS. Sorry for top-posting. I'm following sletz's lead here.


On 01/02/2013 11:37 AM, Stéphane Letz wrote:

> I've got your merge request, but before that:
>
> - please keep testing (and possibly netjack2 between 64 and 32 machines)
>
> - I would like to test on Windows also (see if it does not break MixBus for instance...)
>
> Stéphane
>
> Le 2 janv. 2013 à 11:23, Robin Gareus a écrit :
>
>> On 01/01/2013 11:20 PM, Stéphane Letz wrote:
>>> And there was Basil Nutmeg proposal in july 2012 that was finally prepared on a git branch here:
>>>
>>> https://github.com/basilnut/jack2/
>>
>> As documented in the git log messages, it breaks the ABI. AFAIK that is
>> a no-go.
>>
>> ---
>> Quotes from the commit log:
>>
>> In the current tree, with packed attributes on the relevant structs,
>> the only impact of this change is that the alignments of jack_unique_t
>> and jack_time_t are increased from 4 to 8 on 32-bit platforms, so
>> the layouts of structs which include them as members may be affected.
>>
>> The ABI impact relative to the tree before the packed attributes
>> were introduced is that the alignment of jack_position_t is increased
>> from 4 to 8 on 32-bit platforms. The layout of the struct itself is
>> unmodified, though the layouts of structs which include it as a
>> member may be affected.
>>
>> jack_latency_range_t and jack_position_t are no longer packed. The
>> layouts of these structs themselves are unmodified, though the layouts
>> of any structs which include these structs as members may be affected.
>> ---
>>
>>> Then Robin it would be great to look at this code and possibly test
>>> (= merge or rebase) it with latest git head and see if it works.
>>
>> Basil's work can be rebased without any conflicts onto the current HEAD.
>> It needs some minor modifications (JackNetTool.h) to compile:
>>  https://github.com/x42/jack2/commits/nopackedstructs
>> and then works as promised - tested on arm and i386.
>>
>> Interestingly enough, the ABI changes do not seem to make a difference
>> on i386 nor on armel. (basil's jackd2 was configured with --classic
>> --alsa --dbus --firewire).
>>
>> On i386: Ardour3, xjadeo, zita-a2j (all compiled with jack2-1.9.9) as
>> well as baudline continue to work just fine with initial tests. On arm I
>> only tested some commandline tools jack_capture, jltcgen. No problems
>> either, so far.
>>
>> so long,
>> robin
>> _______________________________________________
>> Jack-Devel mailing list
>> [hidden email]
>> http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
>
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Robin Gareus
In reply to this post by Stéphane Letz
On 01/01/2013 09:30 PM, Stéphane Letz wrote:
> One question: what about the CAS implementation that uses assembly
> code ? (see linux/JackAtomic_os.h for instance)

gcc's built-in __sync_bool_compare_and_swap() seems to work. There's no
compiler warning related to it being unavailable on the given architecture.

Skipping /deprecated/ and /defined-but-not-used/ warnings, the following
two remain on ARM:

../linux/cycles.h:117:2: warning: #warning No suitable get_cycles()
implementation. Returning 0 instead [-Wcpp]

../common/JackLibAPI.cpp:114:23: note: the mangling of ‘va_list’ has
changed in GCC 4.4

no side-effects so far.
ciao,
robin
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Stéphane Letz

Le 2 janv. 2013 à 11:53, Robin Gareus a écrit :

> On 01/01/2013 09:30 PM, Stéphane Letz wrote:
>> One question: what about the CAS implementation that uses assembly
>> code ? (see linux/JackAtomic_os.h for instance)
>
> gcc's built-in __sync_bool_compare_and_swap() seems to work. There's no
> compiler warning related to it being unavailable on the given architecture.

Do you mean you've changed the code to use __sync_bool_compare_and_swap ?

>
> Skipping /deprecated/ and /defined-but-not-used/ warnings, the following
> two remain on ARM:
>
> ../linux/cycles.h:117:2: warning: #warning No suitable get_cycles()
> implementation. Returning 0 instead [-Wcpp]

Any possible fix for that?
>
> ../common/JackLibAPI.cpp:114:23: note: the mangling of ‘va_list’ has
> changed in GCC 4.4
>
> no side-effects so far.
> ciao,
> robin

Stéphane

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Robin Gareus
On 01/02/2013 12:04 PM, Stéphane Letz wrote:

> Le 2 janv. 2013 à 11:53, Robin Gareus a écrit :
>
>> On 01/01/2013 09:30 PM, Stéphane Letz wrote:
>>> One question: what about the CAS implementation that uses
>>> assembly code ? (see linux/JackAtomic_os.h for instance)
>>
>> gcc's built-in __sync_bool_compare_and_swap() seems to work.
>> There's no compiler warning related to it being unavailable on
>> the given architecture.
>
> Do you mean you've changed the code to use
> __sync_bool_compare_and_swap ?

no change is needed. current jack2 already does that:
https://github.com/jackaudio/jack2/blob/master/linux/JackAtomic_os.h#L75


>> Skipping /deprecated/ and /defined-but-not-used/ warnings, the
>> following two remain on ARM:
>>
>> ../linux/cycles.h:117:2: warning: #warning No suitable
>> get_cycles() implementation. Returning 0 instead [-Wcpp]
>
> Any possible fix for that?

google found a get_cycles() for ARM:

http://stackoverflow.com/questions/3247373/how-to-measure-program-execution-time-in-arm-cortex-a8-processor

however, enabling user mode access to the CPU cyclecounter requires a
kernel operation (board-init or kernel module load).

mmh,
robin

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Nedko Arnaudov
In reply to this post by Jeremy Jongepier
Jeremy Jongepier <[hidden email]> writes:

> Now add the following lines to /etc/dbus-1/system.conf:
>   <policy user="pi">
>        <allow own="org.freedesktop.ReserveDevice1.Audio1"/>
>   </policy>
>
> This depends on the sound device you're using, it could be
> different. Now remount /dev/shm:
> sudo mount -o remount,size=128M /dev/shm
>
> And if you're on a headless RPi:
> export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket
Is the device reservation code useful on RPi? We could have a configure
option for disabling it.

--
Nedko Arnaudov <GnuPG KeyID: 5D1B58ED>

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

attachment0 (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Robin Gareus
On 01/02/2013 12:49 PM, Nedko Arnaudov wrote:

> Jeremy Jongepier <[hidden email]> writes:
>
>> Now add the following lines to /etc/dbus-1/system.conf:
>>   <policy user="pi">
>>        <allow own="org.freedesktop.ReserveDevice1.Audio1"/>
>>   </policy>
>>
>> This depends on the sound device you're using, it could be
>> different. Now remount /dev/shm:
>> sudo mount -o remount,size=128M /dev/shm
>>
>> And if you're on a headless RPi:
>> export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket
>
> Is the device reservation code useful on RPi? We could have a configure
> option for disabling it.

There is a `waf configure` option: just don't use --dbus and it works
fine without this /trick/. A runtime option would be great.

ie. `waf configure with --classic --dbus ...` - but having an option
that the resulting `jackd` would skip device reservation.

2c,
robin

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Nedko Arnaudov
In reply to this post by Robin Gareus
Robin Gareus <[hidden email]> writes:

> On 01/01/2013 11:20 PM, Stéphane Letz wrote:
>> And there was Basil Nutmeg proposal in july 2012 that was finally prepared on a git branch here:
>>
>> https://github.com/basilnut/jack2/
>
> As documented in the git log messages, it breaks the ABI. AFAIK that is
> a no-go.
>
> ---
> Quotes from the commit log:
>
> In the current tree, with packed attributes on the relevant structs,
> the only impact of this change is that the alignments of jack_unique_t
> and jack_time_t are increased from 4 to 8 on 32-bit platforms, so
> the layouts of structs which include them as members may be affected.
>
> The ABI impact relative to the tree before the packed attributes
> were introduced is that the alignment of jack_position_t is increased
> from 4 to 8 on 32-bit platforms. The layout of the struct itself is
> unmodified, though the layouts of structs which include it as a
> member may be affected.
>
> jack_latency_range_t and jack_position_t are no longer packed. The
> layouts of these structs themselves are unmodified, though the layouts
> of any structs which include these structs as members may be affected.
The jack1/jack2 ABI breakage that happened because of the packed structs
is much more worrisome.

--
Nedko Arnaudov <GnuPG KeyID: 5D1B58ED>

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

attachment0 (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: jack2 on ARM - patch

Nedko Arnaudov
In reply to this post by Robin Gareus
Robin Gareus <[hidden email]> writes:

> On 01/02/2013 12:49 PM, Nedko Arnaudov wrote:
>> Jeremy Jongepier <[hidden email]> writes:
>>
>>> Now add the following lines to /etc/dbus-1/system.conf:
>>>   <policy user="pi">
>>>        <allow own="org.freedesktop.ReserveDevice1.Audio1"/>
>>>   </policy>
>>>
>>> This depends on the sound device you're using, it could be
>>> different. Now remount /dev/shm:
>>> sudo mount -o remount,size=128M /dev/shm
>>>
>>> And if you're on a headless RPi:
>>> export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket
>>
>> Is the device reservation code useful on RPi? We could have a configure
>> option for disabling it.
>
> There is a `waf configure` option: just don't use --dbus and it works
> fine without this /trick/. A runtime option would be great.
>
> ie. `waf configure with --classic --dbus ...` - but having an option
> that the resulting `jackd` would skip device reservation.
Unless one wants to use jackdbus without device reservation
code. Runtime option is ok.

--
Nedko Arnaudov <GnuPG KeyID: 5D1B58ED>

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

attachment0 (499 bytes) Download Attachment
12
Loading...