[SOLVED]No OSS4 packages in stretch; only ALSA & Pulseaudio.

Everything about X, Gnome, KDE, ... and everything running on it

[SOLVED]No OSS4 packages in stretch; only ALSA & Pulseaudio.

Postby kedaha » 2017-08-01 08:53

I doubt there'll be much interest in this topic in these homogenized times when almost everyone uses ALSA & Pulseaudio but I for one was a bit miffed that the OSS4 packages, which I've used for sound in squeeze, wheezy and jessie, are no longer available in stretch. :( I don't know why this is but if we are to believe the wiki:
OSS has been derived from the Linux Sound Driver. Under Linux it is considered legacy, replaced by ALSA.

I hope that this only applies to OSS and not OSS4.
On the bright side, a query to the Debian archive database shows the packages are in sid.
Code: Select all
$ rmadison --architecture amd64 oss4-base oss4-gtk oss4-dkms
oss4-base  | 4.2-build2006-2+deb7u1 | oldoldstable | amd64
oss4-base  | 4.2-build2010-2        | oldstable    | amd64
oss4-base  | 4.2-build2010-5        | unstable     | amd64
oss4-dkms  | 4.2-build2006-2+deb7u1 | oldoldstable | amd64
oss4-dkms  | 4.2-build2010-2        | oldstable    | amd64
oss4-dkms  | 4.2-build2010-5        | unstable     | amd64
oss4-gtk   | 4.2-build2006-2+deb7u1 | oldoldstable | amd64
oss4-gtk   | 4.2-build2010-2        | oldstable    | amd64
oss4-gtk   | 4.2-build2010-5        | unstable     | amd64

Possible solutions?
In stretch I've been able to purge alsa and pulseaudio easily but I use the mate desktop; things may be very different with kde or gnome.
I'm not asking for help with this but —maybe with a view to posting a how-to—I'd be grateful for any comments or suggestions. I'll just mention that I first tried the simplest solution of installing the oldstable packages in stretch using the gdebi package manager. Although there were no problems with dependences this didn't work.
I also backported OSS4 from sid source; again there were no problem with dependences but when I installed the resulting packages, again no luck:
Code: Select all
# dpkg -i oss4-base_4.2-build2010-5_amd64.deb oss4-dkms_4.2-build2010-5_amd64.deb oss4-gtk_4.2-build2010-5_amd64.deb
Selecting previously unselected package oss4-base.
(Reading database ... 197807 files and directories currently installed.)
Preparing to unpack oss4-base_4.2-build2010-5_amd64.deb ...
Unpacking oss4-base (4.2-build2010-5) ...
Selecting previously unselected package oss4-dkms.
Preparing to unpack oss4-dkms_4.2-build2010-5_amd64.deb ...
Unpacking oss4-dkms (4.2-build2010-5) ...
Selecting previously unselected package oss4-gtk.
Preparing to unpack oss4-gtk_4.2-build2010-5_amd64.deb ...
Unpacking oss4-gtk (4.2-build2010-5) ...
Setting up oss4-base (4.2-build2010-5) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Setting up oss4-dkms (4.2-build2010-5) ...
Loading new oss4-4.2-build2010 DKMS files...
Building for 4.9.0-3-amd64
Building initial module for 4.9.0-3-amd64
Error! Bad return status for module build on kernel: 4.9.0-3-amd64 (x86_64)
Consult /var/lib/dkms/oss4/4.2-build2010/build/make.log for more information.
Setting up oss4-gtk (4.2-build2010-5) ...
Processing triggers for systemd (232-25) ...
Processing triggers for man-db ( ...
root@debian:/home/kedaha/OSS4backport# cat /var/lib/dkms/oss4/4.2-build2010/build/make.log
DKMS make.log for oss4-4.2-build2010 for kernel 4.9.0-3-amd64 (x86_64)
Tue  1 Aug 11:28:56 CEST 2017
make: Entering directory '/usr/src/linux-headers-4.9.0-3-amd64'
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_core.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/os_linux.o
/var/lib/dkms/oss4/4.2-build2010/build/core/os_linux.c: In function ‘osdev_create_201707312213’:
/var/lib/dkms/oss4/4.2-build2010/build/core/os_linux.c:162:10: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  devpath = oss_pci_read_devpath (osdev->dip);
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_ac97.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_audio_core.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_audiofmt.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_grc3.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_spdif.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_default_timer.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_midi_core.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_midi_mapper.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_midi_parser.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_midi_queue.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_midi_timers.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_midi_stubs.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_mixer_core.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_core_options.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_core_services.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_memblk.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_remux.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_sndstat.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/oss_uart401.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/vmix_core.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/vmix_input.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/vmix_output.o
  LD [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/osscore.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /var/lib/dkms/oss4/4.2-build2010/build/core/osscore.mod.o
  LD [M]  /var/lib/dkms/oss4/4.2-build2010/build/core/osscore.ko
make: Leaving directory '/usr/src/linux-headers-4.9.0-3-amd64'
make: Entering directory '/var/lib/dkms/oss4/4.2-build2010/build/drivers'
echo "static const struct modversion_info ____versions[]" >> osscore_symbols.inc
echo " __attribute__((used))" >> osscore_symbols.inc
echo "__attribute__((section(\"__versions\"))) = {" >> osscore_symbols.inc
sed -e "s:^:{:" -e "s:\t:, \":" -e "s:\t\(.\)*:\"},:" < Module.symvers >> osscore_symbols.inc
echo "};" >> osscore_symbols.inc
make: Leaving directory '/var/lib/dkms/oss4/4.2-build2010/build/drivers'
make: Entering directory '/usr/src/linux-headers-4.9.0-3-amd64'
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/drivers/oss_ali5455driver.o
  CC [M]  /var/lib/dkms/oss4/4.2-build2010/build/drivers/oss_ali5455module.o
In file included from /var/lib/dkms/oss4/4.2-build2010/build/drivers/oss_ali5455module.c:21:0:
/var/lib/dkms/oss4/4.2-build2010/build/drivers/module.inc:52:13: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
   .remove = osspci_remove
/var/lib/dkms/oss4/4.2-build2010/build/drivers/module.inc:52:13: note: (near initialization for ‘osspci_driver.remove’)
In file included from /var/lib/dkms/oss4/4.2-build2010/build/drivers/module.inc:45:0,
                 from /var/lib/dkms/oss4/4.2-build2010/build/drivers/oss_ali5455module.c:21:
/var/lib/dkms/oss4/4.2-build2010/build/drivers/pci_wrapper.inc: In function ‘osspci_probe’:
/var/lib/dkms/oss4/4.2-build2010/build/drivers/pci_wrapper.inc:58:3: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result [-Wunused-result]
   pci_enable_device (pcidev);
cc1: some warnings being treated as errors
/usr/src/linux-headers-4.9.0-3-common/scripts/Makefile.build:298: recipe for target '/var/lib/dkms/oss4/4.2-build2010/build/drivers/oss_ali5455module.o' failed
make[3]: *** [/var/lib/dkms/oss4/4.2-build2010/build/drivers/oss_ali5455module.o] Error 1
/usr/src/linux-headers-4.9.0-3-common/Makefile:1507: recipe for target '_module_/var/lib/dkms/oss4/4.2-build2010/build/drivers' failed
make[2]: *** [_module_/var/lib/dkms/oss4/4.2-build2010/build/drivers] Error 2
Makefile:150: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make: *** [all] Error 2
make: Leaving directory '/usr/src/linux-headers-4.9.0-3-amd64'

Finally, the oss4-source 4.2-build2010-5 won't compile using module-assistant either:
Code: Select all
make[5]: *** [/usr/src/modules/oss4/drivers/oss_ali5455module.o] Error 1   
 │ /usr/src/linux-headers-4.9.0-3-common/Makefile:1507: recipe for target     
 │ '_module_/usr/src/modules/oss4/drivers' failed                             
 │ make[4]: *** [_module_/usr/src/modules/oss4/drivers] Error 2               
 │ Makefile:150: recipe for target 'sub-make' failed                           
 │ make[3]: *** [sub-make] Error 2                                             
 │ Makefile:8: recipe for target 'all' failed                                 
 │ make[2]: *** [all] Error 2                                                 
 │ make[2]: Leaving directory '/usr/src/linux-headers-4.9.0-3-amd64'           
 │ debian/rules:42: recipe for target 'binary-modules' failed                 
 │ make[1]: *** [binary-modules] Error 2                                       
 │ make[1]: Leaving directory '/usr/src/modules/oss4'                         
 │ /usr/share/modass/include/common-rules.make:56: recipe for target           
 │ 'kdist_build' failed                                                       
 │ make: *** [kdist_build] Error 2     

Last solution:
I have "solved" the issue by basically following the same procedure—I wrote up in HOWTO: OSS4 on Debian Squeeze from source— for stretch except I downloaded a recent gpl'd stable tarball from upstream:
Absolutely no problems building it in stretch and now I have superb OSS4 sound again and it works fine in chromium but not firefox.
Thank you for reading this.
Last edited by kedaha on 2017-08-03 19:47, edited 1 time in total.
Mate DE & OSSv4.
FreedomBox in Debian
Debian Stable

The Debian Project is an association of individuals who have made common cause to create a free operating system..
Kedaha's Conjecture
User avatar
Posts: 3047
Joined: 2008-05-24 12:26

Re: No OSS4 packages in stretch; only ALSA & Pulseaudio.

Postby kedaha » 2017-08-03 19:46

As I reported before, there was no OSS4 sound in firefox-esr.
The cause is that from Firefox 52 Pulseaudio is needed to for either ALSA or OSS4.
The solution is to reinstall Pulseaudio and configure it for OSS4 as detailed at Configuring_Applications_for_OSSv4#Pulseaudio, this is very simple. All that is necessary is to uncomment the line in the configuration file /etc/pulse/default.pa and append "input mmap=0" so that it looks like this:
Code: Select all
load-module module-oss device="/dev/dsp" sink_name=output source_name=input mmap=0

And voilá! We have audio. This also works for firefox-esr in jessie.
I am hoping that the oss-v4.2-build2017-src-gpl.tar.bz2 tarball I used finds its way soon into Debian sid and testing when it can be backported to stretch as it's obviously preferable to use Debian packages in development rather than upstream packages.
So I'm marking this topic as solved. :D
Mate DE & OSSv4.
FreedomBox in Debian
Debian Stable

The Debian Project is an association of individuals who have made common cause to create a free operating system..
Kedaha's Conjecture
User avatar
Posts: 3047
Joined: 2008-05-24 12:26

Return to Desktop & Multimedia

Who is online

Users browsing this forum: wenp and 14 guests