Ubuntu 10.04 + GNOME + OSS4 (quality fix) + Creative Sound Blaster X-Fi Surround 5.1
Минусы- Звук только стерео
- Частота дискретизации только 48kHz
- Возможны проблемы с некоторыми приложениями
1. Удаляем PulseAudiosudo apt-get purge pulseaudio gstreamer0.10-pulseaudio
2. Удаляем ALSAsudo /etc/init.d/alsa-utils stop
sudo apt-get remove alsa-base alsa-utils
3. Выбираем звуковую систему по умолчаниюsudo dpkg-reconfigure linux-sound-base
Откроется окно в терминале:
Сначала жмём [
Enter], потом выбираем "
OSS" и снова [
Enter].
4. Перезагружаемся5. Устанавливаем необходимые пакеты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 libesd0 libsdl1.2debian-oss
sudo apt-get install -y mercurial
6. Скачиваем исходники OSScd /opt
sudo hg clone http://opensound.hg.sourceforge.net:8000/hgroot/opensound/opensound oss-devel
7. Редактируем исходникиgksu gedit /opt/oss-devel/kernel/drv/oss_usb/ossusb_audio.c
ДО:
static int
write_control_value (ossusb_devc * devc, udi_endpoint_handle_t * endpoint,
int ctl, int l, unsigned int v)
{
ПОСЛЕ:
static int
write_control_value (ossusb_devc * devc, udi_endpoint_handle_t * endpoint,
int ctl, int l, unsigned int v)
{
return 1;
gksu gedit /opt/oss-devel/configure
ДО:
#
# 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
ПОСЛЕ:
#
# 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=7
export GRC_MIN_QUALITY GRC_MAX_QUALITY
ДО:
if ((p=getenv("GRC_MAX_QUALITY"))!= NULL)
{
if (sscanf(p, "%d", &q) != 1)
{
fprintf (stderr, "Bad GRC_MAX_QUALITY '%s'\n", p);
exit (EXIT_FAILURE);
}
if (q >= 0 && q <= 6)
grc_max = q;
}
ПОСЛЕ:
if ((p=getenv("GRC_MAX_QUALITY"))!= NULL)
{
if (sscanf(p, "%d", &q) != 1)
{
fprintf (stderr, "Bad GRC_MAX_QUALITY '%s'\n", p);
exit (EXIT_FAILURE);
}
if (q >= 0 && q <= 7)
grc_max = q;
}
8. Создаем папку для сборки пакетаcd ~/
sudo rm -rf oss42build
mkdir oss42build
cd oss42build/
9. Собираем и устанавливаемNO_WARNING_CHECKS=yes /opt/oss-devel/configure --enable-libsalsa=NO
make
sudo make deb
sudo dpkg -i oss*.deb
10. Добавим плагиныsudo apt-get install -y gstreamer0.10-plugins-bad
11. Настраиваем виртуальный микшерgksu gedit /usr/lib/oss/soundon.user
Перед строкой "
exit 0" добавляем строку вида
"vmixctl attach device_pcm device_pcmin"
Вместо
device_pcm и
device_pcmin необходимо прописать путь до звуковых устройств (выхода и входа соответственно).
Устройства эти можно найти в папке
/dev/oss/. Сорее всего, для
X-Fi Surround 5.1 пути будут такие:
/dev/oss/usb041e3042-1/pcm0 и
/dev/oss/usb041e3042-2/pcmin0.
Ещё рекомендую добавить в начало эти строки, дабы не было ошибок при добавлении виртуальных устройств:
ossmix play-altset 1
ossmix rec-altset 1
И в конце, для восстановления уровня громкости при перезагрузке:
savemixer -L
В итоге должен получиться такой файл:
#!/bin/sh
#
# This script can be used to run programs every time OSS is started.
# By default, this script is disabled, and contains no commands.
# To enable, add executable permissions to this file, and edit below
# commands to be run.
ossmix play-altset 1
ossmix rec-altset 1
vmixctl attach '/dev/oss/usb041e3042-1/pcm0' '/dev/oss/usb041e3042-2/pcmin0'
savemixer -L
exit 0
12. Разрешаем исполнение файла soundon.usersudo chmod +x /usr/lib/oss/soundon.user
13. Заодно его запустимsudo /usr/lib/oss/soundon.user
14. Дабы подружить GNOME и OSS, добавляем репозиторий с фиксом и обновляемсяsudo add-apt-repository ppa:dtl131/ppa
apt-get update
sudo apt-get upgrade
15. Теперь можно добавить значок регулировки громкости на панельнажать правой кнопкой на панель и выбрать "
Регулятор громкости" ("
Volume Control").
В зависимости от предпочтений, можно использовать
gnome-volume-control,
ossxmix,
ossmix, установить
xfce4-mixer,
aumix-gtk или довольствоваться только значком громкости на панели.
16. В настройках приложений, по возможности, выбираем вывод звука через OSSПослесловиеНеобходима помощь в допиливании мануала. Прошу, по возможности, дополнять тему; при проблемах - спрашивать.
Кто может, проверьте:
- как обстоят дела со входящим каналом Line in
- работает ли Mic in
- можно ли выводить звук через все 6 каналов
- можно ли изменить частоту дискретизации
- работает ли регулировка громкости без изменения файла soundon.user (пункт 11); восстанавливается ли громкость без добавления строки savemixer -L
Если кому-нибудь нужно, могу потом выложить скомпилированные пакеты.
Нужно, чтобы отписался пользователь системы
x64 - проверить фикс для
Adobe Flash (пока нет в мануале).