OSSv42-2004 released, fixes SBo compile error in -current
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Found another problem (and solution), so I'm going to document it here.
Using custom -current kernel 2.6.35.7 with pre-empt, installed gsb-current, then switched from alsa to ossv42-2004 without problems.
Installed jackd, qjackctl, jamin and other jack-aware apps (ie gsb totem via gstreamer, mplayer, smplayer etc), no xruns but with stutter and mild pops during playback when routed via jamin to any of the apps above.
(OSSv4.2 only) You can make OSS ignore jackd's request for exclusive ownership of the device by setting "excl_policy" in /usr/lib/oss/conf/osscore.conf. This will make jackd use vmix, preventing both of the side-effects above.
Quote:
edit file /usr/lib/oss/conf/osscore.conf, uncomment section in bold below
# By default the O_EXCL open() flag can be used to bypass the virtual mixer.
# Setting excl_policy to 1 or 2 makes OSS ignore O_EXCL. A setting of 1
# ignores O_EXCL from all but root processes, while a setting of 2 always
# ignores O_EXCL.
# excl_policy=2
note: my problem is solved when jackd uses vmix (part of oss mixer name ossxmix)
if using gsb, use gconf-editor to configure gstreamer routing to jack
Quote:
go to system->gstreamer->0.10->default
input value jackaudiosink buffer-time=2000000 connect=*auto OR none*
into audiosink, musicaudiosink, or chataudiosink
note* : auto will auto-connect all jack-aware apps as they appear, none will not connect anything but connections can be done manually in qjackctl
Just by switching to OSSv4, music playback is enhanced with greater details of high and mids (depending on soundcard, but much better than stock alsa for sure). Jamin as an equalizer is needed for balance. Next is to try wine with jack for foobar2k!
It's been years since I last used OSS, I'm happy I decided to try after I saw your post. As you say, highs and mids are a lot clearer, but I love the lower latency vs ALSA most. Thanks linux64.
hey guys
this is great, I have not used OSS except awhile back when using Tinycore
It is much better than ALSA, but check this out, I have a nVidia 4000mx and it's using a AC'97
this is what I get
Code:
[root@nfluxos guest]# ossdetect -v
Detected Nvidia nForce2
USB support available in the system, adding USB driver
Detected Generic USB audio/MIDI device (BETA)
Code:
[root@nfluxos guest]# ossinfo
Version info: OSS 4.2 (b 2004/201101091452) (0x00040100) GPL
Platform: Linux/i686 2.6.35.7-smp #2 SMP Mon Oct 11 14:52:09 CDT 2010 (nfluxos)
Number of audio devices: 2
Number of audio engines: 7
Number of MIDI devices: 0
Number of mixer devices: 1
Device objects
0: osscore0 OSS core services
1: oss_ich0 Nvidia nForce2 interrupts=177986 (178610)
2: oss_usb0 USB audio core services
MIDI devices (/dev/midi*)
Mixer devices
0: ICH AC97 Mixer (ALC650) (Mixer 0 of device object 1)
Audio devices
Nvidia nForce2 /dev/oss/oss_ich0/pcm0 (device index 0)
Nvidia nForce2 S/PDIF out /dev/oss/oss_ich0/spdout (device index 1)
Nodes
/dev/dsp -> /dev/oss/oss_ich0/pcm0
/dev/dsp_in -> /dev/oss/oss_ich0/pcm0
/dev/dsp_out -> /dev/oss/oss_ich0/pcm0
/dev/dsp_ac3 -> /dev/oss/oss_ich0/pcm0
/dev/dsp_mmap -> /dev/oss/oss_ich0/pcm0
/dev/dsp_multich -> /dev/oss/oss_ich0/pcm0
Does anyone know if I can improve it in some way or does it look OK as it is?
How do I add,etc a MIDI, as it says "Number of MIDI devices: 0"??
Thanks
EDIT: Oh, I heard ALSA is better if using a AC97, is that true?
OSS just sounds so much better!
Happy to report wine and foobar2k works with oss-via-jack. OSS works too, just select accordingly as below.
Quote:
setup wine using winecfg, go to tab: Audio,
- select JACK driver
- set Hardware Acceleration to Full,
- sample rate 48KHz
- bits 16
Quote:
install foobar2k
- requires gdiplus for missing icons/images [install winetricks from SBo, then winetricks gdiplus]
- setup foobar2k, go to menu: Library -> Playback ->
--- DSP Manager, activate Resampler (PPHS), configure to 48KHz
--- Output -> Device: select Wine jack DirectSound driver
Start jackd/qjackctl before launching foobar2k. Must start playing an audio track before jack/qjackctl can see it.
If you customize foobar2k using components, some additional software maybe required (wmp10, vcrun6 etc), can be installed using winetricks. A brief tutorial on components & required software here.
Displaying CJK or non-english fonts can be added using winetricks, then set them for use in foobar2k: Library -> Display -> Default UI -> Color and Fonts.
Notes on mp3 in wine: requires some other deps before building wine. sh configure in wine source directory will show the deps required (mp3-something, libsane, isdn etc). By the way, oss and jack must be built and configured to work before building wine.
MP3 in 64-bit slackware works too but must satisfy the dependency mentioned above. Get access to a 32-bit machine and copy the dep packages to 64-bit OS, then use alien's convert utility. May require more config if wine doesn't find it.
foobar2000 lovely configs: weblogscreenshots
component requirements are listed on the weblog, MS Scripting Control could be problematic under wine.
Last edited by linuxs64; 01-09-2011 at 07:00 PM.
Reason: add notes on mp3 requirements, foobar2k configs
Warning: Protect your ears/speakers before testing. Slowly increase volume from 0.
Quote:
quality - quality to use for conversion, supported values are:
0 - D lowest quality (normally equals to low quality)
1 - L low quality (spline interpolation)
2 - M medium quality (lagrange interpolation)
3 - H high quality
4 - HX high quality (high quality with extra precision) 5 - P production quality
6 - PX production quality (prod quality with extra precision)
(PX is currently disabled because it causes a crash)
As seen above, there are 7 levels of audio resampling available in OSSv4x. Default is 0-3.
Quote:
# Set GRC3 min/max conversion quality setting to 3 to conserve space.
# TODO: Add support for configurable quality settings.
GRC_MIN_QUALITY=3 GRC_MAX_QUALITY=5
export GRC_MIN_QUALITY GRC_MAX_QUALITY
source: ossv4x-source/configure
To make available these resamplers, edit the configure script (in the source) as described above, then use the modified source to compile OSSv4x.
Note that level 6 (production quality with extra precision) is not for use, as it causes crash. The UI (ossxmix) also cannot configure it post-install as it is not implemented (see blue line above). However, it can be configured via ossmix (see below).
Whenever ossxmix (the UI) is launched, vmix0-src settings are reverted back to Fast or High, so apply command "ossmix vmix0-src 5" to set the sampling mode again. Higher sampling mode gives better audio quality, but uses more cpu cycles (5-10%).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.