Eсли трещит звук в hackintosh и спешат часы

Eсли трещит звук в hackintosh и спешат часы

Как любой уважающий себя любитель всего нового и электронного, я неоднократно уже совершал поползновения к использованию Mac OS X на своём AMD компьютере, и что-то мне всегда не нравилось, вроде и работало всё, но как то не на 100{33d8302486bd10b0fde64d2037652320e6f176a736d71849c0427b0d7398501a}. Самой главной проблемой которая не давала мне покоя был звук. Я являюсь счастливым обладателем системной платы GA-970A-DS3P (rev. 2.х), со звуком Realtek® ALC887. Звук конечно же был заведён в два клика при помощи Voodoo HDA, но вот при прослушивании музыки, или при просмотре фильмов время от времени появлялся неприятный треск. Ничего не мог с этим поделать и вот сейчас установив хак в очередной раз, озадачился и таки победил эту беду.

Оказалось, что система, в силу своей непривычности к моей не яблочной конфигурации в целом и моей AMD конфигурации в частности, попросту неправильно считывала частоту FSB, об этом свидетельствовал не только трещащий звук, но и постоянно убегающие вперёд часы, а так же рассинхронизация звука и видео на youtube в Safari.

Решение было найдено найдено тут. Суть заключается в том, что по времени полученному с серверов времени мы получаем задержку относительно системных часов и проведя несложные вычисления мы узнаём насколько ошибочно нами указана частота FSB. Если у вас в Clover не прописана частота FSB в параметрах CPU, то предварительно пропишите её там исходя из параметров BIOS, дабы потом «плясать» от этой фиксированной частоты.
Итак создаём в домашней папке файл например у меня time.sh, с таким содержанием:

#!/bin/sh
ntpdate -u time.apple.com
systemsetup -setusingnetworktime off
while :
do
sudo ntpdate -u time.apple.com
echo "$(date)"
echo
sleep 36000
done


Этот простейший скрипт отключает синхронизацию времени с сервером, запускается через указаное время, в моём случае это через 36000 секунд, то есть через 10 часов, и показывает насколько за 10 часов произошло смещение от серверного времени в нашей системе. Можно конечно это же сделать и за 1 час, но чем больше тем точнее будет высчитана частота.

Eсли трещит звук в hackintosh и спешат часы

Итак через 10 часов мы получили данные такого вида:

28 Jan 22:01:44 ntpdate[1379]: adjust time server 17.253.38.253 offset -2.487903 sec

Здесь мы видим, что за 10 часов у меня отставание от серверов по времени было почти на 2,5 секунды, из за того что частота FSB выставлена больше чем нужно. Она у меня была мной выставлена 200917(прошу обратить внимание, что указывается она в килогерцах, в то время как в BIOS она прописана в мегагерцах и стоит там 200МГц)
Делим этот отставание в секундах на количество секунд, и вычитаем результат из 1, полученное число умножаем на стоящую в config.plist частоту
(1-2.487903/36000)*200917=200903
После чего вписываем в config.plist такой ключ CPU:

<key>CPU</key>
    <dict>
        <key>BusSpeedkHz</key>
        <integer>200903</integer>
    </dict>

Перезагружаемся и звук становится кристально чистым, отставание времени пропадает, рассинхрон звука и видео в Safari исчезает, а волосы на голове становятся мягкими и шелковистыми.

Рекомендую к прочтению статью Обновление Hackintosh до macOS 10.14 Mojave

А как вы относитесь к Mac OS и к Hackintosh? Пишите в комментариях. Спасибо за внимание. Я желаю Вам счастья.

2 thoughts on “Eсли трещит звук в hackintosh и спешат часы

  1. Мужик красава! А я то думаю чего за херня со звуком в видео) Разгонял свой RYZEN до 4.0ghz и он в рендеринге зависал через некоторое время, а потом в биосе поставил 3.9 а в кловере так и оставил 4 вроде в бенчмарках результат стал еще лучше и рендер работает отлично) Где то через неделю сел смотреть фильм и обматерил все сайты на которых его открывал везде звук отставал от видео, вот же уроды подумал) Но вначале то работало все и начал вспоминать чего я там намудрил:

  2. Под какую систему этот скрипт? На Mojave не работает команда ntpdate — .
    Тут она прописывается иначе, гуглите. Так же не продвинутому юзеру нужно понимать что данная процедура проделывается из под суперпользователя (гуглите как создать).

Leave a Comment