Wysoki DSP load dla wtyczek VST Win32.

Staram się ograrnąć temat VST pod Linuksem i pomimo że nie jest najgorzej, zauważyłem dziwne zjawisko: wysoki DSP load i xruns w Ardour przez vst-bridge lub w Carli, przez jej własny bridge dla wtyczek VST. Dwa dni kombinacji i udało mi się zejść do nieco poniżej 50% (przez winetricks zainstalowałem gdiplus i vcrun205{08,10}, choć nie wiem czy to pomogło, dodałem też  i915.do_wbinvd=no do parametrów kernela, bo podobno sterowniki grafiki dają w kość, ale to dalej nie to! choć jeszcze wczoraj load skakał do 70-90%).

Najdziwniejsze jest to, że na starym vsthost z projektu dssi-vst DSP load jest na poziomie max 2-3% dla tych samych wtyczek. 

Ciekawe czy autor Carli, KXStudio i aktualny deweloper dssi-vst, Filipe Coelho aka falkTX, coś odpowie.

vst_host_low_dsp_loadardour_vst_bridgecarla_vst_bridgeCiekawe, że vst-bridge również cierpi na to samo „schorzenie”, choć działa nieco inaczej.

Update: zmieniłem IR loader na keFIR i da się żyć. DSP load na poziomie <40% xruns sporadycznie. Brzmienia darmowych symulacji wzmaków z dobrymi odpowiedziami impulsowymi cabinetów są lepsze od wszystkiego co słyszałem do tej pory w GR5.

Tahrpup 6 z kernelem RT.

Jestem zachwycony Puppim. Żadna inna dystrybucja nie wykorzystuje w ten sposób aufs (union type filesystem). Z pendrive działa to rewelacyjnie bo wszystko z systemu bazowego ładuje się do pamięci, a kolejne warstwy dogrywane są do obrazu aufs w pamięci z plików sfs. Dzięki temu pendrive się nie zużywa, a system jest bardzo szybki w odróżnieniu od typowej konfiguracji, w której zapisy i odczyty na pendrive powodują, że całość staje się niemal nieużywalna.Do pełni szczęścia potrzebowałem jedynie kernela RT ;). Pierwsze podejście – ze względu na dostępne wersje patchy RT – oryginalne źródła kernel_sources-3.14.11-tahr_PAE.sfs (już z łatkami z Puppiego) spaczowałem 3.14.12-rt8.patch. Et voila! A mój „Pro-audio” setup wygląda tak:

#!/bin/bash
cpufreq-set -g performance
echo 2048 > /sys/class/rtc/rtc0/max_user_freq
echo 2048 > /proc/sys/dev/hpet/max-user-freq
sysctl vm.swappiness=10
sysctl fs.inotify.max_user_watches=524288
#powyższe dwie linie raczej nie są potrzebne w puppim
setpci -v -d *:* latency_timer=b0
setpci -v -s 00:1b.0 latency_timer=ff #intel audio
jackd -R -P89 -dalsa -r44000 -p128 -n2 -D -Chw:0 -Phw:0 -Xseq&
qjackctl&
/etc/init.d/rtirq start
export WINE_RT=10; export WINE_SRV_RT=5
vsthost /some/where/VST.dll

Qjackctl używam ze względu na patchbay, który automatycznie łączy wcześniej zdefiniowane wejścia i wyjścia. Można więc e-drumsy podłączać i odłączać, albo np. zrobić suspend to ram i iść na siku 😉 gr