Boot Linux Mint 18 MATE LiveCD
It can be downloaded here:
64bt _https://www.linuxmint.com/edition.php?id=220
32bit _https://www.linuxmint.com/edition.php?id=219
Set your keyboard preferences:
Code: Select all
$ mate-keyboard-properties
Remove PulseAudio
Code: Select all
$ sudo killall pulseaudio
Code: Select all
$ sudo apt-get purge pulseaudio
The following packages will be REMOVED:
libcanberra-pulse* pulseaudio* pulseaudio-module-bluetooth*
pulseaudio-module-x11*
Code: Select all
$ dpkg-query -W -f='${binary:Package}\n' | grep pulseaudio
gstreamer0.10-pulseaudio:amd64
gstreamer1.0-pulseaudio:amd64
pulseaudio-utils
Code: Select all
$ sudo apt-get purge gstreamer0.10-pulseaudio gstreamer1.0-pulseaudio pulseaudio-utils
Code: Select all
$ dpkg-query -W -f='${binary:Package}\n' | grep pulse
libpulse-mainloop-glib0:amd64
libpulse-mainloop-glib0:i386
libpulse0:amd64
libpulse0:i386
libpulsedsp:amd64
libpulsedsp:i386
Code: Select all
$ sudo apt-get install libcanberra-gstreamer ack-grep
Kill the sound applet:
Code: Select all
$ killall mate-volume-control-applet
Startup Applications [Choose what applications to start when you log in]:
Code: Select all
$ mate-session-properties
Startup Applications:
Volume Control
Command: mate-volume-control-applet
Package: mate-media
Download oss4-toolkit_20160715.tar.gz
Unzip it to your current working folder:
Code: Select all
$ find $HOME -name oss4-toolkit_20160715.tar.gz -exec tar -xvzf {} \; 2>/dev/null
oss4-toolkit/mubian/patches/01_linux-4.0.patch
oss4-toolkit/mubian/patches/series
oss4-toolkit/mubian/patches/02_linux-4.6.patch
oss4-toolkit/mubian/patches/03_ossvermagic.patch
oss4-toolkit/mubian/patches/04_gcc-5.patch
oss4-toolkit/mubian/pulse-killer.sh
oss4-toolkit/mubian/patches/
oss4-toolkit/mubian/
oss4-toolkit/
Code: Select all
$ cd oss4-toolkit
Run pulse-killer script:
Code: Select all
$ ./mubian/pulse-killer.sh
USER PID ACCESS COMMAND
/dev/snd/controlC0: mint 4670 F.... pulseaudio
Killing process 4670 /usr/bin/pulseaudio --start
4670 /usr/bin/pulseaudio – killed
Unload ALSA:
Code: Select all
$ sudo alsa force-unload
Unloading ALSA sound driver modules: snd-hda-codec-hdmi snd-hda-codec-realtek snd-hda-codec-generic snd-hda-intel snd-hda-codec snd-hda-core snd-hwdep snd-pcm snd-seq-midi snd-seq-midi-event snd-rawmidi snd-seq snd-seq-device snd-timer (failed: modules still loaded: snd-hda-codec-hdmi snd-hda-codec-realtek snd-hda-codec-generic snd-hda-codec snd-hda-core snd-hwdep snd-pcm snd-timer).
Code: Select all
$ sudo alsa force-unload
Unloading ALSA sound driver modules: snd-hda-codec-hdmi snd-hda-codec-realtek snd-hda-codec-generic snd-hda-codec snd-hda-core snd-hwdep snd-pcm snd-timer.
Code: Select all
$ lsmod | grep snd
$ lsmod | ack --count snd
0
ALSA modules were unloaded.
Install OSS4 Prerequisites:
Code: Select all
$ sudo apt-get install -y binutils libgtk2.0-0 sed gcc libc6
$ sudo apt-get install -y build-essential linux-headers-`uname -r` gawk libtool libgtk2.0-dev
$ sudo apt-get install -y libsdl1.2debian
Code: Select all
$ sudo apt-get install git quilt
Install gcc-multilib [for 64bit]:
Code: Select all
$ sudo apt-get install gcc-multilib
Download the OSS4 source code from git:
Code: Select all
$ git clone git://git.code.sourceforge.net/p/opensound/git opensound-git
Code: Select all
$ ls -1
mubian
opensound-git
Code: Select all
$ export QUILT_PATCHES=mubian/patches
$ export QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index"
Code: Select all
$ quilt series
mubian/patches/01_linux-4.0.patch
mubian/patches/02_linux-4.6.patch
mubian/patches/03_ossvermagic.patch
mubian/patches/04_gcc-5.patch
Code: Select all
$ uname -a
Linux mint 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Code: Select all
$ ls -al /usr/bin/gcc
lrwxrwxrwx 1 root root 5 Feb 11 09:47 /usr/bin/gcc -> gcc-5
02_linux-4.6.patch is not needed
Code: Select all
$ quilt delete 02_linux-4.6.patch
Removed patch mubian/patches/02_linux-4.6.patch
Code: Select all
$ quilt series
mubian/patches/01_linux-4.0.patch
mubian/patches/03_ossvermagic.patch
mubian/patches/04_gcc-5.patch
Apply the patches:
Code: Select all
$ quilt push -a
Applying patch mubian/patches/01_linux-4.0.patch
patching file opensound-git/setup/Linux/oss/build/osscore.c
Hunk #1 succeeded at 1953 (offset 3 lines).
Hunk #2 succeeded at 1979 (offset 3 lines).
patching file opensound-git/setup/setupdir.sh
Applying patch mubian/patches/03_ossvermagic.patch
patching file opensound-git/os_cmd/Linux/ossvermagic/ossvermagic.c
Hunk #1 succeeded at 71 (offset -10 lines).
Applying patch mubian/patches/04_gcc-5.patch
patching file opensound-git/kernel/OS/Linux/os_linux.h
Hunk #1 succeeded at 109 (offset -10 lines).
Hunk #2 succeeded at 117 (offset -10 lines).
Hunk #3 succeeded at 125 (offset -10 lines).
Hunk #4 succeeded at 133 (offset -10 lines).
Now at patch mubian/patches/04_gcc-5.patch
OSS4 Resamplers:
Code: Select all
$ cat ./opensound-git/configure | grep GRC_M
GRC_MIN_QUALITY=3
GRC_MAX_QUALITY=3
export GRC_MIN_QUALITY GRC_MAX_QUALITY
Enable "Production quality":
Code: Select all
$ sed -i.bak -e 's/GRC_MAX_QUALITY=3/GRC_MAX_QUALITY=6/g' ./opensound-git/configure
Code: Select all
$ cat ./opensound-git/configure | grep GRC_M
GRC_MIN_QUALITY=3
GRC_MAX_QUALITY=6
export GRC_MIN_QUALITY GRC_MAX_QUALITY
Creating a Build Directory
Code: Select all
$ mkdir build
$ ls -1
build
mubian
opensound-git
Building OSS4
Code: Select all
$ cd build
Run this command:
Code: Select all
$ NO_WARNING_CHECKS=yes ../opensound-git/configure --enable-libsalsa=NO
Code: Select all
$ cat ./kernel/framework/include/local_config.h
/*
* Automatically generated by the configure script (srcconf.c) - Do not edit.
*/
#define CONFIG_OSS_GRC_MIN_QUALITY 3
#define CONFIG_OSS_GRC_MAX_QUALITY 6
#define CONFIG_OSS_VMIX
#define CONFIG_OSS_VMIX_FLOAT
#define CONFIG_OSS_MIDI
#define OSS_CONFIG_OPTIONS "--enable-libsalsa=NO"
Code: Select all
$ make
Code: Select all
$ sudo make deb
Code: Select all
$ ls | grep deb
oss-linux-v4.2-2011-amd64.deb
Install OSS4:
Code: Select all
$ sudo dpkg -i oss*.deb
-----------------------------
Detected Intel High Definition Audio (PPT)
USB support available in the system, adding USB driver
Detected Generic USB audio/MIDI device (BETA)
-----------------------------
Forcing re-detection of installed soundcards
Starting Open Sound System
Processing triggers for man-db (2.7.5-1) ...
Code: Select all
$ sudo soundon
OSS is already loaded.
Run osstest:
Code: Select all
$ osstest
It should play a sort of music.
Resamplers:
Code: Select all
$ ossmix | grep vmix0-src
vmix0-src <Fast|High|High+|Production|OFF> (currently Fast)
Code: Select all
$ ossmix vmix0-src Production
Value of mixer control vmix0-src set to Production
Code: Select all
$ ossmix | grep vmix0-src
vmix0-src <Fast|High|High+|Production|OFF> (currently Production)
This thing is producing noise:
Code: Select all
$ ossmix | grep jack | grep input-mix
codec3.jack.green.input-mix-mut ON|OFF (currently OFF)
It should be muted:
Code: Select all
$ ossmix codec3.jack.green.input-mix-mut ON
Value of mixer control codec3.jack.green.input-mix-mut set to ON
See: _https://wiki.archlinux.org/index.php/Open_Sound_System#Microphone_playing_through_output_channels
This switch might be useful for testing your microphone. If you do not have such switch, you may run:
Code: Select all
$ ossrecord -vl - | ossplay -
or
Code: Select all
$ ossrecord -vl -d<devname> - | ossplay -
Code: Select all
$ ossinfo | grep "device index"
HD Audio play front /dev/oss/oss_hdaudio0/pcm0 (device index 0)
HD Audio play rear /dev/oss/oss_hdaudio0/pcm1 (device index 1)
HD Audio play center/LFE /dev/oss/oss_hdaudio0/pcm2 (device index 2)
HD Audio play side /dev/oss/oss_hdaudio0/pcm3 (device index 3)
HD Audio play pcm4 /dev/oss/oss_hdaudio0/pcm4 (device index 4)
HD Audio play spdifout /dev/oss/oss_hdaudio0/spdout0 (device index 5)
HD Audio play spdifout /dev/oss/oss_hdaudio0/spdout1 (device index 6)
HD Audio rec mix /dev/oss/oss_hdaudio0/pcmin0 (device index 7)
HD Audio rec mix /dev/oss/oss_hdaudio0/pcmin1 (device index 8)
"device index 7" means "/dev/dsp7" or simply "7" (it is my default mic).
Code: Select all
$ ossrecord -vl -d/dev/dsp7 - | ossplay -
Recording wav: Speed 48000Hz 16 bits Stereo
- [.. ] 2.00 secs VU ---
Code: Select all
$ ossrecord -vl -d7 - | ossplay -
Recording wav: Speed 48000Hz 16 bits Stereo
- [.... ] 4.00 secs VU ----
Code: Select all
$ ossrecord -i\?
$ man ossrecord
You may also need a mixer GUI:
Code: Select all
$ ossxmix &
$ ossxmix -b &
Add "ossxmix -b" to Startup Applications:
Code: Select all
$ mate-session-properties
See also:
Code: Select all
$ ossmix
$ ossinfo
$ ossinfo -v9
Code: Select all
$ lsmod | grep oss
oss_usb 116113 2
oss_hdaudio 152241 4
osscore 581591 4 oss_usb,oss_hdaudio
Code: Select all
$ man oss_hdaudio
Code: Select all
$ man ossinfo
$ man ossmix
$ man osspartysh
$ man ossphone
$ man ossplay
$ man ossrecord
$ man osstest
$ man ossxmix
$ man ossdevlinks
$ man savemixer
$ man vmixctl
$ man ossdetect
Adobe Flash plugin
Install the latest version of adobe-flashplugin
_https://get.adobe.com/flashplayer/
Code: Select all
$ find /usr -name libflashplayer.so -exec file {} \; 2>/dev/null
/usr/lib/adobe-flashplugin/libflashplayer.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
Adobe Flash plugin is now 64-bit.
You can test the Adobe Flash Player on its home page (right click on video to see info):
_http://www.adobe.com/products/flashplayer
To force the Flash Player in YouTube (intead of HTML5 player), you can install the YouTube Flash Player extension for Firefox
_https://addons.mozilla.org/en-us/firefox/addon/youtube-flash-player/
Flash support in OSS4:
Code: Select all
$ ls -1 /usr/lib/oss/lib | grep flash
flashsupport.c
libflashsupport_32.so
libflashsupport_64.so
Code: Select all
$ ldconfig -p | grep libflashsupport
$ ldconfig -p | ack --count libflashsupport
0
Code: Select all
$ find /usr -name libflashsupport.so -exec file {} \; 2>/dev/null
/usr/lib/libflashsupport.so: symbolic link to /usr/lib/oss/lib/libflashsupport_32.so
/usr/lib32/libflashsupport.so: symbolic link to /usr/lib/oss/lib/libflashsupport_32.so
/usr/lib/libflashsupport.so should be re-linked to libflashsupport_64.so
Code: Select all
$ sudo rm /usr/lib/libflashsupport.so
Code: Select all
$ sudo ln -s /usr/lib/oss/lib/libflashsupport_64.so /usr/lib/libflashsupport.so
Code: Select all
$ file /usr/lib/libflashsupport.so
/usr/lib/libflashsupport.so: symbolic link to /usr/lib/oss/lib/libflashsupport_64.so
Code: Select all
$ sudo ldconfig
Code: Select all
$ ldconfig -p | grep libflashsupport
libflashsupport.so (libc6,x86-64) => /usr/lib/libflashsupport.so
libflashsupport.so (libc6) => /usr/lib32/libflashsupport.so
Restart browser.
Now it works.