LINUX.ORG.RU

Сообщения James_Holden

 

Запросы HTTP CONNECT к Apache - что это и как бороться?

Форум — Admin

Есть сервер на VPS. Стали вылетать процессы из-за нехватки памяти, хотя нагрузка на него должна быть околонулевой.

Стал смотреть логи Apache, а там море вот таких штук

82.157.18.3 - - [04/Apr/2025:00:35:56 +0300] "CONNECT movie.douban.com:443 HTTP/1.1" 200 507 "-" "okhttp/3.14.9"

Он постоянно долбится вот так вот, я ходил на этот URL - это какой-то сайт с иероглифами. Что это за напасть такая?

Честно, пытался почитать и разобраться, мучил нейросеть, но я не настоящий сварщик и так ничего толком и не понял. Объясните пожалуйста, как для чайника, что происходит?

Я только понял что CONNECT это некий вариант прокси сервера через мой Apache, но я не настраивал никакого proxy, это просто хостинг сайтика, и какого же лешего какие-то китайцы могут невозбранно ходить на китайские сайты видосов через мой сервер??? Что это вообще с миром такое?

Как можно с этим эффективно бороться, подскажите пожалуйста!

 ,

James_Holden
()

Гитара + Linux + СПО: быстрое руководство 2025

Статьи — Desktop

Рассмотрим сначала базовую задачу — как играть, при использовании преимущественно СПО. Про запись гитары, и про коммерческое ПО - возможно, будет отдельно.

Итак, у вас есть гитара, и вы хотите использовать компьютер как гитарный процессор для нее, вместо гитарного комбика. Что надо знать, актуальный список пунктов на 2025 год:

Подключение гитары

Встроенная карта компьютера имеет только вход под электретный микрофон (самый дешевый «для скайпа»), и, если повезет, линейный вход. Ни то, ни другое не подходит для подключения гитары! Вы можете подключить гитару в эти входы, и что-то даже будет звучать, но звук будет сильно ухудшен по сравнению с нормальным подключением к гитарному (инструментальному) входу. Можно немного улучшить ситуацию, спаяв предусилитель, согласующий гитару и микрофонный вход. Гуглите: «истоковый повторитель для гитары», «DI-box для гитары».

Для нормального подключения гитары, нужен аудио-интерфейс (дискретная звуковая карта) с инструментальным входом. С ним гитара будет работать как надо из коробки. Настоятельно рекомендуется этот вариант. На 2025 год, самые базовые и дешевые, но безусловно качественные варианты: Focusrite Scarlett Solo 4gen, Arturia MiniFuse1. Обе эти карты из коробки работают в Linux.

Обеспечение низких задержек при обработке звука

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

Для игры на гитаре, при игре в наушниках через компьютер, желательно добиться задержки в пределах 4-6 мс. Это соответствует задержке при игре через традиционный аналоговый комбик, который стоит в 1.5 метрах от вас. Более высокая величина задержки будет мешать попадать точно в ритм и ровно играть быстрые пассажи. Для начинающего гитариста, высокая задержка может стать сильным барьером к росту техники игры. К этому надо отнестись очень серьезно!

Для Linux систем, задержка <5 мс является серьезным вызовом. Заставить систему работать с такой низкой задержкой не так просто, тут надо применить некоторые танцы с бубном! НО — возможно что у вас реально мощная производительная система, и задержка уровня 5 мс будет достигнута легко, в таком случае дальнейшие пункты вам могут показаться преувеличением. Сразу говорю, что пишу со слабой системы для слабых систем!

Важнейнше! Реальная, физическая величина задержки (roundtrip) может быть совсем иной, чем это показывает софт! Например, у меня в Ardour показывается величина задержки 1.3 мс, при этом реальная задержка может составлять, при разных настройках Pipewire, от 3.8 мс до 15 мс! Поэтому, крайне желательно измерять реальную задержку путем соединения входа и выхода звуковой карты кабелем, используя плагин LSP Latency Meter. Надо промерять задержку для каждой комбинации настроек, которые вы делаете, и ориентироваться на результаты измерений, а не на показания программ типа Ardour или QJackCtl.

Многочисленные руководства по снижению задержки, которые можно найти в интернете, зачастую устарели на 20 лет, поэтому лучше к ним относиться скептически.

  1. Установка linux-rt ядра: На 2025 год, его использование часто не дает улучшения задержки аудио. В то же время, обычное общего назначения ядро Linux, давно улучшено для аудио задач, и может давать очень низкие задержки аудио! Можно попробовать установить ядро linux-rt для эксперимента и сравнения с обычным ядром, но не стоит ждать от него заметного результата.

  2. Не все дистрибутивные ядра одинаково хороши! Например, штатное ядро Arch Linux у меня не может работать с приемлемым уровнем задержки. А ванильное ядро с kernel.org, без каких-либо дистрибутивных патчей - работает без нареканий. Поэтому требуется подбор ядра, для вашей системы! Я рекомендую пробовать сразу ванильное LTS ядро Linux, без дистрибутивных патчей. В Arch Linux в репозитории есть LTS ядро, оно практически ванильное и нам подходит. Также, хорошо себя показывают себя ядра Xanmod, Liquorix.

  3. Широко распространено мнение, что для низких задержек обязательно надо ставить и использовать JACK или Pipewire. Это не всегда так. Pipewire и JACK это отдельные процессы от приложения, которое обрабатывает гитарный звук. Поэтому требуются дополнительные затраты на переключение контекста, если вы выводите звук через JACK либо Pipewire. Это, само по себе, явно не положительным образом сказывается на минимально достижимой задержке! Поэтому, для достижения максимально низкой задержки, надо не добавить, а исключить все дополнительные прослойки между приложением и звуковой картой! Приложение должно работать поверх чистой ALSA, но тут есть несколько нюансов.

  4. Есть Ardour и Reaper, и в них очень хорошо реализована работа поверх ALSA и JACK/Pipewire с экстремально низкими задержками. Лучше сразу пробовать работать в этих программах, и использовать этот результат как основу для сравнения с другими вариантами. С другими приложениями, минимально достижимая задержка может быть выше. Надо пробовать и сравнивать.

  5. Правильные настройки приложения-хоста для достижения минимальной задержки. Важно! Этот пункт сначала лучше пропустить, и проверить что будет без этих настроек. Если стабильная работа с частотой дискретизации 48000 Гц и буфером 64 семпла не достигается, можно пробовать сделать следующие пункты.

  6. Если используется Pipewire, то прежде всего надо переключить профиль звуковой карты в Pro Audio. Сделать это можно при помощи Pavucontrol. Открываем вкладку Configuration, там сразу видны настройки выбора профиля для всех доступных карт в системе. Выбираем профиль Pro Audio. Этот профиль отключает все программные обвязки над физической картой (split configuration и подобное), и самое главное - он переключает Pipewire в режим работы, аналогичный JACK и ALSA приложениям. Именно такой режим лучше подходит для работы с экстремально низкими задержками!

  7. Надо правильно настроить Ardour. В его настройках, есть раздел Производительность, там надо включить: 1) использование только одного ядра процессора, либо другой вариант из этого списка, проверяется экспериментально, что для вас лучше будет работать 2) Управление питанием: Lowest (prevent CPU sleep states) 3) Что делать с обработчиками: Использовать FlushToZero и DenormalsAreZero.

  8. Настройки Reaper. Открываем диалог Reaper Preferences. Находим в в дереве настроек Audio / Buffering. Настройка Allow live FX Multiprocessing On: 4 CPUs. Отключаем или уменьшаем количество CPU.

  9. При создании проекта в Ardour/Reaper, выбираем бэкенд ALSA, количество периодов — лучше 3, далее подбираем размер буфера, минимальный при котором будет без глюков воспроизводиться звук. Для игры на гитаре, нужно добиться хотя бы вариантов 96000 Гц / 128 семплов, 48000 Гц / 64 семпла. Такие настройки дадут реальную задержку порядка 5 мс.

  10. При работе Ardour или Reaper на ALSA, он полностью захватит звуковую карту и другие приложения ничего воспроизводить не смогут! С этим придется мириться и сложно бороться, потому что только исключив все побочное, можно добиться минимальной, экстремально низкой задержки. У проблемы есть два основных решения. 1) если у внешней аудиокарты есть несколько входов и аппаратный микшер, можно подать кабелем туда звук со встроенной аудио карты, работающей с высокой задержкой. 2) Можно использовать Pipewire (также JACK, но в 2025 году уже смысла для Ardour в нем нет). Вот именно для этого и начинает быть нужен Pipewire — если вам надо воспроизводить звук из другого приложения кроме Ardour, и при этом задержка должна оставаться минимально возможной!

  11. Если Ardour работает поверх Pipewire, он будет использовать все звуковые карты которые у вас есть! То есть, как внешнюю так и встроенную! А встроенная, мягко скажем, с низкими задержками может совсем плохо работать, и все порушит. Поэтому, может иметь смысл отключение встроенной аудио карты. Отключить ее можно через конфигурацию wireplumber, как это сделать в настоящий момент времени — лучше искать в Arch Wiki по Wireplumber, там есть пункт где написано как отключить карту. Отключаем встроенную карту, оставляем только внешнюю.

  12. Если Ardour запускать поверх Pipewire, он просто подхватит все дефолтные настройки сервера Pipewire (частота дискретизации, буфер). Зачастую, это не то что нужно, поэтому до запуска Ardour надо изменить параметры Pipewire командами (ставим частоту дискретизации 96000 Гц и буфер 128 семплов).

metadata -n settings 0 clock.force-rate 96000
metadata -n settings 0 clock.force-quantum 128

Враги низкой задержки — найти и уничтожить!

Еще раз повторюсь, что если у вас достаточно производительная система, это может не понадобиться, все будет работать с низкой задержкой и так. Если стабильная работа хотя бы на частоте дискретизации 48000 Гц с буфером 64 семпла не достигается, то:

  1. Любые тяжелые приложения, прежде всего браузеры — сразу закрываем. Должно работать только системное окружение, Ardour, и плеер из которого воспроизводится минусовка. Конечно, очень хочется минусовку запускать прямо с Youtube, но - это сильный удар по задержке.

  2. Сеть и Wifi! Особенно вайфай. Сильно вредит. Отключаем его путем выгруза модуля ядра драйвера Wifi карты:

sudo modprobe -r ath9k
  1. Энергосбережение. Отключаем все энергосбережение, до чего можно и железо дает дотянуться. Прежде всего вот так:
sudo cpupower frequency-set -g performance

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

Программная часть

Прежде всего, это руководство ориентировано на свободные программные решения. Они и будут описаны дальше. Но, как мы все понимаем, это одна из узкопрофессиональных не-программистских сфер, и здесь свободные решения зачастую сильно проигрывают коммерческим решениям, с точки зрения пользователя. Если для вас недостаточно перечисленных дальше свободных проектов, используйте проприетарные DAW и плагины, которых под Linux сейчас доступно большое количество. Их обзор выходит за рамки этого руководства (я сторонник использования СПО).

В основном, для формирования звука нам понадобятся плагины. Есть несколько универсальных форматов плагинов, все эти плагины подходят к любому приложению-хосту, который поддерживает соответствующий стандарт. Основные форматы плагинов - это LADSPA, LV2, VST2, VST3. Часто, одни и те же плагины доступны сразу в нескольких форматах. Для использования плагинов, понадобится сначала выбрать приложение-хост, в которое плагины будут добавляться. Здесь есть два типа приложений-хостов:

  1. Педалборд, патчборд, модульный хост, модульный синтезатор, или модульная DAW. Может называться по-разному, для гитариста проще всего объяснить, что это эмулятор педалборда. То есть такое пространство, куда можно добавлять плагины-педали и соединять их кабелями любым нужным образом, а потом управлять по MIDI работой этих плагинов.

    1. Из свободных решений, ближе всего к такому - MOD Desktop. Отличный графический интерфейс, правда, это веб-интерфейс)) 200+ плагинов внутри. Есть гитарные нейро-усилители AIDA-X и NAM среди них. Также в принципе все эффекты, которые нужны для гитары.

    2. Можно использовать Carla, туда можно загружать плагины во всех основных форматах, но у нее нет удобного GUI для управления соединениями между плагинами, и есть проблемы с низким уровнем задержки.

    3. Можно использовать Bespoke, есть развитый GUI и удобный патчинг, правда у него направленность больше на модульный синтез.

  2. DAW (Digital Audio Workstation) общего назначения. С первого взгляда кажется, что это хуже и не так удобно, как использовать специализированные для живой игры программы-педалборды. Но у DAW есть серьезное преимущество - они имеют хорошие аудио-движки, оптимизированные для работы с экстремально низкими задержками. Они также поддерживают все основные форматы плагинов, и они поддерживают управление всем по MIDI. Основное отличие при работе с DAW - надо организовывать плагины не в виде свободного графа соединений, как в педалборде, а в виде последовательных цепочек на разных дорожках DAW. Также к преимуществам можно отнести, что в DAW вы сразу же можете и записывать гитару, а не только играть. В DAW легко воспроизводить минусовку, добавив ее в виде дорожки. Какие DAW рассмотреть для начала:

    1. Ardour - это лидер среди свободных DAW. Вызывает некоторые нарекания по сравнению с крутыми коммерческими DAW, прежде всего в задачах редактирования MIDI партий, но в качестве хоста плагинов для живой игры на гитаре, базовой записи и сведения результата - вполне годится (если вы не Abbey Road). Все остальные СПО DAW решения, пожалуй, будут еще хуже для этой задачи.

    2. Qtractor - вторая по «масштабу» свободная DAW. Точно так же может использоваться, но она имеет меньше возможностей и пользовательской базы, чем Ardour. Попробовать ее однозначно стоит тоже.

    3. Reaper - это коммерческая DAW, но мы ее тоже здесь упомянем, очень уж она хороша! Это очень легкая по размеру и потреблению ресурсов, но функционально развитая и удобная DAW. Как и Ardour, имеет развитые настройки движка для обеспечения минимальной задержки, работает как с ALSA, так и с JACK/Pipewire. Reaper лучше чем Ardour, но это не СПО и он стоит денег.

    4. Другие коммерческие DAW. Они есть, но их обзор уже за рамками этого руководства.

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

    1. Набор плагинов KPP (https://github.com/olegkapitonov/Kapitonov-Plugins-Pack). Есть в репах основных дистрибутивов. Это непосредственно базовые гитарные плагины, поддерживают профили гитарного усилителя, позволяющие одним плагином имитировать практически любую модель комбика с любым типом звучания. К ним есть приложение tubeAmp Designer там же, оно позволяет создавать профили, и даже обмерять тестовым сигналом усилители и копировать их звучание.

    2. Набор плагинов Guitarix LV2. Есть в репах дистрибутивов. Проект известнейший с большой историей. Есть отдельное приложение Guitarix, но я рекомендую использовать именно DAW систему (Ardour, Reaper) и плагины в ней, потому что DAW системы эффективнее работают со звуковой картой в вопросе минимальной задержки.

    3. Нейро-плагины. Есть как минимум три свободных проекта плагинов гитарного усилителя, с моделированием нейросетями. Это AIDA-X, SmartGuitarAmp, Chamelon.

    4. Общие наборы плагинов LV2, VST для Linux. Могут понадобиться для дополнительных эффектов/обработки.

    5. Свободные и проприетарные плагины можно искать здесь: https://linuxdaw.org/ https://linuxmusic.rocks/

    6. Хоть исходники и не доступны (я не нахожу), но очень интересный проект, задается схема гитарного усилителя, и она моделируется: https://nalexplugins.blogspot.com/

Список будет продолжаться, актуализироваться, исправляться…

 , , ,

James_Holden
()

Arturia MiniFuse 1 + Linux = Need Help!

Форум — Multimedia

Итак, приобрел звуковую карту Arturia MiniFuse 1. Карты Arturia, в отличие от Focusrite, тут как-то обсуждаются мало, хотя они тоже очень популярны. Пусть эта тема будет обсуждением проблем с Arturia.

Первая проблема, которую надо решить сейчас: эта звуковая карта при работе в Linux, не позволяет выставить частоту дискретизации выше 48000 гц. 44100 и 48000 работает нормально. В списке поддерживаемых частот, есть только эти две.

Что пока удалось заметить. В Windows, если не устанавливая драйвверов воткнуть эту карту, то же самое. Если установить MiniFuse Control Center, он ставит ASIO драйвер, и после этого в Windows начинают работать частоты до 192000 даже в микшере Windows.

То есть гипотетически, со стандартным драйвером usb audio она репортит о поддержке только 44100 и 48000.

Репортит нормальный ряд частот дискретизации.

В интернете не нагугливается пока ничего, вообще ничего!

Может у кого-то есть такая карта, или другая от Arturia?

Может, кто-то сталкивался с такой проблемой у других карт? С чего начать, куда копать? Какие будут идеи?

БАГРЕПОРТ НАЙДЕН

https://github.com/alsa-project/alsa-ucm-conf/issues/313

https://github.com/alsa-project/alsa-lib/issues/388

РЕШЕНО

Подъехала версия pipewire 1.4.1 и alsa-card-profiles 1.4.1. С этими версиями пакетов, все нормально с дефолтным профилем!

 , ,

James_Holden
()

EasyEffects не нужно, или PipeWire для продвинутых: часть 5

Статьи — Desktop

Расширение стереоэффекта для динамиков ноутбука

Предыдущие части:

Часть 1

Часть 2

Часть 3

Часть 4

( читать дальше... )

 , ,

James_Holden
()

Bluetooth audio: только Linux?? Дожили

Форум — Talks

КРАТКО: имею двое наушников от Honor, они нормально работают только с Linux! Парадокс и фантастика!

МНОГОБУКАФ:

Немного решил вникнуть в тему беспроводных наушников. Все это еще происходит у меня на фоне недавнего «спора» с @CrX на тему отличимости MP3 и lossy кодеков от lossless.

Тот разговор меня серьезно заинтересовал, я прочитал много материалов, много чего отслушал много на чем, и произошло то о чем мне говорил @thesis - один раз услышав разницу, я все осознал и теперь не могу ничего нормально слушать)))

Так вот, у меня были bluetooth наушники Honor Choice Earbuds X5 (затычки) и я приобрел Honor Choice Headphones Pro (закрытые с оголовьем). Затычки эти я слушал более полугода с кодеком AAC, который выбирается по дефолту, не вникая в качество того, что они мне выдают. Но после экспериментов с MP3, о которых я писал вначале поста, я люто заподозрил, что меня обманули, и что-то тут кардинально не то. Начал смотреть матчасть, и оказалось что все кардинально не так! Ого-го как!

Оба варианта наушников от Honor, имеет два кодека - AAC и SBC. Источник - Android телефон Honor, комп с Linux. В чем дикий подвох? Если погуглить, то везде написано что SBC это лажа, AAC лучше, практически прозрачен, он и выбирается по умолчанию у меня на всем. Но факт в том, что когда я, спустя полгода, переключил на SBC - качество заметно улучшилось! А точнее, слух показывает, что AAC сильно режет стереоэффект и немного ухудшает высокие частоты. Но ведь такого быть не может, AAC это очень хороший кодек!

Тогда я стал смотреть, а с какими параметрами передается поток на наушники. Оказалось, что эти вот наушники Honor, даже полноразмерные - дико обрезаны программно (в прошивке) по ограничению битрейта! Битрейт AAC у них - 131 кбит/с (ограничение со стороны наушников)! Вот это да. Я просто был в трансе…

Тогда я кинулся проверять, а что по кодеку SBC. Ограничение - bitpool 38, вместо положенного 51 по профилю высокого качества! Это у полноразмерных наушников Honor Choice Headphones Pro, которые во всех обзорах хвалят и называют лучшим выбором этой ценовой категории, потому что лучший ЗВУК! А там 131 килобит! Я просто не знаю что делать, я в шоке от жестокости этого мироздания…

SBC с bitpool 38 тоже звучит не идеально, но уже намного лучше. Но не максимально хорошо! Крайне обидно, что тупое программное ограничение, тупо не дает этим хорошим в принципе наушникам, звучать так как они должы!

Но благо, если в качетве источника используется Linux - то в нем хакнутый bluetooth стек и есть вариант кодека SBC XQ, который обходит дурацкое ограничение в наушниках, включая режим двойного моно. И SBC у меня работает с битрейтом под 500 кбит, я не слышу значимой разницы с проводным подключением.

То есть выводы какие:

  1. Производители наушников просто делают дикие подляны, программно урезая битрейт до уровня дна! Проверить это можно только спец утилитами, нигде на коробке никакой информации, в GUI интерфейсах ОС никакой информации!

  2. Нормально такие наушники могут работать только с Linux, который имеет хакнутый кодек SBC XQ. И может еще с LineageOS. Я почти впервые в жизни, нашел аргумент за использование линукса, кроме «мне просто нравится красноглазие»!!! Ура

 ,

James_Holden
()

Bluetooth игнорирует все входящие запросы

Форум — Multimedia

Одноплатник Orange Pi Zero, операционка Armbian 25.2.0 на базе Ubuntu 24.04 Noble Numbat.

Система чистая консоль, без графической сессии.

Задача - сделать эту плату приемником bluetooth audio.

Проблема: игнорирутся все входящие запросы на bluetooth, то есть я запускаю bluemon или bluetoothctl на плате, пытаюсь подключаться с телефона к этой плате, и не вижу никаких сообщений вообще.

При этом, плата и телефон уже изначально спарены. ВАЖНО! Подключение С платы НА телефон командой connect MAC работает без проблем, все соединяется, звук с телефона начинает играть через плату! А наоборот - bluetooth на плате никак не реагирует, словно никаких запросов снаружи нет!

Что пробовал - повторить то же с Arch Linux на x86 ноутбуке обычном. Все работает, внешние подключения принимаются сразу, bluemon начинает сыпать информацией после нажатия кнопочки на телефоне.

Такое подозрение, что в этом Armbian что-то блокирует все входящие соединения на Bluetooth! Но что? Кто может блокировать? Куда копать?

 , ,

James_Holden
()

EasyEffects не нужно, или PipeWire для продвинутых: часть 4

Статьи — Desktop

Спатиалайзер для наушников

Вы когда-нибудь задумывались, чем прослушивание музыки через наушники, отличается от прослушивания музыки через колонки? Основное отличие – когда мы в наушниках, то левое ухо слышит только звук левого наушника (левый стерео канал), и совсем не слышит звук правого. И наоборот. Когда мы слушаем колонки, то оба уха слышат обе колонки, но по-разному. Из-за этого простого факта, восприятие стерео-сцены в наушниках и через колонки, радикально отличается.

И возникает существенная проблема – а на что должна быть расчитана запись, на прослушивание в наушниках, или в колонках? Индустрия выбирает колонки, как основной источник звука, и все делается в расчете на них. А в наушниках мы будем слышать неправильное стерео, сильно искаженное.

Но у нас же есть pipewire, поэтому не беда, сейчас мы это исправим! В этой и следующей статье, мы заставим звучать наушники как колонки, а колонки как наушники (ну почти)!

( читать дальше... )

 , ,

James_Holden
()

EasyEffects не нужно, или PipeWire для продвинутых: часть 3

Статьи — Desktop

Во второй части мы разобрали вопрос, как управлять параметрами эффектов в реальном времени, без перезапуска PipeWire.

Теперь рассмотрим, как можно добавить сторонний плагин, реализующий эффект, который не встроен в PipeWire, и как управлять его параметрами.

( читать дальше... )

 , ,

James_Holden
()

EasyEffects не нужно, или PipeWire для продвинутых: часть 2

Статьи — Desktop

В первой части мы создали конфиг-файл, который добавляет 15-полосный эквалайзер в граф PipeWire. Теперь разберем вопрос, а как же изменять его параметры на лету, без перезапуска PipeWire. Вопрос очень животрепещущий, редакция завалена письмами с ним. ))

В этой части мы разберем задачу на «низком» уровне CLI-утилит. На этой базе несложно сделать любой GUI-фронтенд, который позволит управлять параметрами уже из GUI.

( читать дальше... )

 , ,

James_Holden
()

EasyEffects не нужно, или PipeWire для продвинутых: часть 1

Статьи — Desktop

ВСТУПЛЕНИЕ

Звуковая система PipeWire принесла, без преувеличения, революцию в мир десктопно-мультимедийного Linux. Наконец то эта ОС получила продуманную, сделанную по уму понимающими в теме людьми, и сделанную качественно звуковую систему. Многие ее возможности присутствовали и раньше, в других более старых звуковых системах, но в PipeWire они собраны воедино и сформировали целую единую платформу, на которой можно реализовать огромное количество самых разных задач.

Но в пользовательской среде, эта революция практически не заметна, часто можно встретить мнение вида «ну играет ютуб и играет, мне хватает». Поэтому я решил сделать небольшой цикл статей, посвященный более продвинутому использованию PipeWire, раскрывающему его, без преувеличения, поразительные возможности. (Ну и чтобы изучить их самому в процессе, хехехе).

( читать дальше... )

 , ,

James_Holden
()

Вменяемые заголовки у GTK3/4 приложений при работе в KDE

Форум — Desktop

Использую приложения: remote-viewer, Helvum. Они то ли на GTK3, то ли на GTK4. При работе в среде KDE общая проблема - конской высоты заголовок. Он - не «системный», то есть не такой как у Qt/KDE приложений, и он очень толстый. Это просто нереально бесит уже, он съедает кучу места и мешает работать.

Есть ли какие-то, любые, что угодно рассмотрю вплоть до патчинга кода и пересборки, методы сделать нормальные заголовки у GTK3/4 приложений?

 ,

James_Holden
()

ОС «Быть». Наши дни

Галерея — Скриншоты

Haiku OS, установлена на ноутбук, использую для работы (хотя пока это громко сказано) каждый день.

На скриншоте, в порядке следования:

  • ЛОР, виртуалка с FreeBSD 14, информация о системе https://0x0.st/HHVm.png

  • Сторонние приложения, результат недавних достижений по портированию. GIMP через wayland прослойку, FEMM и WinRAR через Wine. https://0x0.st/HHVB.png

  • Пустой рабочий стол https://0x0.st/HHVM.png

  • Системное меню, системный ФМ, терминал. https://0x0.st/HHVu.png

Бонус скриншоты:

Из интересных моментов.

На скриншоте рабочего стола - видны репликанты (как виджеты в плазме, но работает это несколько иначе).

Окно с виртуалкой QEMU - в его заголовок присоединены (stacked, не знаю, как по-русски сказать) другие окна QEMU и терминал, переключаются как вкладки. Это киллер фича Haiku, как вы знаете.

Аппаратной виртуализации нет, поэтому QEMU работает в TCG-режиме. Но работает.

В Wine работают только чистые 64 бит приложения, и это огромная проблема, потому что винду…дисты до сих пор на 2023 год плещут 32 битные бинари в перемешку с 64 битными. Во имя Ктулху видимо.

Система установки и обновления приложений тоже оставляет самые положительные впечатления. При обновлении, установке, удалении чего-либо - создается «снапшот» системы и в загрузчике можно выбрать его, если что-то пошло не так. Причем как он создается! Без всех этих ваших линукс/FreeBSD чудес с вундер файловыми системами. Это работает просто на папках.

Система работает на ноуте, работает встроенный WiFi из коробки, звук из коробки, разрешение экрана родное из коробки. Отзывчивость, стабильность работы, производительность и безглючность системы впечатляет.

Хотя баги, конечно, есть, например драйвер сети иногда валит ядро при загрузке системы. Но в целом, то, что называется в линуксе DE, - работает чётко. (Привет, плазма).

 

James_Holden
()

Ситуация в теме про GIMP и Windows

Форум — Linux-org-ru

GIMP настройка RU языка (комментарий)

Прошу дать коллективную, или хотя бы авторитетную, оценку происходящему в этой теме со стороны модератора @shell-script в отношении меня.

По моему мнению, это переходит всяческие, ВСЕ разумные пределы как здравого смысла, так и простой морали.

Ситуация такова - есть вот эта тема, она посвящена багу в GIMP, но специфичному для Windows. Насколько я понимаю даже не то что правила, а многолетнюю практику ЛОРа как форума - обсуждение таких вещей допустимо и не запрещено. Потому что GIMP - одна из центральных опенсорсных программ.

На форуме традиционно обсуждается, и оказывается поддержка по опенсорсу в целом, несмотря на название форума.

Или нет? Тогда вы так и скажите. Давайте поставим тут точку. Нужно авторитетное мнение.

Приходит в тред @shell-script и начинает поливать меня грязью, писать чушь про то что баг в GIMP - это вина самой винды и надо обратиться в Редмонд, ну и прочую шизофазию в таком духе.

При этом модератор (!!) меня оскорбляет первым! А потом удаляет мои посты, но не свои.

По результатам обсуждения в треде был локализован баг, и мной сейчас готовится патч в Гимп, благодаря помощи оказанной мне в треде. Но, уже после этого и видя все это, @shell-script опять приходит и начинает меня травить еще больше! Заявляет что все это не нужно, и зачем я все это (то есть инструкции как обойти баг, места в коде GIMP которые надо поправить чтобы устранить баг) тут пишу. Серьезно???

Если у нас на форуме введена политика травли опенсорса, травли людей которые пытаются найти баг и оформить пулл-реквест - то вы так и скажите!

А мы сделаем выводы.

 

James_Holden
()

QEMU. Звук. 2023. Опять все сломано

Форум — Desktop

Итак, на дворе 2023 год. Состояние звуковой подсистемы в QEMU все то же - оно сломано.

РЕШЕНИЕ!!! И общие заметки по состоянию на текущий момент.

  1. Не надо подключать cdrom реальной машины, это ломает звук! То есть -cdrom /dev/cdrom добавлять не стоит.

  2. Вывод через hda эмулируемые сетевые карты напрямую (не через SPICE) - сломан. Через бэкенд pa (pulseaudio) вывод идет намного быстрее чем надо, постоянные глитчи. Через бэкенд alsa - у меня работает нормально, но какие-то глюки при запуске воспроизведения. Они сразу же проходят и выводится чисто. Можно использовать, но работает не очень стабильно при переключении окон, фоновой нагрузке. Возможно, тут нужно увеличивать буферы.

-audiodev alsa,id=snd0 -device ich9-intel-hda -device hda-output,audiodev=snd0
  1. Вывод через SPICE, hda звуковая карта в qemu - работает лучше всего. Это по дефолту и ставит virt-manager.
-audiodev spice,id=snd0 -device ich9-intel-hda -device hda-output,audiodev=snd0
  1. Вывод через ac97 работает, если выбрать бэкенд alsa (спасибо @superuser). Работает хорошо, но раз в несколько секунд происходит глитч. На реальной музыке это практически не заметно, на тестовом сигнале я слышу. Это - предпочтительный вариант для применения без SPICE.
-audiodev alsa,id=snd0 -device -device ac97,audiodev=snd0

ЦЕЛИКОМ рабочая конфигурация

qemu-system-x86_64 -enable-kvm -rtc base=localtime -cpu host,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time -smp 2,sockets=1,cores=2,threads=1 -m 2G -netdev user,id=mynet0 -device virtio-net-pci,netdev=mynet0 -vga qxl -device virtio-serial-pci -device virtio-balloon -spice unix=on,addr=/tmp/vm_spice.socket,disable-ticketing=on,playback-compression=off -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 -chardev spicevmc,id=spicechannel0,name=vdagent -audiodev spice,id=snd0 -device ich9-intel-hda -device hda-output,audiodev=snd0 -device ich9-usb-ehci1,id=usb -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,multifunction=on -device ich9-usb-uhci2,masterbus=usb.0,firstport=2 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4 -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 -chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2 -chardev spicevmc,name=usbredir,id=usbredirchardev3 -device usb-redir,chardev=usbredirchardev3,id=usbredirdev3 -drive file=~/vms/Win10-main.qcow2 -device usb-tablet,bus=usb.0 -monitor stdio

ДАЛЕЕ - для истории, исходный пост

Пробую практически в любых конфигурациях, в любых сочетаниях параметров, на разных гостевых ОС - без глюков не выводится звук ни при каких условиях. Призываю всех, кому нужен звук на виртуалке, присоединиться к процессу разбирательства - какого, собственно, черта так происходит годами.

ЭКСПЕРИМЕНТ 1, вывод через SPICE

Начинаю вот с такого, полная строка запуска

qemu-system-x86_64 -enable-kvm -rtc base=localtime -cpu host,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time -smp 2,sockets=1,cores=2,threads=1 -m 2G -netdev user,id=mynet0 -device virtio-net-pci,netdev=mynet0  -vga qxl -device virtio-serial-pci -device virtio-balloon -spice unix=on,addr=/tmp/vm_spice.socket,disable-ticketing=on,playback-compression=off -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 -chardev spicevmc,id=spicechannel0,name=vdagent -audiodev spice,id=snd0,out.mixing-engine=off,out.buffer-length=200000,out.fixed-settings=off -device ich9-intel-hda -device hda-output,audiodev=snd0 -device ich9-usb-ehci1,id=usb -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,multifunction=on -device ich9-usb-uhci2,masterbus=usb.0,firstport=2 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4 -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 -chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2 -chardev spicevmc,name=usbredir,id=usbredirchardev3 -device usb-redir,chardev=usbredirchardev3,id=usbredirdev3 -drive file=~/vms/Win10-main.qcow2,if=virtio -drive file=~/vms/diskb.qcow2,if=virtio -device usb-tablet,bus=usb.0 -cdrom /dev/cdrom -monitor stdio

Конкретно звук в ней:

-audiodev spice,id=snd0,out.mixing-engine=off,out.buffer-length=200000,out.fixed-settings=off -device ich9-intel-hda -device hda-output,audiodev=snd0

Симптомы: примерно раз в секунду происходит щелчок. На записи видны две проблемы: выпадение куска на 10мс (идет тишина вместо сигнала), и наоборот, съедается какой-то кусок (виден резкий скачок на синусе, сбивается фаза синуса после этого).

С виртуалки вывел синус ровно 60 секунд, на записи - около 59 секунд. То есть сигнал съедался.

ЭКСПЕРИМЕНТ 2, вывод через Pulse

-audiodev pa,id=snd0 -device ich9-intel-hda -device hda-output,audiodev=snd0

Симптомы те же. Но! Теперь минутный фрагмент стал короче на… 15 секунд! То есть виртуалка выводит звук намного быстрее, чем нужно!

При этом - частота дискретизации, передискретизация - правильная, я получаю синус ровно той же частоты, что и был! Ускорение происходит за счет сбивок, съедания кусков.

ВОПРОСЫ

1 Есть ли у кого-то опыт подбора опций, которые дают на 2023 год нормальную работу звука в QEMU?

2 Есть ли идеи, что вообще может побуждать виртуалку выводить звук настолько быстрее? В ней время идет некорректно, что-то с таймерами, или что?

 , , ,

James_Holden
()

Скринкаст в локальной сети

Форум — Desktop

Задача - транслировать содержимое экрана по локальной сети с ноутбука на машину, к которой подключен проектор. Содержимое изображения - приложение с некоторой анимацией.

Первое что пробовал - VNC. Да, не совсем то, потому что мне не нужно удаленное управление, нужно только картинку выводить. Но это самое простое.

Имею - KRFB в качестве сервера, plasma-wayland сессия. В качестве клиента винда с RealVNC клиентом. Тормозит просто запредельно! При этом, раз в несколько минут KRFB просто вылетает. Работает ужасно!

После некоторых копаний, выяснил что с вейландом VNC работает просто никак (а говорили, что сетевая прозрачность X не нужна ибо есть VNC для вейланда). В plasma-X11 сессии с x11vnc работает лучше, но тоже очень плохо.

И! В голом openbox, без композитинга - наконец x11vnc работает нормально. Вообще неплохо, прям можно удаленно работать! Не может только в видео.

То есть, виной всему композитинг?? А есть какие-то решения, или какие-то подвижки, по VNC с wayland?

Далее, о скринкасту. Нашел, что есть OBS и оно делает как раз то что мне надо. Но - оно предлагает стримить на ютуб, телеграм или черт знает куда еще. А мне надо просто все локально.

А что с OBS можно использовать в качестве локального сервера, к которому можно было бы подключаться например VLC на другой машине в локалке? Какое самое простое решение?

 , ,

James_Holden
()

Чувствительность тачпада

Форум — Desktop

Собственно таков и вопрос - как ее настраивать, если все работает через libinupt и plasma-wayland?

РЕШЕНИЕ актуально работающее, через libinput quirks

https://wayland.freedesktop.org/libinput/doc/latest/touchpad-pressure-debugging.html

 , ,

James_Holden
()

Как установить Tensorflow?

Форум — Development

Нид хелп!

Дистрибутив Arch Linux, python 3.10.9.

Из репозитория установить не могу - пакет python-tensorflow конфликтует с FreeCAD.

Ну ладно, ставлю через pip - ставится tensorflow 2.11, который не работает - он требует SSE4.2, в процессоре такого нету.

В интернете нашел, что надо ставить tensorflow 1.5 тогда, но из pip оон куда-то испрарился - там начиная с 1.8.

Подскажите, как быть? Как его установить хоть как-то?

 ,

James_Holden
()

Сизиф всегда почти готов!

Галерея — Скриншоты

Установил Alt Starterkit из 10 платформы, обновился до Сизифа, проверил готовность к работе в разных сферах.

Интернет, конечно же, через наш любимый Яндекс Браузер:

https://imgur.com/a/oDGpg6g

Офисный пакет:

https://imgur.com/a/i2XC3RP

Установка и удаление приложений в GUI производится двумя путями. Работа с репозиторием — через Synaptic, выглядит это так:

https://imgur.com/a/O6G49hq

Вся основная проприетарщина ставится хитрее. Есть утилита Appinstaller, которая скачивает пакеты deb или rpm с официального сайта приложений, перепаковывает под Alt Linux и ставит получившийся пакет. Основано все это на утилите epm разработки Etersoft. Выглядит так:

https://imgur.com/a/pMiRDnH

Разработка в Visual Studio Code (привет учителям, у которых не устанавливается программа C++!):

https://imgur.com/a/2qpcsBV

Разработка в Qt Creator:

https://imgur.com/a/Q8vTeRa

Теперь займемся научно-инженерными задачами! Рассчитаем какую-то пластину на изгиб во FreeCAD:

https://imgur.com/a/Y2pvnOB

Рассчитаем магнитное поле асинхронного электродвигателя! Для этого используем FEMM, запущенный под Wine.

https://imgur.com/a/DMXZGHg

Кстати, в Сизифе доступно два вайна — ванильный и staging (который я и поставил). Вот так, вопреки расхожему мнению что в Альте Wine-Etersoft. По крайней мере, в Сизифе не он.

Работа с графикой в GIMP светлом и темном:

https://imgur.com/a/ekAGUc5 https://imgur.com/a/Mhi8wL0

Теперь послушаем музыку! По дефолту ставится плеер QMMP.

https://imgur.com/a/Co4C8y9

И в завершение — запишем музыку! Используем Ardour с богатым набором плагинов LV2. К сожалению, в репозитории не оказалось плагинов KPP, поэтому они были скачаны в виде бинарного тарбола с официального сайта и распакованы в ~/.lv2. Ardour сразу их подхватил:

https://imgur.com/a/fWr6pcT

Итог. Alt Linux — неплохой дистрибутив, удобный в установке, использовании и нетребовательный к ресурсам. Как видно, подходит для разных видов деятельности — офиса, мультимедиа, музыки, разработки, инженерных и научных задач.

Оставил впечатления обычного классического дистрибутива Linux (с точки зрения пользователя NixOS они слабо различимы). По сути могу назвать это (Сизиф) русским Арчем.

Из замеченных проблем — Wayland-сессия, в целом она работает неплохо, как и в других дистрибутивах, но — не сохраняется этот выбор, то есть после перезагрузки все равно будет сессия Xorg. И в Wayland-сессии не работает скриншотилка! Поэтому все снято в Xorg.

И qucs-s валится при открытии и сохранении любого файла… А так хотел добавить с ним скрин.

– Будь готов!!!

– Всегда ПОЧТИ готов!

 

James_Holden
()

Есть ли IDE лучше KDevelop?

Форум — Development

Долгое время использую KDevelop для разработки на C, C++, Python, PHP/JavaScript/HTML.

Впринципе оно меня всем устраивает, но есть ряд минорных косяков. Поэтому возник вопрос - а есть ли что-то лучше?

От IDE требую базовой функциональности:

  1. Навигация по коду - переход к определению, к объявлению, поиск мест где используется функция/переменная.

  2. Семантическая подсветка - не по ключевым словам, а по смыслу (локальная переменная, глобальная, атрибут класса и т. д.)

  3. Простейший рефакторинг - переименовать переменную, тип.

Помимо этого, желательно то, что является плюсом KDevelop - проектом является каталог, для сборки используется напрямую нормальная система сборки (make,cmake,meson) а не внутри-IDEшное нечто.

Из очевидных альтернатив вижу Eclipse, VS Code и возможно Qt Creator.

У последнего как-то скудно с языками, куцые возможности, вроде бы перечисленные выше пункты есть но реализованы намного менее удобно чем у KDevelop.

Eclipse - как оно? Какой-то монстр, но я его внимательно никогда не тыкал, есть ли смысл?

VS Code - относительно неплохо, но вот с PHP не срастается. Установил дополнение, и все работает как мне надо, но - только если открыть файл через диалог открытия файлов. Если открыть каталог на панели слева, и там тыкать по файлам - это дополнение не активируется. Вот как этим пользоваться? Почему так? Я не понял.

Возможно, стоит рассмотреть что-то еще?

 , , ,

James_Holden
()

QEMU + Android - имитация тачскрина

Форум — Mobile

Проблема проста. Есть виртуалка QEMU с Android x86. Все работает, но у многих приложений проблема - управление рассчитано на тачскрин, а по факту эмулируется мышь. Поэтому просто не работает смахивание (или как это называется), листание проведением по экрану сверху вниз, влево-вправо.

Есть ли какие-то способы заставить QEMU эмулировать именно тачскрин и события тачскрина, а не мыши?

 ,

James_Holden
()

RSS подписка на новые темы