LINUX.ORG.RU

Аппаратное ускорение звука в Wine

 ,


1

2

На ретро-компе установлена CentOS 5 и Wine 1.2.3. Это довольно старая версия, и всё же её вполне хватает, чтобы с комфортом поиграть в сталкера и в морровинд. И всё же я задумался над вопросом: а может обновить Wine? Однако уже следующий LTS-релиз 1.4 вызвал вопросы. Помните в winecfg, во вкладке Audio, был выбор аппаратного ускорения звука между Basic, Standard, Full и Emulation? После обновления до Wine 1.4, я обнаружил, что его убрали. Начинаю разбираться.

https://wiki.winehq.org/Sound

Оказалось, что в версии 1.3.25 начали переделывать звук на модель Windows Vista/7. Точно так же, как и в новых версиях Windows - dsound и winmm объявили legacy. Их пустили через mmdevapi (кроме MIDI). Была удалена поддержка ESD, JACK и OSS v3. А также было утеряно аппаратное ускорение звука - вот, собственно, коммит из Wine 1.3.30, удаляющий таковую из dsound (из winecfg свитчер удалили несколько позже). Теперь поведение Wine всегда равноценно тому, как если бы раньше пользователь выставил Emulation в winecfg.

Вопрос: теряю ли я что-нибудь от этого? У меня есть Creative Sound Blaster Live! SB0220. Уверен, в дискретной карточке есть какие-то ускорялки, которых нет во встройках. Получал ли я хоть что-то от этого? Например разгрузку CPU, потому что на старом компьютере игра у меня в этот самый CPU неплохо так упирается.

на старом компьютере игра у меня в этот самый CPU неплохо так упирается

Ну так запускай игоры на новом компе, юродивый.

anonymous
()

поиграть в сталкера и в морровинд.

Есть нативные порты.

xDShot ★★★★★
()

Я не знаю, на счет загрузки процессора, но на винде из-за того, что убрали аппаратный звук, в старых играх отвалились звуковые эффекты, типа эха, реверберации, и некоторых других примочек. Т.е. все стало звучать как на самых дешевых картах без эффектов. На загрузку процессора это почти никак не влияет, т.к. полноценную программную реализацию тех эффектов тогда не делали.

Khnazile ★★★★★
()

Creative Sound Blaster Live! SB0220 Уверен, в дискретной карточке есть какие-то ускорялки, которых нет во встройках.

14 лет, как нет
Начиная с Vista не поддерживается. EAX мертв, OpenAL софтварный.
Существуют, конечно, аудиоинтерфейсы с обработкой на встроенном DSP, но у тебя их нет и никогда не будет. Забудь и не забивай голову.

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

Не, ну смотри, из Wine убрали некое аппаратное ускорение в DSound. Вместо него теперь «эмуляция». Значит, все эффекты остались на месте, просто их обсчёт теперь программный.

Или нет? Я вот смотрю на этот патч, удаляющий поддержку ускорения, и не могу понять, а в чём оно заключалось? Вижу использование аппаратного буфера, и больше ничего не вижу.

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от ist76

вот на Сталкере с Sound Blaster на XP оно как раз и работало, какрточку тогда из за эффектов и покупал. Тогда был вау эффект от дискретной хорошей карточки, не то что сейчас

anonymous
()

теряю ли я что-нибудь от этого?

Чувак, это твои ухи, твой комп, твои игрульки, твоя звучка и твои колонки…

И ты спрашиваешь у нас слышал ли твои ухи разницу или нет?

Это мы должны у тебя спрашивать, если бы кому-то было интересно… но нам не интересно…

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

Умельцы под оффтопиком в своё время смогли запустить враппер EAX через openAL https://steamcommunity.com/sharedfiles/filedetails/?id=1384096547
Очень сомнительной законности и несомненной костыльности способ
Но в оффтопике - работает и радует

ist76 ★★★★★
()

Короче. Я посмотрел патчи, которые удаляют поддержку аппаратного ускорения из dsound (ссылка на патч есть в исходном сообщении). Как я понял, использовался аппаратный буфер для звука (hwbuf), а теперь не используется. При этом, патч слишком большой, чтобы его распарсить, и поэтому листал я исходники «по-диагонали». Так что вывод не окончательный.

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 5)

Включил старый компьютер с процессором Celeron 1300 МГц. Меня встретила openSUSE 10.2. На рабоем столе был ярлык «Сталкер - Зов Припяти». Запустил. Сохранялки датируются 2012 годом.

Wine имел версию 1.2-rc3. Судя по всему, я устанавливал сюда каждый релиз Wine. Даже минорный. А когда появлялась надпись, что configure не нашёл какую-то библиотеку, я устанавливал её, даже иногда наплевав на пакетную систему.

Провёл тесты этого Wine. Установил 3D Mark 2001SE. Выбрал разрешение 800x600, цвет 32 бита, и чтоб все тесты прогонялись три раза. Получил 3700 очков. Интересно. Пересобрал Wine с -march=pentium3 -mfpmath=sse. 3300 очков. Что? Понял что забыл -O2. Теперь снова 3700. Ничего не изменилось. Но раньше результат 3700 был с небольшим разбросом (при повторных тестах), а теперь с большим. Два раза из 3 он показывает результат меньше, чем с дефолтными опциями сборки, а один раз из трёх - больше.

И я так сильно увлёкся пересборкой Wine, что однажды сборка не удалась из-за повреждённого файла. Проверяю S.M.A.R.T. Блин! Диск сыпется! :-( Ну я прогнал fsck.ext4 -c -f /dev/sda1, таблица бэд-секторов обновилась. А на следующий день ещё раз файл повредился. Блииин ((

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от ZenitharChampion

Ну ты сам выбрал путь страдания. Я все понимаю, но сталкер даже на селероне с шиной 140+ МГц тормозит.

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

Имя локалхоста, что интересно, athlonxp. Явно изначально винч был на моём старом компьютере Athlon XP 2000+. Почему-то я этого не помню. Вообще интересно копаться в операционке, которой я активно пользовался 10-15 лет назад.

Морровинд выдаёт 18 FPS в Балморе. Правда, пришлось дальность видимости выкрутить в минимальную. Чтобы комфортно играть, игру надо запускать в Windows, там где-то 24 FPS.

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