LINUX.ORG.RU

А как нынче называется звуковое устройство /dev/mixer1 ?

 , , , миксер


0

1

Пытаюсь восстановить работу одной старенькой игры. Она написана с использованием SDL 1.2. Она компилируется, но не запускается.

Проблема в следующем коде:

        int fd;

         if((fd = open("/dev/mixer1", O_RDWR)) < 0) {
           perror("open()");
           exit(-1);
         }

         if(ioctl(fd, SOUND_MIXER_WRITE_PCM, &value) < 0) {
           perror("ioctl()");
           exit(-3);
         }

         close(fd);

То есть, проблема в том, что файла /dev/mixer1 в системе нет (Debian Stable 9).

Вопрос: а как в современных дистрибутивах называется файл миксера звукового устройства?

★★★★★

а как в современных дистрибутивах называется файл миксера звукового устройства?

Не подскажу. Но нельзя ли «/dev/mixer1» в параметры вынести? Так уже проще будет копать.

Deleted
()
Ответ на: комментарий от Deleted

Я уже вынес, попробовал все фалы в директории /dev/snd, не подходят.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Но ведь как-то игрушки с SDL выводят звук на современных системах?

Через SDL же и выводят. А не как в этой программе - напрямую через OSS.

Попробуй запустить через padsp, должно помочь.

Deleted
()

а как в современных дистрибутивах называется файл миксера звукового устройства?

Никак.

Поставь пакет alsa-oss и запускай свою программу через aoss.

i-rinat ★★★★★
()

Возьми кроссплатформенную систему работы со звуком

deadplace
()

Сколько открытий чудных...

mos ★★☆☆☆
()

Видимо от SDL там используется только блиттер.

Правильный путь:

  1. Переписать всё на SDL2.
  2. Переписать вывод звука на SDL2 с древнего и протухшего OSS.
EXL ★★★★★
()
echo "autospawn = no" >> ~/.config/pulse/client.conf
killall pulseaudio
sudo modprobe snd-pcm-oss
sudo modprobe snd-mixer-oss
cat /boot/vmlinuz > /dev/dsp
ZenitharChampion ★★★★★
()
Ответ на: комментарий от Harald

Если ТС-у очень хочется в неё поиграть, то почему бы и нет

Это должна быть зверь, а не игрулька, чтобы ТАК хотелось поиграть.

Deleted
()
Ответ на: комментарий от Harald

Включить OSS и пересобрать ядро не так уж и сложно, меньше чем за полчаса

Мир сошёл с ума.

«П..ц - это не приговор, 'Дикое радио' помнит о тебе».

Deleted
()
Ответ на: комментарий от Deleted

Это должен быть трындец а не дистр, если сборка ядра тебя так напрягает и пугает.

Смотри, как в 2019 можно:

  boot.kernelPatches = [ { name = "nitrocaster-mod-patch"; patch = ./laptop-X2x0-nitrocaster-mod.patch; } ];
t184256 ★★★★★
()
Ответ на: комментарий от EXL

Да уже все заработало. Там SDL звук выводит, а этот опрос /dev/mixer1 сделан только для того, чтобы проверить доступ к файлу звукового устройства. Отключил и все само заработало.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Ба! Пересборка ядра ради игрульки? Куда катится мир?

Вроде, под линухом всегда так и было: хочешь программу - пересобери ядро, снеси полсистемы чтобы установить одну либу.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

снеси полсистемы чтобы установить одну либу.

Круто. )

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Xintrea

Да, я почему-то сразу так и подумал, увидев close(fd).

Странно, для чего нужна была эта проверка. Ибо SDL (даже древний) заругался бы всё равно, если бы не смог инициализировать звук.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Она нужна была для однозначной идентификации проблемы. Не «что-то со звуком», а «нет файла устройства» или «нет доступа к файлу устройства».

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

под линухом всегда так и было: хочешь программу - пересобери ядро, снеси полсистемы чтобы установить одну либу.

У многих такой период бывает. Хотят что-то сделать, не получается. Упорно повторяют свои действия, которые уже один раз не привели к желаемому результату. Результат всё ещё остаётся далёк от желаемого. Слушать других не хотят. Хотят чтобы на десятый раз компьютер сдался и угадал, что же человек хочет. Очевидно, такого не случается. И тогда начинается: «надо пересобирать ядро». Думаю, что такие пользователи и ядро Windows пересобирали, если бы у них такая возможность была.

Со временем пройдёт. Когда осознаешь, что эмоции нужно беречь для общения с людьми. На компьютеры они не действуют.

i-rinat ★★★★★
()
Ответ на: комментарий от Harald

Оказывается, да. Я думал, что in-kernel совместимость с OSS всё ещё собирают в debian’овском ядре. А оказалось, что нет.

i-rinat ★★★★★
()
Ответ на: комментарий от t184256

Это должен быть трындец а не дистр

Ну так сказано же, Debian Stable 9

Смотри, как в 2019 можно

Да можно и троллейбусы из хлебных буханок делать, но зачем?

└► modinfo snd-pcm-oss snd-mixer-oss | grep filename
filename:       /lib/modules/4.20.14-200.fc29.x86_64/kernel/sound/core/oss/snd-pcm-oss.ko.xz
filename:       /lib/modules/4.20.14-200.fc29.x86_64/kernel/sound/core/oss/snd-mixer-oss.ko.xz
dexpl ★★★★★
()
Ответ на: комментарий от dexpl

Ого, крутая тема, как-то я упустил что модули жмут.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.