Сила SysVinit

В этой теме 13 ответов, 4 участника, последнее обновление  lazyklimm 9 года/лет, 1 месяц назад.

Просмотр 14 сообщений - с 1 по 14 (из 14 всего)
  • Автор
    Сообщения
  • #1230

    kostolen
    Участник

    Так получилось что я пересел со своего любимого Debian на Altlinux. Не знаю как долго я на нём просижу, но одно уже ясно — Debian это всё-таки сила! Почему? мне многого не хватает :)
    Вот и собрался я описать СВОЙ метод настройки Линукс для работы с музыкой, может вам пригодится, а может и мне самому, когда с арча слазить буду. Я написал а вы поругайте или посоветуйте чего умного и для арча. А главное добавляйте, может и на нормальную статью наскребём
    У меня обыкновенный ноутбук.. или лэптоп? короче HP Pavilion dv6129eu — щас у работников сервисов глаза заболят, это их любимый комп :) они все уже погорели, мой последний :)
    Итак, о чем это я? ах да! Звуковая карта встроенная — не самое подходящее устройство для профессионалов, но у мене денгаф нету, всё дети съели.
    Особенность моей настройки заключается в том что компьютером я пользуюсь и для повседневных задач (и дети тоже играют), так что просто realtime ядро здесь не спасёт, так что делать? Ставить два ядра и ещё кучу всего сделать. Забыл оговориться, я рассматриваю Debian unstable, но эти настройки подойдут и для Бубунтусов. И ещё не маловажная деталь — рабочее окружение у меня KDE4 (потом объясню почему).

    Ядро
    Итак. дело в том что нам надо не просто «Low lattency» а настоящее «Realtime». В Debian такого нет, придётся компилировать, это скучно и нет уверенности что будет работать (и в Убунту тоже нет настоящего ядра, не радуйтесь). Я пошёл на сайт [url:2lnzj9jy]http://www.pengutronix.de/software/linux-rt/debian_en.html[/url:2lnzj9jy] и следуя их инструкциям поставил ядро и всё что нужно. Не взирая на предупреждения я установил и драйвера от Nvidia, ведь не могу же я разорваться…(Я слышал что можно запускать xserver с разными настройками, но так и не дошли руки до этого. Если поможете, буду рад)
    Так, ядро стоит, дрова тоже, что дальше?

    Убираем модули и гоняем демонов.
    Многие и не подозревают о том как великолепен Debian, одна из таких особенностей — система загрузки SysvInit — силища. Что это такое? это возможность загрузить систему пятью разными способами, каждый со своим набором скриптов (в отличие от BSD). Обычно система загружается в init 5. Не буду вдаваться в подробности, скажу только что init 4 свободен, его мы и используем для загрузки в аудиостудию.
    Открываем папку /etc/rc.4 в ней мы и найдём загрузочные скрипты. Беспощадно вырезаем всё что мешает плавной и неприрывной работе аудиопрограмм. Я удалил cron, mysql, networkmanager (в случае необходимости есть команда ifup eth0), clamav, exim4 подумав немного убрал и hal, но без него флэшку так просто не подключишь. Что мы в итоге имеем? Аскетический наборчик, ничто не мешает работе аудио. Осталось ещё найти пакет rtirq, установить и настроить под себя, он перераспределяет приоритеты обработки устройств.
    Ах да, совсем забыл! Создайте свой скрипт, назовите его S02realtimeclock. Вот его содержимое:

    [code:2lnzj9jy]#!/bin/sh
    #
    chown root:audio /dev/rtc0
    chown root:audio /dev/rtc
    sysctl fs.inotify.max_user_watches=524288 # эту строку мне посоветовал сам jackserver! цифра зависит от системы
    exit 0[/code:2lnzj9jy]

    Он устранит проблемы с правами в /dev/rtc

    Добавляем второго пользователя (или третьего как в моём случае), назовём его muzikus. вводим его во все группы что и простой пользователь, лишнее убрать. Самое главное не забудьте добавить его в группу «audio» (убунтушники особенно). Заходим от имени нового пользователя, настраиваем KDE — выключаем службы изменения сетевых ресурсов, поиск DNS, nepomuk, akonadi, powerdevil (достаточно автоматической работы BIOS’а), не убейте только kded. Без тени жалости выключаем визуальные эффекты, тему ставим самую простую из тех что найдём, plasma — самая простая, если нет, найдите. Оконный менеджер — отключаем показ содержимого при перемещении окна и изменении размера. Любуемся на всё это антиSemantic безобразие.

    Теперь о том почему KDE: может это и субъективные выводы, но я заметил что KDE при всей своей монструозности, очень плавно работает по сравнению с XFCE и Gnome, особенно при переходе между столами. лучше работают только OpenBox, FluxBox и E17 (кстати о нём тоже ещё расскажу). Однако когда запускается KDE — он загружает почти всё что вам нужно, включил и поехал, никаких тебе xrun’ов посреди работы. Он умеет сохранять сессии, можно настроить чтобы сам загружал всё окружение, Qjackctl только останется подключить настроенные вами заготовки — Patchbay. Ещё одна ОЧЕНЬ удобная вещь — kruner. Помогает следить за процессами, очнь удобен как renice, вам не надо лезть в консоль, искать PIDы процессов, просто — щёлкни на нужном процессе правой кнопкой, выбери «Изменить приоритет процесса» и повышай скоко влезет, потом пароль вводишь и всё. Долой консоли!!! (ой что щас начнётся… holywar)

    Об Enlightenment или E17. Очень лёгкий и приятный, модульный, гибкий и т.д. и т.п. Одна его из особенностей — приложения запускаются с приоритетом 1 или как настроите. То-есть Xserver и прочие низкоуровневые системные службы работают в основном с приоритетом 0, если все пользовательские процессы запустить в ноль, получится плоско, а он «уводит» свои процессы с «плоскости» и процессы меньше путаются. Недостаток Enlightenment’а заключается в его названии — разработчики действуют «по наитию» в результате непредсказуемые изменения в разработке. Вчера работало, сегодня обновился и всё развалилось. Сиди занимайся «просветлением». Второй недостаток — неумение сохранять и даже нормально закрывать сессии, но это как кому нравится.

    Но как теперь загрузиться в init4? Очень просто: включаем компьютер, ждём меню GRUB, выбираем rt ядро нажимаем ‘e’ находим строку ядра и после quiet ставим пробел и цифру 4. жмём Ctrl+X Система загрузится, запустится KDM, входим пользователем muzikus в аудиостудию. Если всё в порядке, то сохраним изменения в файле /boot/grub/grub.cfg находим раздел загрузки rt ядра и вставляем в конец соответствующей строки 4 и сохраняем. У этого способа есть недостаток — после каждого обновления ядра придётся восстанавливать четвёрку на конце, а также проверять папку /etc/rc.4 Но мы же не на Ubuntu, кто там без моего разрешения чего обновит?

    А дальше — щатся!

    #1813

    badboy
    Участник

    Это что получается? Галочка «Включить режим реального времени» в настройках QJackCtr на самом деле не запускает сервер jack в режиме реального времени?

    #1814

    kostolen
    Участник

    Что-то я разошёлся:)
    Сначала я просто хотел написать о настройке одного линукса под разные нужды — Desktop и аудиостудия. А потом понесло…

    [quote:1odjin39]Это что получается? Галочка «Включить режим реального времени» в настройках QJackCtr на самом деле не запускает сервер jack в режиме реального времени?[/quote:1odjin39]

    Нет, это получается что даже когда мне не надо работает реалтайм ядро со всеми вытекающими, а когда оно надо, то работают и все хроны и пр. что тоже не фонтан. О том как это разрулить и было <img src=» title=»Smile» />
    Извините, понакалякал, времена такие, любой kostolen пишет чёрти чё, а вам читать

    #1815

    schumen
    Участник

    Эх, если б мне ещё кто-то подсказал, как избавиться от рассинхронизации джека в рилтайм-режиме с древней sb Live. Не выходит пока что — то нет синхронизации, то что-то типа про зомбированный поток. Ниасилил.

    #1816

    kostolen
    Участник

    У меня (на втором) компе стоит sb Live — вообще нет проблем. А какие у тебя на железе прерывания? ты про rtirq почитай, вещь что надо. У меня на дебиане на каждое прерывание было по одному устройству, причём звуковые «вверху» а как перешёл на арч, распихало на одно прерывание по два устройства и аудио «внизу» а rtirq только и спасает. Но! одно но. ядро должно быть realtime (а не как в убунту — preemptible+ещё чего-то)

    #1817

    schumen
    Участник

    Спасибо, будем дуплить. Только не демьян у мну, а генту-based.

    #1818

    kostolen
    Участник

    [quote:1jyxe7d3]генту-based.[/quote:1jyxe7d3]
    бедный… Ну и как прирост производительности? окупается?
    чесслово я тока узнать

    #1823

    schumen
    Участник

    Вот и не бедный. Я в погоне за рилтаймом по советам камрадов установил Убунту Студио. Проблевался на пульс-аудио (зачем оно там, так и не понял), половил всё тех же пресловутых глюков с синхронизацией Jack, плюнул и вернулся на свой любимый Calculate.
    Только пересел с 9.6 на версию 10.4, в которой неожиданно обнаружил ядро 2.6.32 SMP PREEMPT и jack 0.118, который по умолчанию собирается так, что как не запускай — всё равно работает в рилтайм мод.

    Сейчас откатился на более древнюю версию jackd из-за тех же проблем с синхронизацией.

    Прирост производительности окупается.
    И да, собирал я и в калькуляторе рилтайм ядро (из репозитория proaudio), и в убунту студио оно же было — везде проблемы одинаковы.

    #1824

    badboy
    Участник

    [quote:tiuk3ekj][b:tiuk3ekj]steplton написал:[/b:tiuk3ekj]
    jack 0.118, который по умолчанию собирается так, что как не запускай — всё равно работает в рилтайм мод.
    [/quote:tiuk3ekj]

    Обнови QJackCtl или вообще установи jack2

    #1825

    schumen
    Участник

    От QJackCtl это вообще не зависит, только от jackd — проверял.
    Jack2 Пытался… не получилось собрать на прошлом ядре (2.6.28), надо будет на этом попробовать. Да, хорошая идея, спасибо за наводку!..

    #1826

    schumen
    Участник

    УРАааааа! <img src=» title=»Very Happy» />
    Установил jack2, снизил задержку до 10 мс. Полёт нормальный!

    Спасибо, камрады, за подсказки!

    #1827

    kostolen
    Участник

    Ну слушай… Я не пересобирая ни одного пакета на Debian’e имею 5-10мс на sbLive… и всё это AthlonXP 1400Mhz, KDE4 и медленный хард. Что ты там такое делаешь?

    #1828

    schumen
    Участник

    я? музыку пишу. Последний проект — 47 дорожек в Reaper/wineasio. Можно послушать здеся: [url:1rg62sim]http://reaper.revizer.ru/node/650[/url:1rg62sim]

    А в нативных прогах и клепая что-нибудь простенькое я и 3 мс могу выставить. <img src=» title=»Smile» />

    P.S. Будь добр, дай мне свою строчку запуска jackd (из qJackCtl messages или из ~/.jackdrc)

    #1842

    lazyklimm
    Участник

    я, например, на SB Live так запускаю:

    [code:3fm840ku]jackd -v -R -dalsa -r48000 -n2 -D -Psurround40:Live -o4[/code:3fm840ku]

    задействуются 4 выходных канала, в теории можно и 6, но во-первых мне для дома и 4х достаточно, а во-вторых лезть в дебри .asoundrc неохота.

Просмотр 14 сообщений - с 1 по 14 (из 14 всего)

Для ответа в этой теме необходимо авторизоваться.