root/trunk/libffado/README

Revision 603, 6.6 kB (checked in by arnonym, 15 years ago)

Adopt install-instructions to scons (#25) and replace freebob by ffado/firewire where necessary

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 FFADO version 1.999.6
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 libffado 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 $ scons
49 $ scons install
50
51 If you want some debug information (because something seems not
52 to work correctly) you can try do following (not CVS checkout):
53
54 $ scons DEBUG=yes
55 $ scons install
56
57 NOTE: In order to build jackd with ffado support, you have
58 to install libffado before you build jackd.
59
60
61 Running jackd
62 -------------
63
64 The easiest way to run this is using qjackctl. There are only minor
65 differences with the other backends, however you should change some
66 of the default values:
67 - The 'interface' field should contain only a number. This number is
68   the port number of the IEEE1394 host controller the audio device
69   is connected to. For most people this will be '0', but if you have
70   multiple controllers, you have to change this number.
71 - The 'Input channels' and 'Output channels' fields indicate if the
72   backend should provide capture and/or playback channels. If you set
73   these to 0, no channels are created. In order to enable capture and/or
74   playback, you have to set them to a nonzero value.
75 - It is recommended to change the 'periods/buffer' field to 3, especially
76   if you use low period sizes (=< 128)
77 - It is recommended to raise the RT priority to 70.
78
79 In order to get it running from the command line, you need to provide some
80 arguments to jackd.
81
82 Run
83
84 $ jackd -d firewire --help
85
86 to see the backend options. You can easily figure out how to set them using
87 the remarks given above (for qjackctl).
88
89 For the other aspects of jackd usage, consult the jackd documentation.
90
91 Here is a sample session (without realtime support enabled):
92
93 [wagi@halo ~]$ jackd -d firewire
94 jackd 0.102.9
95 Copyright 2001-2005 Paul Davis and others.
96 jackd comes with ABSOLUTELY NO WARRANTY
97 This is free software, and you are welcome to redistribute it
98 under certain conditions; see the file COPYING for details
99
100 JACK compiled with System V SHM support.
101 loading driver ..
102 Freebob using Firewire port 0, node -1
103 libiec61883 warning: Established connection on channel 0.
104 You may need to manually set the channel on the receiving node.
105 libiec61883 warning: Established connection on channel 1.
106 You may need to manually set the channel on the transmitting node.
107
108 In case of problems
109 -------------------
110
111 Under the tests directory there is a test program. You should first
112 try to run this.
113
114 If you don't have installed libffado then you can adapt your
115 LD_LIBRARY_PATH environment variable to
116
117 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../src/.libs
118
119 Then you can try running the program without having to install it.
120
121 With the release version you see something like this:
122
123 wagi@cruxam:~/src/libffado/tests$ ./test-ffado discover
124 verbose level = 0
125 Using ffado library version: libffado 0.9.0
126
127   port = 2, devices_on_bus = 1
128   get info for device = 0, node = 1
129 Direction:              0 (capture)
130
131 Connection Info
132 ===============
133
134 Number of connections:  1
135
136   Connection  0
137   -------------
138     [ 0] Id:         0
139     [ 0] Port:       2
140     [ 0] Node:       1
141     [ 0] Plug:       0
142     [ 0] Dimension:  7
143     [ 0] Samplerate: 44100
144     [ 0] IsoChannel: -1
145     [ 0] IsMaster:   0
146     [ 0] Number of stream infos: 8
147
148     StreamId  Position Location Format Type DPort Name
149     --------------------------------------------------
150     [ 0]:[ 0] 0x01     0x01     0x06   0x02 0x00  MicIn 1+2 left
151     [ 0]:[ 1] 0x04     0x02     0x06   0x02 0x00  MicIn 1+2 right
152     [ 0]:[ 2] 0x02     0x01     0x06   0x03 0x00  LineIn 1+2 left
153     [ 0]:[ 3] 0x05     0x02     0x06   0x03 0x00  LineIn 1+2 right
154     [ 0]:[ 4] 0x00     0x01     0x06   0x04 0x00  SpdifIn 1 left
155     [ 0]:[ 5] 0x03     0x02     0x06   0x04 0x00  SpdifIn 1 right
156     [ 0]:[ 6] 0x06     0x01     0x0d   0x0a 0x00  MidiIn2
157     [ 0]:[ 7] 0x06     0x02     0x0d   0x0a 0x00  MidiIn2
158
159
160 Direction:              1 (playback)
161
162 Connection Info
163 ===============
164
165 Number of connections:  1
166
167   Connection  0
168   -------------
169     [ 0] Id:         0
170     [ 0] Port:       2
171     [ 0] Node:       1
172     [ 0] Plug:       0
173     [ 0] Dimension:  11
174     [ 0] Samplerate: 44100
175     [ 0] IsoChannel: -1
176     [ 0] IsMaster:   0
177     [ 0] Number of stream infos: 12
178
179     StreamId  Position Location Format Type DPort Name
180     --------------------------------------------------
181     [ 0]:[ 0] 0x01     0x01     0x06   0x03 0x00  MultiChannel 7.1 Front left
182     [ 0]:[ 1] 0x06     0x02     0x06   0x03 0x00  MultiChannel 7.1 Front right
183     [ 0]:[ 2] 0x02     0x03     0x06   0x03 0x00  MultiChannel 7.1 Center
184     [ 0]:[ 3] 0x07     0x04     0x06   0x03 0x00  MultiChannel 7.1 Subwoofer
185     [ 0]:[ 4] 0x03     0x05     0x06   0x03 0x00  MultiChannel 7.1 Rear left
186     [ 0]:[ 5] 0x08     0x06     0x06   0x03 0x00  MultiChannel 7.1 Rear right
187     [ 0]:[ 6] 0x04     0x07     0x06   0x03 0x00  MultiChannel 7.1 Surround left
188     [ 0]:[ 7] 0x09     0x08     0x06   0x03 0x00  MultiChannel 7.1 Surround right
189     [ 0]:[ 8] 0x00     0x01     0x06   0x04 0x00  SpdifOut 1 left
190     [ 0]:[ 9] 0x05     0x02     0x06   0x04 0x00  SpdifOut 1 right
191     [ 0]:[10] 0x0a     0x01     0x0d   0x0a 0x00  MidiOut2
192     [ 0]:[11] 0x0a     0x02     0x0d   0x0a 0x00  MidiOut2
193
194
195 If you don't get this, check if you have multiple host controllers, and
196 use the -p parameter to specify them. If you get any error messages, the
197 best way to help us figure out what the problem might be is to build the
198 debug version (./configure --enable-debug). You can then rerun the test
199 application and send us its output.
200
Note: See TracBrowser for help on using the browser.