root/branches/libffado-scons_porting_work/README

Revision 341, 6.7 kB (checked in by pieterpalmers, 17 years ago)

- changed bebob avdevice to use debugmodule instead of printf/cout
- fixed some minor merge side-effects
- implement a RT safe mechanism to obtain the cycle counter.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 FreeBoB version 1.999.0
2 =======================
3
4 This project aims to provide a free driver implemenation for the BeBoB
5 platform.  The BeBoB is used in many available IEEE 1394 based break-out
6 boxes.
7
8 Dependencies
9 ------------
10
11 To build libfreebob you need several libraries. For all libraries a
12 version is provided which is a 'known good' version.  The first few
13 libraries it seems it is not necessary that the version must
14 match. The chances that it works also with an older versions are good:
15
16 alsa        (>= 1.0.0)
17 libxml2     (>= 2.6.0)
18 libpthread  (>= 2.3.5)
19
20 These libraries here should be at least the version listed:
21
22 libraw1394  (>= 1.2.1),  http://www.linux1394.org
23 libiec61883 (>= 1.0.0),  http://www.linux1394.org
24 libavc1394  (>= 0.5.3),  http://sourceforge.net/projects/libavc1394
25
26 Currently only the jackd audio server is supported.
27
28 jackd (>= 0.102.5), http://jackaudio.org
29
30 Optionally, but recommended is that you install qjackctl:
31
32 qjackctl (>= 0.2.20.10), http://sourceforge.net/projects/qjackctl
33
34 How to build
35 ------------
36
37 Building the code is straight forward if PKG_CONFIG_PATH, LD_LIBRARY_PATH
38 and INCLUDE_PATH is correctly set up.
39
40 E.g on my system I have installed libraw1394, libiec61883 and libavc1394
41 under /usr/local:
42
43 $ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
44 $ export LD_LIBRARY_PATH=/usr/local/lib
45
46 If you want to build the release version you can do following:
47
48 $ ./configure
49 $ make
50 $ make install
51
52 If you want some debug information (because something seems not
53 to work correctly) you can try do following (not CVS checkout):
54
55 $ ./configure --enable-debug
56 $ make
57 $ make install
58
59 NOTE: In order to build jackd with freebob support, you have
60 to install libfreebob before you build jackd.
61
62
63 Running jackd
64 -------------
65
66 The easiest way to run this is using qjackctl. There are only minor
67 differences with the other backends, however you should change some
68 of the default values:
69 - The 'interface' field should contain only a number. This number is
70   the port number of the IEEE1394 host controller the audio device
71   is connected to. For most people this will be '0', but if you have
72   multiple controllers, you have to change this number.
73 - The 'Input channels' and 'Output channels' fields indicate if the
74   backend should provide capture and/or playback channels. If you set
75   these to 0, no channels are created. In order to enable capture and/or
76   playback, you have to set them to a nonzero value.
77 - It is recommended to change the 'periods/buffer' field to 3, especially
78   if you use low period sizes (=< 128)
79 - It is recommended to raise the RT priority to 70.
80
81 In order to get it running from the command line, you need to provide some
82 arguments to jackd.
83
84 Run
85
86 $ jackd -d freebob --help
87
88 to see the backend options. You can easily figure out how to set them using
89 the remarks given above (for qjackctl).
90
91 For the other aspects of jackd usage, consult the jackd documentation.
92
93 Here is a sample session (without realtime support enabled):
94
95 [wagi@halo ~]$ jackd -d freebob
96 jackd 0.102.9
97 Copyright 2001-2005 Paul Davis and others.
98 jackd comes with ABSOLUTELY NO WARRANTY
99 This is free software, and you are welcome to redistribute it
100 under certain conditions; see the file COPYING for details
101
102 JACK compiled with System V SHM support.
103 loading driver ..
104 Freebob using Firewire port 0, node -1
105 libiec61883 warning: Established connection on channel 0.
106 You may need to manually set the channel on the receiving node.
107 libiec61883 warning: Established connection on channel 1.
108 You may need to manually set the channel on the transmitting node.
109
110 In case of problems
111 -------------------
112
113 Under the tests directory there is a test program. You should first
114 try to run this.
115
116 If you don't have installed libfreebob then you can adapt your
117 LD_LIBRARY_PATH environment variable to
118
119 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../src/.libs
120
121 Then you can try running the program without having to install it.
122
123 With the release version you see something like this:
124
125 wagi@cruxam:~/src/libfreebob/tests$ ./test-freebob discover
126 verbose level = 0
127 Using freebob library version: libfreebob 0.9.0
128
129   port = 2, devices_on_bus = 1
130   get info for device = 0, node = 1
131 Direction:              0 (capture)
132
133 Connection Info
134 ===============
135
136 Number of connections:  1
137
138   Connection  0
139   -------------
140     [ 0] Id:         0
141     [ 0] Port:       2
142     [ 0] Node:       1
143     [ 0] Plug:       0
144     [ 0] Dimension:  7
145     [ 0] Samplerate: 44100
146     [ 0] IsoChannel: -1
147     [ 0] IsMaster:   0
148     [ 0] Number of stream infos: 8
149
150     StreamId  Position Location Format Type DPort Name
151     --------------------------------------------------
152     [ 0]:[ 0] 0x01     0x01     0x06   0x02 0x00  MicIn 1+2 left
153     [ 0]:[ 1] 0x04     0x02     0x06   0x02 0x00  MicIn 1+2 right
154     [ 0]:[ 2] 0x02     0x01     0x06   0x03 0x00  LineIn 1+2 left
155     [ 0]:[ 3] 0x05     0x02     0x06   0x03 0x00  LineIn 1+2 right
156     [ 0]:[ 4] 0x00     0x01     0x06   0x04 0x00  SpdifIn 1 left
157     [ 0]:[ 5] 0x03     0x02     0x06   0x04 0x00  SpdifIn 1 right
158     [ 0]:[ 6] 0x06     0x01     0x0d   0x0a 0x00  MidiIn2
159     [ 0]:[ 7] 0x06     0x02     0x0d   0x0a 0x00  MidiIn2
160
161
162 Direction:              1 (playback)
163
164 Connection Info
165 ===============
166
167 Number of connections:  1
168
169   Connection  0
170   -------------
171     [ 0] Id:         0
172     [ 0] Port:       2
173     [ 0] Node:       1
174     [ 0] Plug:       0
175     [ 0] Dimension:  11
176     [ 0] Samplerate: 44100
177     [ 0] IsoChannel: -1
178     [ 0] IsMaster:   0
179     [ 0] Number of stream infos: 12
180
181     StreamId  Position Location Format Type DPort Name
182     --------------------------------------------------
183     [ 0]:[ 0] 0x01     0x01     0x06   0x03 0x00  MultiChannel 7.1 Front left
184     [ 0]:[ 1] 0x06     0x02     0x06   0x03 0x00  MultiChannel 7.1 Front right
185     [ 0]:[ 2] 0x02     0x03     0x06   0x03 0x00  MultiChannel 7.1 Center
186     [ 0]:[ 3] 0x07     0x04     0x06   0x03 0x00  MultiChannel 7.1 Subwoofer
187     [ 0]:[ 4] 0x03     0x05     0x06   0x03 0x00  MultiChannel 7.1 Rear left
188     [ 0]:[ 5] 0x08     0x06     0x06   0x03 0x00  MultiChannel 7.1 Rear right
189     [ 0]:[ 6] 0x04     0x07     0x06   0x03 0x00  MultiChannel 7.1 Surround left
190     [ 0]:[ 7] 0x09     0x08     0x06   0x03 0x00  MultiChannel 7.1 Surround right
191     [ 0]:[ 8] 0x00     0x01     0x06   0x04 0x00  SpdifOut 1 left
192     [ 0]:[ 9] 0x05     0x02     0x06   0x04 0x00  SpdifOut 1 right
193     [ 0]:[10] 0x0a     0x01     0x0d   0x0a 0x00  MidiOut2
194     [ 0]:[11] 0x0a     0x02     0x0d   0x0a 0x00  MidiOut2
195
196
197 If you don't get this, check if you have multiple host controllers, and
198 use the -p parameter to specify them. If you get any error messages, the
199 best way to help us figure out what the problem might be is to build the
200 debug version (./configure --enable-debug). You can then rerun the test
201 application and send us its output.
202
Note: See TracBrowser for help on using the browser.