「Voauge MPD APU1C」で「HEPT」をオンにする

あれからさらに、「Voauge MPD APU1C」を弄っていて、いくつか気のついたことがありますので報告しておきます。

まずは、timerに関することです。
「ALIX3D2」は「HPET」をサポートしていませんでした。
「HPET」とは何かと言えば、「Vine MPDを使いこなす(3)~「HPET」をオンにする」で説明していますのでそちらを参考にしてください。

困ったな<(^ー^ι)・・・と思いつつも「最近のUSB-DAC(DDC)のほとんどが「アシンクロナス伝送」を採用している・・・ので、何の問題もないだろう」と強引に結論づけて自分を納得させていました。しかし、強引に納得させながらも、「PC内部のクロックの精度がデータの送り出しにのみ影響を及ぼしているという前提の話であって、その他の局面においても音質に影響を及ぼしているとなると話は違ってきます。」と断りは入れざるを得ませんでした。
実際、「HPET は RTC に比べて高い解像度でより多くの定期的な割り込みを生成することができるため、スムーズな再生を提供するためのマルチメディア ストリームの同期によく用いられ、x86 ベースの CPU の RDTSC 命令のような他のタイムスタンプの計算回数を減らしている。」なんていう文章を読むと、「やはりHPETをサポートしていないのは大きいな!」と思わざるを得ませんでした。

そんなわけで、長い間このHPETの事は頭から消え去っていたのですが、「ALIX3D2」から「APU1C」に移行したことで、何気なく以下のコマンドを打ってみました。

# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm jiffies

おおっ!!
なんと、りHPETをサポートしているではないですか?
ならば、デフォルトはどうなっているんだと思い調べてみました。

# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

デフォルトはHPETではないようです。
ならば、現実問題としてどれほど効果が期待できるのかは未知数ですが、精神衛生上の問題としてもこれは切り替えておくべきでしょう。

切り替え方は簡単です。

# remountrw //お約束

「/boot/grub/menu.lst」を編集します。
ただ、このファイルは編集を間違うと起動しなくなるかもしれませんので、弄るときは細心の注意と自己責任でお願いします。

# vi /boot/grub/menu.lst

timeout 5
default 0

title Voyage Linux 0.9.2 (Build Date 20131219)
root (hd0,0)
kernel /vmlinuz root=LABEL=VOYAGE_FS
initrd /initrd.img

一番最初の部分はこんな感じになっています。
この5行目の「kernel /vmlinuz root=LABEL=VOYAGE_FS」に「clocksource=hpet」を追記します。

title Voyage Linux 0.9.2 (Build Date 20131219)
root (hd0,0)
kernel /vmlinuz root=LABEL=VOYAGE_FS clocksource=hpet
initrd /initrd.img

追記して保存してから再起動します。

# reboot

# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
hpet

こうなっていればOKです。
ただし、このように設定変更したからと言っても、使っているUSB-DDCが「hiFace Evo」でさらに「Evo Clock」で「活!」もいれてるので、かつてのような「圧倒的な効果」は確認できません。

CLOCK

確認ではできませんが、それでも微妙ではあってもある程度の効果はあるように思います。まあ、ある程度の労力を投下したプラシーボ効果と言われればそれまでですが・・・。