[oss-devel] Announcing OpenSound System port to BeOS/Haiku
François Revol
revol at free.fr
Wed Jun 27 20:08:37 EEST 2007
(resent as oss-devel rejected it due to the size of the patch)
Hi there,
I have the pleasure to announce I have ported OSSv4.1test to BeOS.
It's not finished yet, but it runs and plays some sound.
The goal is to use its drivers to get wider audio support for Haiku,
the FreeSoftware rewrite (under BSD/MIT) of BeOS.
BeOS, and Haiku, have a high level C++ API for media, so we won't port
OSS apps (but some have been ported to use our Media Kit), but rather
use OSS from the Media Kit, either by writing an OSSMediaNode plugin to
support the existing ioctls, or port the drivers to implement the so
called "multi audio" ioctls used by the Media Kit to talk to some
existing lower level drivers. (some older drivers use a different ioctl
set already, publishing under /dev/audio/old/).
Current limitations:
- built as a single binary due to limitation in cross-module symbol
referencing (our kernel enforces a clean API to each module by forcing
others to use a defined list of pointers to functions, which is nice to
maintain compatibility but doesn't help there). Next phase should fix
it.
- Locking isn't correct yet, it seems other OSes don't need much
locking, how don't they even crash ? :p It seems devices become busy
after several uses, so ref counting is broken.
- it currently pollutes our clean hierarchical devfs, which we had way
before linux... should later publish stuff under /dev/audio/oss/.
- no usb support (yet), but usb support in BeOS is rough anyway and
Haiku's is underway. all PCI devices should work though. Tested with
both an ATI IXP and Ich Sis.
- it doesn't load under Haiku yet, due to a missing __ucmpdi2 symbol in
the kernel. Seems to be some runtime stuff to be fixed soon.
- mixer control doesn't seem to be working (ossmix vol 2 does set to 2
when read back but doesn't change actual output).
The patch against 20070624 is available here:
http://revolf.free.fr/beos/patches/oss-v4.1test0-070624-beos.diff.txt
It's probably not ready for official inclusion yet.
People wanting to build it should follow the official way after
patching:
mkdir build
cd build
/path/to/configure
make build
This puts binaries in prototype/...
When installing to test, the oss_core binary must be both copied as:
/boot/home/config/add-ons/kernel/drivers/bin/oss_core
and:
/boot/home/config/add-ons/kernel/media/oss
because the driver loads itself as a module.
Attached is the output of some commands to serve as "screenshot" :)
A test binary is available:
wget http://revolf.free.fr/beos/oss-beos-v4.1test-bin.zip
unzip oss-beos-v4.1test-bin.zip -d /boot
rescan oss_core
osstest
Make sure you quit media_server and media_addon_server first, they
might be using the card.
Cheers,
François.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: not available
Url: http://mailman.opensound.com/pipermail/oss-devel/attachments/20070627/0aa2d311/attachment.bat
More information about the oss-devel
mailing list