LINUX.ORG.RU
ФорумGames

Ubuntu kernel OSS emulation для Kingpin

 , ,


0

1

Привет.

сабж выпилен как я понимаю:

grep OSS /boot/config-5.3.0-24-generic
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
# CONFIG_SND_PCM_OSS is not set

получить ядерную эмуляцию OSS без канпеляния своего ядра никак?

нужно для игры Kingpin, которой юзерспейс-эмуляции мало - звук не робит...



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

чтобы сделать то что там написано, и надо иметь ядерную эмуляцию OSS. ну как я понимаю.
стараюсь не постить тупые вопросы, не сделав хоть какой-нибудь prior reseach.
просто думаю может кто-то исхитрился заставить игрулю звучать без канпеляния своего ведра на бубунте...

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

ну вот их osspd-* и создаёт.

а надо то что выше((

вернее, что имено надо я и пытаюсь понять.
при запуске, оно ругается Sorry but your soundcard can't do this

по этой ошибке в гугле нашлось
https://github.com/id-Software/Quake/blob/master/QW/client/snd_linux.c#L58

if (!(caps & DSP_CAP_TRIGGER) || !(caps & DSP_CAP_MMAP))
	{
		Con_Printf("Sorry but your soundcard can't do this\n");
		close(audio_fd);
		return 0;
	}

для первой кваки, но думаю квак 2 не сильно отличается (на нём кингпин сделан).
Хотя, в своей версии движка они конечно могли что угодно вписать в проверку...
ну так вот, эти капсы вроде в коде osspd упоминаются
https://github.com/libfuse/osspd/blob/master/osspd.c#L1575
	case SNDCTL_DSP_GETCAPS:
		i = DSP_CAP_DUPLEX | DSP_CAP_REALTIME | DSP_CAP_TRIGGER |
#ifdef OSSP_MMAP
			DSP_CAP_MMAP |
#endif

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

ага, я как раз это пробую.
через вроппер либу звук вроде какой-то прорезался.
но жутко distorted
осталось победить это

Adsky_Burunduk
() автор топика

ну чо, камон, кто сталкивался с тем что через враппер libaoss звук искаженный?
причем звуки из игры (*.wav) норм воспроизводятся aoss mpv --ao=oss

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

т.е. дело конечно не в самой библе враппера. и даже не в пульсе (не мешается).

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

В мане aoss написано, что оно хреново работает с приложениями которые «мапят» устройства OSS. Так что подозреваю, что игра как раз пытается добиться доступа к OSS с мапом, а MPV – без мапа.

Можно пересобрать или дособрать отдельную директорию модулей ядра (предварительно, насколько я понимаю, поменяв конфиг). https://stackoverflow.com/questions/8744087/how-to-recompile-just-a-single-kernel-module

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

про mmap я тоже читал, да.

печально, что оно почти работает. если сбросить звук на 8 битный и 11кгц то даже звучит похоже на нормальный.

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

Чисто ради теста, можно попробовать сконвертить аудифайлы в 16bit/44100Hz или 16bit/48000Hz, подсунуть их игре и посмотреть что будет. Но я сомневаюсь что искажения уйдут.

chaos_dremel ★★
()
15 февраля 2020 г.

Выключили возможность включить эмуляцию OSS в ядре? Зачем?

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