Replace ALSA/Pulseaudio with OSS4

OSS specific Linux discussion (x86/amd64)

Moderators: hannu, dev, kodachi, cesium

Replace ALSA/Pulseaudio with OSS4

Postby hifihere » Mon Oct 11, 2010 2:54 am

I am interested in replacing ALSA/Pulseaudio with OSS4 in a Fedora build of Vortexbox.

I have successfully installed OSS4 but ALSA and Pulseaudio remain. When I issue commands to remove Pulseaudio it also removes the dependencies like my MPD player and other critical programs.

Can this be done as a reversible installation for performance comparison?

I am a complete Linux amateur. :roll: Here is where I am so far:

[root@vortexbox ~]# yum remove pulseaudio
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package pulseaudio.i586 0:0.9.15-17.fc11 set to be erased
--> Processing Dependency: libpulsecore-0.9.15.so for package: pulseaudio-module-gconf-0.9.15-17.fc11.i586
--> Processing Dependency: pulseaudio = 0.9.15-17.fc11 for package: pulseaudio-module-gconf-0.9.15-17.fc11.i586
--> Running transaction check
---> Package pulseaudio-module-gconf.i586 0:0.9.15-17.fc11 set to be erased
--> Processing Dependency: pulseaudio-module-gconf for package: paprefs-0.9.8-1.fc11.i586
--> Running transaction check
---> Package paprefs.i586 0:0.9.8-1.fc11 set to be erased
--> Processing Dependency: paprefs for package: mpd-0.16-12.fc11.i586
--> Running transaction check
---> Package mpd.i586 0:0.16-12.fc11 set to be erased
--> Processing Dependency: mpd >= 0.15.6 for package: vortexbox-player-0.9-6.fc11.i586
--> Running transaction check
---> Package vortexbox-player.i586 0:0.9-6.fc11 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================
Package Arch Version Repository Size
=============================================================================================================================
Removing:
pulseaudio i586 0.9.15-17.fc11 installed 1.7 M
Removing for dependencies:
mpd i586 0.16-12.fc11 installed 523 k
paprefs i586 0.9.8-1.fc11 installed 187 k
pulseaudio-module-gconf i586 0.9.15-17.fc11 installed 18 k
vortexbox-player i586 0.9-6.fc11 installed 35 k

Transaction Summary
===========================================================

I will need to continue to use vortexbox-player and mpd at least (possibly more) in association with OSS4.

Any guidance would be appreciated!
hifihere
 
Posts: 24
Joined: Sun Oct 10, 2010 8:34 am

Re: Replace ALSA/Pulseaudio with OSS4

Postby cesium » Mon Oct 11, 2010 2:41 pm

I suggesting leaving Pulse there. It's too difficult to remove given package dependencies, and it's unnecessary really. Also, with some fiddling it can even output to OSS4. You can then migrate programs slowly to OSS if you want to (you may have to edit MPD config files to make sure it chooses OSS output).
cesium
 
Posts: 903
Joined: Sun Aug 12, 2007 12:51 am

Re: Replace ALSA/Pulseaudio with OSS4

Postby hifihere » Mon Oct 11, 2010 5:14 pm

Hi cesium, thanks for the quick reply!

This has been a long time consuming venture to get bit perfect performance from Vortexbox.

Using the distro as supplied yields very "muddy" sound. In time I discovered that the cause was ALSA/Pulseaudio doing resampling and introducing digital volume controls. That was easily improved by sending data directly to SPDIF output with a HW setting.

SPDIF is the preferred output for my use since it supports 24/192 and sounds better than the other options.

Now I have gaps in playback between tracks and a split second of each track is clipped while the DAC relocks to each dropout between tracks. (This does not occur with USB, but that is limited to 24/96 and sounds worse than SPDIF)

I have just installed Squeezeslave to compare with MPD and I like it better so far.

What would I need to do to port Squeezeslave to OSS4? I am looking to bypass all processing and volume controls and have gapless playback.
hifihere
 
Posts: 24
Joined: Sun Oct 10, 2010 8:34 am

Re: Replace ALSA/Pulseaudio with OSS4

Postby cesium » Mon Oct 11, 2010 6:52 pm

Boy, is squeeze's buildsystem ugly (I can't see why they post patches separately and patch the source during build, which uses different patches depending on makefile used!). Per the wiki, the default build supports oss. If yours doesn't (maybe the distro messed this up?), rebuilding the source using makefile.linux26-display would give you oss support, but I didn't test this.
cesium
 
Posts: 903
Joined: Sun Aug 12, 2007 12:51 am

Re: Replace ALSA/Pulseaudio with OSS4

Postby hifihere » Mon Oct 11, 2010 8:34 pm

I did not know that Squeeze had included that , I already installed OSS4 from the 4Front site.

Should I remove that and follow your instructions?
I use putty to get a command prompt. If you don't mind babysitting, I could use some help with commands. :D
hifihere
 
Posts: 24
Joined: Sun Oct 10, 2010 8:34 am

Re: Replace ALSA/Pulseaudio with OSS4

Postby cesium » Mon Oct 11, 2010 8:41 pm

I was refering to Squeeze's sourcecode. No need to mess with OSS4 for this. I think Squeeze should already support oss - if the distro messed with it, you need to fetch Squeeze's source code and build it in - the Squeeze wiki page I mentioned has all the instructions for that.
cesium
 
Posts: 903
Joined: Sun Aug 12, 2007 12:51 am

Re: Replace ALSA/Pulseaudio with OSS4

Postby igorzwx » Mon Oct 11, 2010 11:15 pm

cesium wrote:Boy, is squeeze's buildsystem ugly (I can't see why they post patches separately and patch the source during build, which uses different patches depending on makefile used!). Per the wiki, the default build supports oss. If yours doesn't (maybe the distro messed this up?), rebuilding the source using makefile.linux26-display would give you oss support, but I didn't test this.


Usually, such things can be easily installed on Arch Linux with one command.

You may find your "squeeze" here:

Code: Select all
$ yaourt squeeze
1 extra/squeeze 0.2.3-3 [installed] (xfce4-goodies)
    Squeeze is a modern and advanced archive manager for the Xfce Desktop Environment.
2 aur/bjj 4.2-1 (8)
    Bill's Jammin' Jukebox for MPD and Squeezebox
3 aur/squeezebox-server 7.5.2b31223.20100824-1 (19)
    Streaming audio server supported by Logitech
4 aur/squeezeboxserver 7.4.1-1 (Out of Date) (4)
    Powerful streaming audio server from Slim Devices
5 aur/squeezecenter 7.4.1-7 (Out of Date) (8)
    Powerful streaming audio server from Logitech (former Slimdevices)
6 aur/squeezeslave-svn 164-1 (0)
    SqueezeSlave is a software implementation of the Squeezebox from Slim Devices which is now owned by Logitech.
==> Enter n° (separated by blanks, or a range) of packages to be installed
==> ----------------------------------------------------------------------
==>


If it is what you need you may try it with Arch Linux LiveCD and OSS4 (without installing anything on your computer).

The howto is here:
viewtopic.php?f=3&t=3933

You have to install yaourt (virtually) with that Arch LiveCD
http://wiki.archlinux.org/index.php/Yao ... repository

It is very simple.

Step 1: Edit /etc/pacman.conf

Code: Select all
# leafpad /etc/pacman.conf


Step 2: Add these two lines:

Code: Select all
[archlinuxfr]
Server = http://repo.archlinux.fr/i686


Step 3: Update repositories

Code: Select all
# pacman -Syy


Step 4: Upgrade pacman

Code: Select all
# pacman -Sd pacman


Step 5: Install yaourt

Code: Select all
# pacman -S yaourt 



EXAMPLE of /etc/pacman.conf
Code: Select all
$ leafpad /etc/pacman.conf

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
HoldPkg     = pacman glibc
# If upgrades are available for these packages they will be asked for first
SyncFirst   = pacman
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#XferCommand = /usr/bin/curl %u > %o
#CleanMethod = KeepInstalled

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg   = oss
#IgnorePkg   = icecat
#IgnorePkg   = libcups cups
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options (all disabled by default)
#UseSyslog
#ShowSize
#UseDelta
#TotalDownload

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[testing]
## Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist

[core]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist

[extra]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist

#[community-testing]
## Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist

[community]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist

[adslgr32]
#The Hellenic (Greek) archlinux unofficial repository with many interesting packages.
Server = http://adslgr32.tiven.org/archlinux/i686

[archlinuxfr]
Server = http://repo.archlinux.fr/i686

[archstuff]
# AUR's most voted packages
Server = http://archstuff.vs169092.vserver.de/i686

[arch-graphics]
# repository aimed to provide applications mainly for 3D graphics
# for more info, look at http://arch-graphics.kx.cz/
Server = http://arch-graphics.kx.cz/repo/i686

[blaster]
# Bl@ster maintains a repo with some interesting packages from the AUR, for all the purpouses
Server = http://ilportalinux.it/arch_repo/i686

[sergej-repo]
# ion3 and some other stuff
# http://code.google.com/p/archlinux-stuff/source/browse/trunk/my-repo
Server = http://arch.pp.ru/sergej-repo/i686/

[nightly]
#nightly builds of some packages from the AUR
# Repo-Tracker: http://tracker.kromonos.net/projects/show/nightlyarch
Server = http://nightly.uhuc.de/i686

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#Server = file:///home/custompkgs


cesium wrote:I can't see why they post patches separately and patch the source during build, which uses different patches depending on makefile used!


If you want to rebuild/recompile something, it is easy to do.
The howto is here:
viewtopic.php?f=3&t=3543&start=30#p15703
viewtopic.php?f=3&t=3543&start=30#p15711
Read the PKGBUILD, it will explain everything about "patches".

In a word, Ubuntu/Debian packages can be easily re-packed into Arch Linux packages (without recompilation).
An example of PKGBUILD:
Code: Select all
# Author: Sergey Petrov <petrovse@mail.ru>
# Maintainer: Sergey Petrov <petrovse@mail.ru>
pkgname=libasound2-plugin-fftrate
pkgver=0.6
pkgrel=1
pkgdesc="Exact scientific resampler for audiophiles. A magic tool to fix sound quality with ALSA. To configure the resampler, run /usr/bin/arateconf from terminal."
arch=('i686')
url="unknown"
license=('unknown')
depends=('alsa-lib' 'alsa-plugins')
makedepends=('deb2targz' 'tar')
source=(libasound2-plugin-fftrate_0.6_i386.deb)
md5sums=('1ca4a5876258939453b425da68dcac97')

build() {
    msg "Extracting..."
    cd ${srcdir}
    deb2targz libasound2-plugin-fftrate*.deb || return 1
    tar -xf libasound2-plugin-fftrate*.tar.gz || return 1
    msg2 "Done extracting!"
    msg "Moving files"
    mv ./usr ${pkgdir}
    msg2 "Done moving files" 
}


Listing from terminal:
Code: Select all
$ md5sum *.deb
1ca4a5876258939453b425da68dcac97  libasound2-plugin-fftrate_0.6_i386.deb

$ makepkg
==> Making package: libasound2-plugin-fftrate 0.6-1 (Fri Oct  1 18:14:33 CEST 2010)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Retrieving Sources...
  -> Found libasound2-plugin-fftrate_0.6_i386.deb
==> Validating source files with md5sums...
    libasound2-plugin-fftrate_0.6_i386.deb ... Passed
==> Extracting Sources...
==> Entering fakeroot environment...
==> Starting build()...
==> Extracting...
deb2targz: converting 'libasound2-plugin-fftrate_0.6_i386.deb' ...
deb2targz: skipping section 'debian-binary'
deb2targz: skipping section 'control.tar.gz'
deb2targz: wrote 'libasound2-plugin-fftrate_0.6_i386.tar.gz'
  -> Done extracting!
==> Moving files
  -> Done moving files
==> Tidying install...
  -> Purging other files...
  -> Compressing man and info pages...
  -> Stripping unneeded symbols from binaries and libraries...
==> Creating package...
  -> Generating .PKGINFO file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: libasound2-plugin-fftrate 0.6-1 (Fri Oct  1 18:15:11 CEST 2010)

$ ls
libasound2-plugin-fftrate-0.6-1-i686.pkg.tar.xz 
pkg       
src
libasound2-plugin-fftrate_0.6_i386.deb           
PKGBUILD

$ sudo pacman -U libasound2-plugin-fftrate-0.6-1-i686.pkg.tar.xz
Password:
resolving dependencies...
looking for inter-conflicts...

Targets (1): libasound2-plugin-fftrate-0.6-1

Total Download Size:    0.00 MB
Total Installed Size:   0.11 MB

Proceed with installation? [Y/n] y
checking package integrity...
(1/1) checking for file conflicts                  [######################] 100%
(1/1) upgrading libasound2-plugin-fftrate          [######################] 100%
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: Replace ALSA/Pulseaudio with OSS4

Postby hifihere » Tue Oct 12, 2010 7:59 am

I have successfully installed the latest rpm for OSS4 from command line. When I startx to KDE GUI there is no evidence of OSS4. In multimedia settings the only option is Pulseaudio.

I have tried to install OSS4 again through the GUI by downloading the rpm. Now kpackagekit says I do not have the necessary privileges to install the rpm.

Still not able to use OSS4.
hifihere
 
Posts: 24
Joined: Sun Oct 10, 2010 8:34 am

Re: Replace ALSA/Pulseaudio with OSS4

Postby igorzwx » Tue Oct 12, 2010 1:21 pm

hifihere wrote:I have successfully installed the latest rpm for OSS4 from command line. When I startx to KDE GUI there is no evidence of OSS4. In multimedia settings the only option is Pulseaudio.

I have tried to install OSS4 again through the GUI by downloading the rpm. Now kpackagekit says I do not have the necessary privileges to install the rpm.

Still not able to use OSS4.


If you are not able to use OSS4 on your computer, there might be many different reasons for this:

1. OSS4 does not work with your soundcard.

2. OSS4 was not correctly installed.

3. Your KDE, or Gnome, or other apps, are configured for ALSA, and not for OSS4.

and so on.

Perhaps, it might be reasonable to test how OSS4 works with your hardware, before installing it in Fedora, SUSE, Ubuntu, or Arch.
I tend to use Arch LiveCD for the purpose.
Such tests can also be made with Ubuntu LiveCD, although, of course, it is a much more complicated procedure.
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: Replace ALSA/Pulseaudio with OSS4

Postby hifihere » Tue Oct 12, 2010 3:47 pm

Reason number 3 applies to me for sure since ALSA/Pulseaudio are installed and working. How do I change to OSS4? I don't understand how it can report a successful installation at the finish of the command line operation and then be completely invisible for use.
hifihere
 
Posts: 24
Joined: Sun Oct 10, 2010 8:34 am

Re: Replace ALSA/Pulseaudio with OSS4

Postby igorzwx » Tue Oct 12, 2010 4:11 pm

hifihere wrote:Reason number 3 applies to me for sure since ALSA/Pulseaudio are installed and working. How do I change to OSS4? I don't understand how it can report a successful installation at the finish of the command line operation and then be completely invisible for use.


"How do I change to OSS4?" means that it is not yet installed. Right?
Or it is installed and does not work?

Does osstest play music?
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: Replace ALSA/Pulseaudio with OSS4

Postby hifihere » Tue Oct 12, 2010 4:17 pm

Reason number 3 is that ALSA is still in charge and working. Even though OSS4 reports a successful installation at the end of the command line operation it is absolutely invisible to me for use in the GUI or through command line functions.

Where is it hiding? How do I use it instead of ALSA?
hifihere
 
Posts: 24
Joined: Sun Oct 10, 2010 8:34 am

Re: Replace ALSA/Pulseaudio with OSS4

Postby igorzwx » Tue Oct 12, 2010 4:21 pm

hifihere wrote:Reason number 3 is that ALSA is still in charge and working. Even though OSS4 reports a successful installation at the end of the command line operation it is absolutely invisible to me for use in the GUI or through command line functions.

Where is it hiding? How do I use it instead of ALSA?


A detail howto is hiding in that link which I already gave you, this one:
viewtopic.php?f=3&t=3933

Since Linux is everywhere the same (in Fedora, Ubuntu and Arch, etc.), it may help.
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: Replace ALSA/Pulseaudio with OSS4

Postby hifihere » Tue Oct 12, 2010 4:51 pm

I just read your other post about testing with a LiveCD running in RAM. Even if that works for me there is no promise that I will get ALSA removed from my Vortexbox/Fedora distro as easily as you did from the LiveCD build. I have already tried every ALSA removal command I could Google without success.

I guess I am accustomed to programs that say they are not compatible during installation or later. It does not seem probable that the installation went flawlessly and then the program is completely invisible, compatible or not.
hifihere
 
Posts: 24
Joined: Sun Oct 10, 2010 8:34 am

Re: Replace ALSA/Pulseaudio with OSS4

Postby igorzwx » Tue Oct 12, 2010 5:56 pm

hifihere wrote:I just read your other post about testing with a LiveCD running in RAM. Even if that works for me there is no promise that I will get ALSA removed from my Vortexbox/Fedora distro as easily as you did from the LiveCD build.


You are probably right. That is the reason why I am using Arch Linux now. Ubuntu became very difficult for me and time consuming.
On Arch Linux, you do not need to remove things which you do not need, you simply do not install them.
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Next

Return to Linux

Who is online

Users browsing this forum: No registered users and 5 guests

cron