feli33 wrote:well MIN 6,MAX 6 does result in FAST only. gentoo.
5/6 ,same
3/6 or 3/7 works on gentoo, highest SRC is 5, production NO PRECISION.
Setting 7 in configure, causes to set local_config to 3. You can edit that too, but 6 is the highest and is extra precision.
Setting 6 in configure is enough for getting the highest possible at this time without need to change localconfig.
There is a different reason for getting only mode 5. With 3/6 or 3/7, highest is Production NO Precision.
Mode 6 is disabled in the source because it causes crash.
Many thanks!
If I understood you correctly, there is a little hope to get "production quality with extra precision" in the near future. On the other hand, the so-called "production quality" (without extra precision) is certainly better than severely distorted sound with the so-called "High quality".
The good news is that "production quality" is easy to enable. Many thanks for the hint.
TO SUMMARIZE: No patch is needed to fix the oss package for Arch. One may simply add a proper
sed command before "configure" in PKGBILD script. This command should correct the configure script "on the fly". To be fair, I have never used such magic tools, but it is rumoured that certain hackers know how to use
sed http://en.wikipedia.org/wiki/SedPerhaps, something like this:
- Code: Select all
sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName
sed -i.bak -e 's/GRC_MAX_QUALITY=3/GRC_MAX_QUALITY=6/g' configure
HOWTO: An easy way to re-compile OSS4 [Arch Linux] to enable Production qualityStep 1: Install ABS (Arch Build System)
http://wiki.archlinux.org/index.php/ABSUpgrade your system (as root):
# pacman -Syy
# pacman -Syu
Install abs and base-devel
# pacman -S abs
# pacman -S base-devel
Download the ABS tree:
# abs
Your ABS tree is now created under /var/abs
The build files are located in corresponding folders, e.g. /var/abs/<repo>/<pkgname>
NOTE: The abs command should be run periodically to keep in sync with the official repositories.
Step 2: Create a folder for recompilation:
$ mkdir ~/Builds
$ cd ~/Builds
$ mkdir oss-recompilation-exp3
$ cd oss-recompilation-exp3
Step 3: Copy oss package to your build folder
$ mkdir oss
$ cp -r /var/abs/community/oss/* ~/Builds/oss-recompilation-exp3/oss
$ cd oss
- Code: Select all
$ ls
oss.install
oss.rc
oss.rm-init-scripts.patch
oss.soundon.patch
PKGBUILD
As a result, we have a build folder ~/Builds/oss-recompilation-exp3/oss with five magic scripts inside.
Step 4: Now we can execute a secret esoteric command:
$ makepkg --nobuild
Let us see the result:
- Code: Select all
$ ls
oss.install
oss.rm-init-scripts.patch
oss-v4.2-build2003-src-gpl.tar.bz2
src
oss.rc
oss.soundon.patch
PKGBUILD
Step 5: Now we have to edit the configure script to enable "production quality" (it depends on the package version, check the src folder in any case):
gedit ./src/oss-v4.2-build2003-src-gpl/configure
We have to change "GRC_MAX_QUALITY=3" to "GRC_MAX_QUALITY=6"
OLD:
- Code: Select all
# 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=3
export GRC_MIN_QUALITY GRC_MAX_QUALITY
NEW:
- Code: Select all
# 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=6
export GRC_MIN_QUALITY GRC_MAX_QUALITY
Step 6: Now we can compile the package we need:
$ makepkg --noextract
This command created the package oss-4.2_2003-1-i686.pkg.tar.xz
To check whether "production quality" was enabled, I opened the file
gedit ./src/build/kernel/framework/include/local_config.h
"production quality" was enabled indeed:
- Code: Select all
#define CONFIG_OSS_GRC_MIN_QUALITY 3
#define CONFIG_OSS_GRC_MAX_QUALITY 6
Step 7: Re-install OSS
If you have already OSS installed, you have to purge it away.
1. Close all audio apps
2. Remove mixer applet from the panel.
3. kill ossxmix
$ killall ossxmix
4. Stop OSS4 (as root)
# soundoff
5. Remove OSS4 (as root)
# pacman -Rd oss
# rm -rf /usr/lib/oss
Now you can install your recompiled package (as root):# pacman -U oss-4.2_2003-1-i686.pkg.tar.xz
IMPORTANT: Skip the OSS package from being upgraded (in /etc/pacman.conf )
To skip upgrading OSS package, add "IgnorePkg=oss" to the pertinent section.
Run as root:
# gedit /etc/pacman.conf
- Code: Select all
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg = oss
#IgnoreGroup =
Now you can start the OSS daemon (as root)# /etc/rc.d/oss start
To test OSS, run
$ osstest
To launch the OSS Mixer GUI, run
$ ossxmix
Now you should have the "production quality" option in the OSS mixer:
- Code: Select all
$ ossmix vmix0-src Production
Value of mixer control vmix0-src set to Production
$ ossmix | grep vmix0-src
vmix0-src <Fast|High|High+|Production|OFF> (currently Production)
See also:
http://wiki.archlinux.org/index.php/OSSThanks to Cesium and Feli33!