LINUX.ORG.RU

Избранные сообщения sehellion

Как забирается RTP поток у сервера RTSP?

Форум — Development

Приветствую.

Дошли руки для продолжения темы (RTSP публикация надежна?), но пока классический вариант освоить требуется.

Все это «ноу-хау» )) делаю на основе кода на С умершего ffserver от ffmpeg, в котором и реализован только сам RTSP (+html) сервер, а RTP протокол обернут в библиотеки ffmpeg-a - собсна что мне и нужно с одной стороны, но не дает понимание как там работает RTP.

С RTSP понятно - слушающий сокет, через который по входящим событиям (poll) парсится текст. После rtsp согласования открывается еще один (хотя в netstat вижу 2 для rtp и rtcp) слушающий сокет, в который начинают писаться кадры, обернутые в rtp и разбитые на udp/tcp пакеты (в первую очередь рассматриваю udp соединение).

Собсна из за непонимания как происходит RTP обмен вопросы

  1. rtp клиент запрашивает каждый раз новые данные или rtsp сервер просто пишет в сокет, пока в сокет rtsp не придет закрыть соединение?
  2. несколько причин есть очередного рефакторинга, но одна из них это в том, что rtsp клиент может отваливаться и не прислать teardown - с помощью чего подобное лучше отслеживать, исходить из того, что каждый rtsp клиент обязан периодически слать options и по таймауту закрывать сокеты?
  3. вся эта кухня делается на одноплатнике, который уже занят на 75% по процессору, а хочется не только отдавать больше одного видео потока как это сделано в ffserver, но еще и разные (последние создадут нагрузку только на чтение с флешки помимо сети для случая однотипных) - однопоточный RTSP/RTP сервер потянет такие задачи для случая до 10 соединений или лучше сразу разделять 2 протокола на 2 потока?

Пы.Сы. звиняйте за многа букав )

 , , ,

wolverin
()

Книги почитать (никакой тех литературы)

Форум — Talks

Приболел.
Надо что-то почитать хорошее. Так как температура, присобачил хороший шрифт на 60" моник, лёжа читается супер с беспроводной. Пользую на сегодня или Emacs или fbless.

Возник вопрос, а что же почитать? Полез на Hugo Awards и стало хуже. Одни женщины. Потерялся.

Предпочтений нет кроме одного: Литература, написанная после 2005 года, так как до этого плотно читал. Много.

посоветуй, Анон, что пробовал на зуб.

 ,

masterOf
()

Понижение флага -j для некоторых пакетов в emerge

Форум — Admin

Как сделать так, чтобы все пакеты по умолчанию собирались -j8, но для некоторых явно прописанных пакетов было -j2, -j3, -j4?

Перемещено hobbit из general

 ,

zx_gamer
()

Зацените дизайн сайта в стиле TUI for DOS :)

Форум — Talks

 ,

sanyo1234
()

Помощь с решением треда

Форум — Job

Привет! Опишу задачу заново.. 3proxy + OpenVpn

Имеется сервер ubuntu 20.04.. На сервер ставлю 3proxy, поднимаю прокси и теперь могу использовать данный сервер, как прокси сервер-ip:port:log:pass На данный сервер устанавливаю openvpn.. Закидываю конфиг, в котором через openvpn идет подключение к стороннему впну..

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

Какую задачу преследую?-Поднимаю 3proxy условно на порту 0001 от пользователя 1 и также запускаю конфиг 1 openvpn.. Создаю таблицу 1 и пересылаю трафик от 3proxy к openvpn.. Основная задача:-чтобы при подключении по данным 3proxy он выдавал конечный ip адрес впна.. Таким образом создаю 1 порт..

После дублирую подобное с разными настройками и таким образом поднимаю условно 30 портов.. Выходит у меня 30 проксей с разными Ip адресами..

Какая проблема сейчас? С iptables проблем нет- все правила прописываются.. С поднятием 3proxy и прочем проблем нет..

Конкретно сейчас проблема в том, что из-за команды в конфиге route-nopull- openvpn поднимает только тунель в отдельной таблице, хотя раньше он все подключения закидывал в данную таблицу.. Сейчас же только тунель поднимает и все(команда на поднятие тунеля у меня находится в файле).. C route-nopull он только поднимает тунель, а без route-nopull работает только openvpn, так как все лежит в основной таблице маршрутизации и 3proxy из-за этого перестает работать..

Мне же нужно, чтобы он автоматически прописывал все подключения в отдельную таблицу маршрутизации, дабы перенаправлять трафик из одной таблицы в другую.. В ручную я прописывать все команды не могу, так как у впн динамические ip адреса и openvpn сам назначает, к какой точке идет подключение-он делает все это автоматически..

Основная задача-Чтобы openvpn подключался к впну автоматически и все Ip адреса закидывал в отдельную таблицу маршутизации, дабы в последующем перенапрявлять трафик от 3proxy в данную таблицу маршрутизации..

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

И подскажите, сколько это будет стоить..

 , , ,

lolipop5577
()

Посоветуйте стартер кит(программный) для изучения схемотехники

Форум — Talks

Есть цель: разобраться в схемотехнике на таком уровне, чтобы можно было собирать простые усилители НЧ. Что нужно?

  1. Хорошая книга, чтобы там было максимально сжато сформирована информация, необходимая для того, чтобы можно было понимать, как работает схема и как ее промониторить

  2. Программа, для моделирования схем, с проверкой их корректности и работы

 

serg002
()

Как выбрать частоты тактирования?

Форум — Development

Пишу прошивку для девайса. Он в том числе взаимодействует с ПК по USB.

Имеется внешний кристалл на 25 МГц. Имеется внутренний резонатор на 8 МГц. Также имеется два внутренних умножителя и набор делителей.

Для USB-периферии я из 25 МГц получаю 48 (25 / 5 * 8 / 10 * 12).

SYS тактирование я могу выбрать либо от этих 48, либо от кристалла (25) напрямую, либо от внутреннего резонатора (8). Сейчас я беру 48.

Далее я через множитель могу это значение поделить и настроить частоту AHB шины. Сейчас я делю на 8, получаю 6 МГц. На этой частоте работает процессор.

Далее мне нужно получить частоты для шин APB1 и APB2. Сейчас я APB1 делю на 16, получаю 375 kHz и APB2 делю на 4, получаю 1.5 MHz.

Собственно это всё я настроил исходя из принципа - чем меньше, тем лучше. На 3 МГц у меня USB не завёлся, соответственно поставил 6.

На шине APB2 у меня крутится таймер, через который я делаю микросекундные задержки для USB, поэтому её тактирую повыше (таймер использует двойную частоту, 3 МГц).

Каких-то требований на данный момент у меня нет (точней они такие небольшие, что подойдёт что угодно, к примеру у меня ещё будет SPI, для которого нужна скорость не ниже 110 КГц и передавать данные по USB я буду со скоростью примерно 15 КБ/с.

Есть ли какие-то соображения, по которым стоит запитать AHB шину не от делителя USB? Если запитывать от 25 МГц кристалла, то делить на ровные числа не получается, а частота в 25 МГц мне кажется избыточной, хотя изначально так и делал. Запитывать от 8 МГц резонатора кажется странным при наличии внешнего кристалла.

Просто не понимаю, вообще, исходя из надо настраивать все эти тактирования, чем руководствоваться. Вроде этих умножителей и делителей куча, вариантов куча, а как выбрать правильно?

 , тактирование

vbr
()

STM32 с нуля (жж)

Форум — Talks

Я тут в очередной раз пытаюсь освоить программирование микроконтролеров. Захотелось написать такой полу-ЖЖ, полу-туториал (как говорится - хочешь разобраться в чём-то, объясни это другим). Может кто почерпнёт или подскажет чего полезного.

Если интерес будет, буду продолжать.

Итак осваиваем STM32 не как нормальные люди.

Примерный план:

  1. Подключить его к компьютеру и убедиться, что там что-то происходит. Использовать будем st-util и gdb.

  2. Написать простейшую программу на ассемблере, которая в цикле прибавляет регистр, скомпилировать из неё прошивку, залить на плату и пронаблюдать её работу. Использовать будем binutils и st-flash.

  3. Поморгать диодом (на ассемблере же).

  4. Переписать осмысленный код на С (дальше всё на С).

  5. Переписать моргание с использованием таймера, чтобы внести свой вклад в борьбу с глобальным потеплением.

  6. Сказать внешнему миру «Hello world» через UART.

  7. Переписать «Hello world» с помощью CMSIS, уже с пониманием того, что там происходит.

На этом этапе начальное освоение микроконтроллеров можно считать завершённым. Дальше, видимо, сотни страниц датащитов по записи нужных битов в нужные места, или использование готовых библиотек. В любом случае навыки из списка выше полезны при использовании любых библиотек, т.к. всё растёт из этой базы.

Сразу скажу, что в процессе будет использовано достаточно много инструментов вроде make, ld, gdb, as, gcc и тд, по каждому из них можно книги писать (и пишут). Поэтому, конечно, углубляться в них я не буду, а напротив буду использовать в максимально примитивном виде.

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

 , ,

vbr
()

Выбор медиа-сервера

Форум — Talks

Всем привет) Для Admin/Media вроде бы не серьёзно, но если требуется - то мои извинения.

Задача проста - сервер на котором есть список видео и клиент, на котором этот список воспроизводиться, клиентом выступает простой телевизор на android.

Смотрел Xibo / KODI, сейчас запускаю просто поток на VLC)

Хотел бы услышать советы \ истории успеха по такой задаче, именно каким сервисом или набором «костылей» решили такое.

Спасибо)

 ,

lawliet
()

Выбор принтера

Форум — Linux-hardware

Ищу ЧБ лазерный принтер, с двусторонней печатью, с дешевыми расходными материалами.

Собственно, почему пишу сюда. Нужно чтобы принтер работал в Линуксе без установки каких-либо драйверов и прочей бинарной мути. Насколько я понимаю, он должен иметь сетевой интерфейс (предпочитаю проводной, WiFi возможно в дополнение), поддерживать PostScript и AirPrint.

Что посоветуете из доступного в России?

 

zb2
()

А подскажите платки с ланом и уартами

Форум — Linux-hardware

Сабж, пользую по старинке Нанопи но вдруг кто подскажет чуть более подходящее решение для двух вариантов:

  1. аналог ip-камерных плат с мелким линухом, без матрицы но с парой уартов (или сразу с парой 485) и внятным жпио на борту, в идеале с ацп.
    Т.е. дешёвый Китай-проц (гок7205 весьма и весьма), метра 32 ОЗУ и флешка на борту под ОСь и метров 10 свободных.
    Камерные платы в целом радуют но много лишнего гимора с «найти именно с двумя уартами, отключить на одном консоль, страдать без жпио» ради «полюбиться чтобы туда зайти под Рутом а потом без документации и по вялым следам собирать под нее нужные модули ядра»
    Короче задачка получить больше портов и жпио (очень хотца ацп) в обмен на проц

  2. аналог какой-нить ардунки но сразу с ланом на борту и в идеале с процом более внятным - немощь типа 051ого стм32 в целом устраивает но если будет пожЫрнее то хорошо.
    Тут задачка аналогичная - заиметь много портов и ацп но чур с ланом на борту (610/5500 вз паять вот не хочу, хочу сразу на борту)

Из покупаемых хотя бы на алике
Спасибо

 , ,

rukez
()

Для тех, кто думает перейти на Gentoo

Форум — General

Привет

Достаточно часто создаются темы, где люди думают переходить на Gentoo и хотят уточнить некоторые моменты. Чтобы сэкономить время себе и другим, решил создать этот топик, в котором буду собирать ответы на частые вопросы.

TL; DR: Для тех, кто думает перейти на Gentoo (комментарий)

Преимущества
#1 Gentoo очень гибкая и всенастраиваема
Пример того что в Gentoo делается просто:
- Использовать openrc вместо systemd или наоборот; pulseaudio или без него
- Наложить кастомный патч; пример когда это нужно
- Подключить или отключить такие вещи как vaapi, vdpau, opencv и т. п.
- Иметь несколько веток софта; уточню, что это работает только для определённых пакетов; например можно одновременно установить python 2.7, 3.4, 3.5 или qt4 и qt5, но нельзя одновременно установить qt 5.7 и 5.8

#2 Очень удобный и функциональный пакетный менеджер
Примеры удобных фич:
- Прервать установку (вплоть до перегрузки компьютера), а потом ее продолжить. Можно продолжить с последнего пакета (emerge --resume), продолжить но пропустить последний пакет, например, если его установка прервалась с ошибкой (emerge --resume --skipfirst, некоторые нюансы); для больших пакетов можно продолжить саму компиляцию (ebuild <полный путь и имя файла>.ebuild merge).
- Когда при установке обновляется конфиг приложения, определяется редактировался ли предыдущий конфиг пользователем. Если да, конфиг не перезаписывается, а кладётся радом, и выводится сообщение пользователю с предложением обновить конфиг.
- Обновить всю систему, но исключить некоторые пакеты (удобно для исключения больших пакетов из ежедневного обновления)
- Почистить зависимости - удалить те пакеты, которые больше никому не нужны.
- Поскольку ebuild - текстовый файл, то можно пропарсить на предмет требований к количеству ресурсов для установки:

$ for F in $(find /usr/portage -name "*.ebuild") ; do REQ=$(grep "CHECKREQS" "$F") ; if [[ -n "$REQ" ]]; then echo -e "\n$F\n$REQ" ; fi; done
- Вынести компиляцию на другой компьютер (поддержка distcc на уровне пакетного менеджера). Важно когда Gentoo устанавливается на слабый компьютер.


#3 Хорошая документация, по крайней мере на английском. Более того, поскольку Gentoo-специфичные утилиты являются лишь надстройкой на generic механизмами, документация от других дистрибутивов (например от Arch) в большинстве случаев тоже подходит.
Опрос 2014: У какого дистрибутива лучшая документация

#4 Достаточно свежий софт, много сторонних репозиториев.
Список сторонних репозиториев
Gentoo - rolling release, а значит как только новая версия конкретного софта появилась в репозитории, её можно установить. Но здесь не имеется ввиду, что как только новая версия зарелизилась, она моментально становится доступна в основном дереве; лаг есть, но он как правило не большой, хотя зависит от пакета. В тестинг ветке новые версии появляются раньше. Кроме того мейнтейнеры Gentoo могут маскировать некоторые версии, если в них обнаруживаются серьезные баги. Однако всегда можно размаскировать нужную версию. Кроме того для некоторых пакетов есть -live версии, когда исходники скачиваются напрямую из github или аналога.
Пример когда «у меня не самый свежий софт в Gentoo»

#5 Полный порядок в системе, ничего лишнего - эстетическое удовольствие, плюс возможно можно немного улучшить перформанс

#6 В процессе установки и эксплуатации получаешь полное понимание как работает система, а значит возникающие проблемы решаются быстро. На самом деле без должного знания Линукса (или желания его узнать в процессе) Gentoo нормально не установить.

Недостатки
#1 Сложная и долгая первичная установка. Если устанавливать в первый раз, нужно готовиться потратить несколько дней. Для опытных - несколько часов + компиляция.
Время установки (компиляции) Gentoo, еще немного цифр по большим пакетам

#2 Пакетный менеджер хоть и удобный, но очень медленный

#3 Если не обновлять систему долго (полгода и более), то сложность обновления сопоставима с установкой новой системы. Есть мнение, что emerge-webrsync --revert=yyyymmdd должен помочь (лично я не проверял).

Особенности
#1 Высокий порог входа; дистрибутив не для новичков. Если человек не комфортно чувствует себя в командной строке, никогда не компилировал ядро, не разбивал диски на разделы, не привык изучать докуменацию, вчитываться в сообщения и анализировать логи, то Gentoo покажется сложной в обслуживании, а возникающие проблемы будут списываться на дистрибутив.

#2 Обновляться нужно часто.

#3 Основные фичи - в командной строке. Для тех, кто не привык работать в командной строке, это будет минусом. А для тех, кто комфортно чувствует себя в командной строке, это будет плюсом, так как работа в командной строке более эффективна, а типовые сценарии можно обернуть в скрипты и еще больше сократить время на обслуживание системы.

#4 Есть две ветки: stable и testing. В stable меньше шансов встретить проблему, но в testing более свежий софт. Ветки можно комбинировать.

Мифы
Миф #1 Gentoo даст прирост производительности за счет того, что весь софт компилируется под конкретное железо.
Краткий ответ: В 99% случаев при смене дистрибутива X на Gentoo вы не заметите какого-либо улучшения в плане скорости работы. Если вы зададитесь целью сравнить свежеустановленный дистрибутив X с свежеустановленной Gentoo, то в 90% вы не увидите значительной разницы.

Детальный ответ.
Не следует ожидать что просто скомпилировав систему из исходников вы получите сколько-нибудь заметное улучшение перформанса.
Для большинства приложений компиляции под конкретное железо даст прирост производительности в районе 1-2%.
Ложка дегтя: в некоторых случаях даже может быть замедление. Например Firefox, можно ускорить с помощью PGO. В Gentoo по умолчанию это отключено, так как PGO увеличивает время компиляции почти в два раза. В бинарных дистрибутивах соотв. софт может быть скомпилирован с PGO.
Так как добиться улучшения производительности? Узкий круг приложений может быть значительно ускорен при компиляции под конкретную платформу - на 30%-50% и больше. В основном это приложения которые активно занимаются вычислениями. Но для этого требуется соотв. настройки. Например, активация SIMD инструкций, даст прирост производительности в мультимедиа приложениях. Некоторые процессоры имеют аппаратную поддержку шифрования AES. В бинарных дистрибутивах подобные фичи будут отключены, так как не все процессоры это поддерживают, а бинарные дистрибутивы в первую очередь заботятся о совместимости.
Небольшое улучшения перформанса возможно если убрать из системы всё лишнее (мнение 1, мнение 2).
Еще интересный случай

Миф #2 Обновления занимают много времени
Краткий ответ: 5-10 минут на фоне, не мешая основной работе.

Детальный ответ.
Обновления не занимают много времени, но опять же, при правильном подходе.
Во-первых, как было сказано выше, обновляться нужно часто. Для testing ветки это каждый день, или по крайней мере не реже чем в раз 2-3 недели. Для стабильной ветки - раз в неделю достаточно (на стабильной ветке намного реже выпускаются обновления)
Во-вторых, есть пакеты которые правда очень долго компилятся: libreoffice, firefox, chromium... Их всего 10-15. Я их исключаю из ежедневного обновления, а обновляю раз в несколько месяцев.
Еще нужно сказать, что на этом вопросе часто заостряют неоправданно много внимания. Обычно обновления происходят на фоне, и не сильно влияют на работу; так какая разница как долго они выполняются?
В итоге, у меня обновления занимают примерно 5-10 мин ежедневно (у меня тестинг-ветка).
К тому же всё происходит на фоне, в любой момент можно поставить на паузу (Ctrl+Z, fg), продолжить после прерывания (умышленного или случайного).
Мой скрипт ежедневного обновления

Миф #3 Gentoo требует много времени на обслуживание
Краткий ответ: Может быть больше, может быть меньше по сравнению с другими дистрибутивами. Очень зависит от того, насколько вы будете вчитываться в то, что пишет вам пакетный менеджер, и разбираться первопричинах.

Детальный ответ.
Обслуживание Gentoo занимает меньше времени по сравнению с другими дистрибутивами, но только при грамотном обращении, конечно. Достигается это за счет следующего:
- хороший пакетный менеджер: маскировки, глобальные и индивидуальные установки для пакетов (USE флаги, опции компиляции, каталоги), хуки, приоритеты (чтобы компиляция происходила на фоне и можно было работать), много опций для установки и анализа, подсказки после установки.
- всё происходит в CLI, а значит типовые операции можно обернуть в скрипты/алиасы.
- уже существуют много утилит для облегчения обслуживания: eselect, equery, eix, eclean, euse, genlop и др.
Грамотное обращение означает, что вы правильно и регулярно обновляете систему, исполняете предписания emerge, которые он выдает после установки, держите в порядке конфигурационные файлы, а если таки возникает проблема, которую решить вы не можете, то вы обращаетесь в форумы, а не просто жалуетесь на жизнь.
Что до проблем с обновлениями - см. следующий пункт «Миф #4 Установка, обновление постоянно падают; частые блокировки»

Миф #4 Установка, обновление постоянно падают; частые блокировки
Краткий ответ: Не чаще чем в других дистрибутивах

Детальный ответ.
Если говорить про «часто» и «постоянно», то проблемы с обновлением/установкой могут быть если:
- система давно не обновлялась
- система неправильно обслуживается (см. выше про Грамотное обращение)

В редких случаях пакет просто не компилируется. На самом деле это проблема не Gentoo, а тех, кто писал этот софт. И в подавляющим большинстве случаев это не является проблемой, и вот почему. Если это обновление, то можно продолжить процесс запустив emerge с параметрами --resume --skipfirst - он обойдет проблемный пакет, пересчитает зависимости чтобы система осталась консистентной, и продолжит обновление (а можно изначально передать параметр --keep-going, тогда это будет происходить автоматически, прерываний вообще не будет). Если пакет критичен, можно установить предыдущую версию, которая компилировалась (а проблемную замаскировать чтобы пакетный менеджер ее не видел).

Что может заблокировать обновление полностью:
- просьба пакетного менеджера поменять флаги пакета. При этом emerge предлагает сделать это автоматически, но лично я предпочитаю делать вручную. Для ручного способа, решается добавлением строчки в package.use
- просьба пакетного менеджера задать лицензию. Это валидно только для не-свободных лицензий, например EULA, Skype, Adobe Flash и т. п. Если мы говорим имено про обновление, то такое бывает только когда лицензия обновляется, что бывает очень редко (как много у вас пакетов под не-свободной лицензией, и как часто они меняют лицензию?). Решается добавлением одного слова в make.conf
- просьба пакетного менеджера размаскировать пакет. По моему опыту нужно не размаскировывать, а наоборот замаскировывать пакеты, которые тянут замаскированные зависимости. Это, да, требует минут 5-10 на разобраться. Но, если только у вас нет смешения веток и live пакетов, такой вариант случается раз в пятилетку.
- сложные блокировки. Большинство блокировок пакетный менеджер разрешает сам; по моим наблюдениям, качество данного механизма значительно улучшилось пару лет назад. Из своего опыты скажу, что (учитывая частые обновления) блокировок, которые бы совсем останавливали обновление я уже не видел года 1.5. Но если они есть, то это действительно сложный кейс.

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

Миф #5 В Gentoo нет бинарных пакетов
Краткий ответ: Есть там, где это действительно нужно.

Детальный ответ
Во-первых есть Calculate Linux - полностью бинарный форк Gentoo.
Во-вторых даже в самом Gentoo в основном репозитории есть несколько бинарных пакетов: libreoffice-bin, firefox-bin, некоторые другие. Связано это с тем, что из исходников они очень долго компилируются, и иногда проще поставить бинарник.
Бинарный пакет можно сделать самому командой quickpkg --include-config y <установленный пакет> - удобно для бекапов.

FAQ

#1 Установка на слабый компьютер
Смотря что есть слабый компьютер.
Из собственного опыта: Intel Core2 Duo 6600 @ 2.40GHz, 2Gb RAM + 4Gb swap хватало для комфортной работы в Gentoo.
Зачастую ebuld'ы содержат информацию о том, сколько нужно памяти для компиляции пакета. TOP 5:
16G - chromium
8G - ledger, isabelle
7G - ceph
6G - firefox x64 (для x32 нужно 3G), pypy x64 (для x32 нужно 3G)
5G - electron
Если компьютер и вправду слабый, то лучше выбрать не Gentoo (точнее не-source-based дистрибутив). Альтернатива - можно вынести компиляцию на другой «не-слабый» компьютер с помощью distcc.


Опрос 2021: Какую операционную систему и/или дистрибутив GNU/Linux вы используете на ПК?
Опрос 2018: Какой ОС вы пользуетесь на основном ПК?
Опрос 2017: Какую ОС вы используете на основном ПК?
Опрос 2014: Какой дистрибутив вы используете на десктопе?
W3Tech стастика дистрибутивов на серверах
Отличия дистрибутивов, время работы ноутбука
Чем удобны USE флаги
Сколько памяти нужно для РАБОТЫ Gentoo (сколько нужно для компиляции было указано выше)
Сколько места на диске нужно для Gentoo
Правильное полное обновление Gentoo, Мой скрипт ежедневного обновления, Еще вариант
Gentoo для девелоперов
Практика инсталляции Gentoo: в двух словах простым языком
Небольшой скрипт - сборка livecd

 

Kroz
()

Хранение и организация заметок

Форум — Talks

В общем, с каждым днем всё острее встает необходимость хранить какие-то записи о разных вещах. До этого пользовался просто текстовыми файлами в plain text, нужно хотя бы форматирование. Вставка картинок\видео, электронных таблиц было бы тоже весьма кстати. Очень хотелось бы теги. Т.е., например, один файл может касаться сразу нескольких тем, а лежит, естественно в одном каталоге. Можно и несколько решений, в принципе.
Можно и self-hosted решения с web-мордой, даже будет плюсом.
Но решений, где все хранится где-то в хрен-пойми-какой базе хотелось бы избежать.

 , , ,

sehellion
()

Современных ретро игр тред

Форум — Games

Привет, посоветуйте годных +- современных игр в ретро-стиле, платформеры-метроидвании, или что-то близкое. Слышал, их сейчас много выходит.Не обязательно пиксельное, но мне дико понравилось, как сделали Axiom Verge и Cyber Shadow.

 ,

Dog
()

Что нынче из дешевых микроконтроллеров для радиогубителей?

Форум — Talks

Интересны как модули в форм-факторе Arduino Nano/STM32 Discovery или NodeMCU, так и чипы, которые несложно запаять вручную (QFP, например). Желательна поддержка USB.

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

Из известных мне - 100500 клонов STM32 Discovery как на оригинальных чипах, так и на более или менее удачных китайских клонах; такие же клоны Discovery, но на китайским RISC-V; даже какие-то пики в дипкорпусе и при этом с USB.

 , ,

token_polyak
()

Intel GVT-g: Ubuntu 20.04.4 в гостях у AlmaLinux 8.5

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

Собственно, в заголовке всё сказано. Для тех, кто не понял — Intel GVT-g это технология, что позволяет отдавать часть ресурсов встроенной видеокарты в виртуальную машину так, чтобы вся графика внутри ВМ считалась напрямую на GPU хоста. Аналог аппаратного ускорения виртуализации, что применяется для CPU уже давно. Да, это здорово улучшает производительность графики в виртуальных машинах, хотя лично я и не замерял разницу с QXL (стандартная виртуальная видеокарта в Qemu).

Эта технология появилась в Linux уже достаточно давно, но до сих пор требует кучу манипуляций руками, чтобы её завести. Я заводил через связку libvirtd+qemu-kvm, что является типичным решением для RHEL-based дистрибутивов, который у меня и стоит. Сразу скажу, что мой способ не единственный, и даже в рамках той же связки можно и иначе настроить. Но расскажу, как сделал я (если честно, это просто первый способ, что у меня сработал, я и другие пробовал):

  • Для начала, поставил все пакеты для виртуализации и включил libvirtd:
yum groupinstall "Virtualization Platform" "Virtualization Hypervisor" "Virtualization Client" "Virtualization Host"
systemctl enable --now libvirtd
  • Добавил своего пользователя в нужные группы: usermod -aG libvirt,kvm vsevolod

  • Этот шаг опционален, и сделал я его под конец, но имеет смысл включить Nested Virtualisation (позволяет запускать ВМ внутри ВМ с ускорением):

[vsevolod@localhost ~]$ grep -v '^#' /etc/modprobe.d/kvm.conf
options kvm_intel nested=1
  • Включил саму технологию Intel GVT-g, я делал это по этому мануалу: https://blog.tmm.cx/2020/05/15/passing-an-intel-gpu-to-a-linux-kvm-virtual-machine/ — сразу оговорюсь, что я делал далеко не всё, как там написано, и помимо этого ещё и на ArchWiki ориентировался. Но именно включил, как там и сказано:
[vsevolod@localhost ~]$ grep -v '^#' /etc/default/grub | grep GRUB_CMDLINE_LINUX
GRUB_CMDLINE_LINUX="crashkernel=auto i915.enable_gvt=1 i915.enable_fbc=0"
[vsevolod@localhost ~]$ cat /etc/modules-load.d/kvm-gvt-g.conf
kvmgt
vfio-iommu-type1
vfio-mdev
  • После включения я настроил так, чтобы виртуальная видеокарта появлялась при загрузке автоматически:
[vsevolod@localhost ~]$ cat /etc/systemd/system/add-gvt-g-device.service 
[Unit]
Description=Add Intel GVT-g virtual GPU on boot

[Service]
ExecStart=/usr/local/bin/add-gvt-g.sh
Type=oneshot

[Install]
WantedBy=graphical.target
After=graphical.target
[vsevolod@localhost ~]$ cat /usr/local/bin/add-gvt-g.sh
#!/bin/bash
echo 'a3356d9c-35e6-4f1a-aac9-b075e5cb5d1c' > /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V4_4/create
exit
  • А вот самое интерсное — настройку виртуальной машины так, чтобы она использовала GVT-g, я уже проводил в основном по ArchWiki: https://wiki.archlinux.org/title/Intel_GVT-g , там много методов это сделать, я выбрал тот, что у меня сработал и был мне достаточен. Возможно, другие из неиспробованых тоже бы сработали, пока не проверял.

  • Честно говоря, я до сих пор делаю setenforce 0 перед запуском ВМ, так как я пока не разобрался с настройкой SELinux, и он при запуске ВМ с GVT-g страшно ругается.

  • И метод, что я выбрал, имеет особенность — экран у ВМ становится доступен только после старта самого Linux, GRUB2 в принципе не виден, как я понял. Поэтому приходится сначала просто делать ВМ, потом уже ставить в обычную ВМ Linux, а уже потом перенастраивать ВМ на GVT-g.

  • Ну установка довольно банальна, я делал всё через Virtual Machine Manager: скачал в /var/lib/libvirt/images/ .iso нужного Linux, потом создал ему там диск qemu-img create -f qcow2 ubuntu2004.qcow2 128G (в этой версии virt-manager вместо динамических статические диски делает, вроде баг такой), после чего поставил и настроил ОС — ничего особенного, чтобы было что рассказывать.

  • Уже после установки выключил ВМ и переделал её на использование GVT-g, сначала забекапил конфиг virsh dumpxml Ubuntu > Ubuntu-backup.xml, после чего открыл на редактирование через virsh edit Ubuntu, и там вот что сделал:

  • Заменил первую строку конфига <domain type='kvm'> на <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

  • Удалил все устройства <graphics> и <video>, после чего добавил нужные мне:

    <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci' display='on'>
      <source>
        <address uuid='a3356d9c-35e6-4f1a-aac9-b075e5cb5d1c'/>
      </source>
    </hostdev>
    <graphics type='spice'>
      <listen type='none'/>
      <gl enable='yes' rendernode='/dev/dri/by-path/pci-0000:00:02.0-render'/>
    </graphics>
    <video>
      <model type='none'/>
    </video>
  • После сохранения конфига и старта ВМ всё работает, более ничего настраивать не нужно.

P. S.: X11 на хосте потому, что ещё я VirtualBox использую, а он с Wayland не дружит; а ядро у гостя lowlatency потому, что так звук на проброшенной USB звуковой карте не глючит.

>>> Просмотр (1920x1080, 417 Kb)

 , , , ,

Vsevolod-linuxoid
()

А посоветуйте что посмотреть/послушать из англоязычного

Форум — Talks

Главное чтобы не было слишком много драмы, бандюков и войнушки. Порнуху тоже не предлагать как и фильмы/сериалы где порноконтента слишком много (Щепка, Игра Престолов - хорошие примеры такого вида фильмов/сериалов). Пойдёт почти что угодно, в приоритете что-то что позволяет хорошо отвлечься от грустной реальности и отдохнуть, ещё лучше если оно затягивает. Обязательное условие - оригинальная англоязычная озвучка с нормальным английским (не индусы и прочие товарищи которые говорят на каком-то своём инглише). Хочется потренировать свою распознавалку устного английского, а то я понял что она просела и я стал напрягаться во время прослушивания англоязычной речи (когда-то я много времени проводил изучая английский, а позже слушая англоязычных челов и иногда общаясь с ними, но то было давно и неправда). Из жанров что-то, что повышает настроение или как минимум не портит его. Рассматриваю все варианты, кроме май литтл пони, т.к. лошадок люблю только в гастрономическом плане, да и слишком детский контент мне не заходит.

Потыкался пару часов в кинопоиск и imdb и ничего интересного не заметил, в топе одни фильмы про бандитов и драмы, ну или то что я смотрел уже, а развидеть и посмотреть по новой не получается. (

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

 , , ,

peregrine
()

Как правильно включить/выключить гибридный усилитель?

Форум — Talks

Вот такой: https://www.ebay.com/itm/274889043037?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649

А то пару ламп похоже уже спалил..

Подскажите пожалуйста

 

eg0_dist0rti0n
()

Новая версия регулятора для бормашинок, с поддержкой оборотов

Новости — Hardware and Drivers
Группа Hardware and Drivers

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

Те, кто пользуются сетевыми бормашинками, знают что на низких оборотах они совсем «не тянут». Поэтому на замену стандартного регулятора был разработан «валшэбный», который умеет определять скорость через противоЭДС. То есть не нужно устанавливать датчик оборотов - просто меняем плату и всё.

Что нового:

  • Разведены платы под новые модели бормашинок (старые хильды уже не выпускают)
  • Односторонний монтаж SMD (проще собирать)
  • ADRC-control вместо PID (намного лучше отрабатывает всякие неравномерности характеристик)
  • Улучшена калибровка

Несмотря на кажущуюся сложность, регулятор относительно прост для повторения. Платы и детали заказываются в полтора клика через EasyEDA, остается только собрать и прошить по USB.

Кому интересно - в документации расписана вся математика.

>>> Подробности

 speed control,

Vit
()

Посоветуйте паяльник (и всё остальное), тред номер 145

Форум — Talks

В очередной раз пытаюсь вкатиться в (по большей части цифровое) радиогубительство и транзисторошлёпство в домашних условиях.

Каждая из предыдущих попыток обламывалась на том месте, что мне катастрофически не хватает инструмента для решения даже самых простейших и постоянно возникающих проблем. У меня есть абсолютный минимум, который у меня появился ещё примерно в середине школы — китайский паяльник с регулировкой температуры и парой жал (острое и конусно-плоское), пара хреновых пинцетов и какой-то минимум расходников типа катушки ПОС-61, баночки спиртоканифоли и мотка китайской оплётки для выпайки. Ещё есть микродрель Proxxon формата а-ля Dremel и мультиметр UNI-T, который практически неюзабелен для диагностики, т. к. режим прозвона у него работает с лагом в почти секунду.

Этого достаточно, чтобы спаять провод или напаять гребёнку пинов на сраную ардуину, или чтобы с горем пополам собрать плату на 1206-х компонентах и каком-нибудь SOIC/TQFP (и понадеяться, что всё заработает с первого раза, чего разумеется не происходит), но делать что-то более сложное, чинить свои же косяки или заниматься ремонтом либо невозможно, либо максимально неудобно. Под «ремонтом» я разумеется понимаю не уровень коммерческой микроэлектроники, а простейший ремонт — уровень тех же ардуинок, демоплат и т. п. Перепаять случайно сожжённый линейный стабилизатор, заменить потенциометр со скрученной головой (при этом не убив остаток платы), всё такое.

Вторая проблема в том, что я плохо представляю, что конкретно мне вообще нужно. Я знаю, что мне нужен более удобный паяльник, наверняка фен, что-то для крепления плат на весу, какие-нибудь пинцеты, какие-нибудь расходники и средства их хранения — но я не знаю никакой конкретики, а вариантов слишком много.


Посоветуйте мне, пожалуйста, набор юного бойца с упором на сборку собственных устройств (а не просто ардуиноложство) и диагностику/ремонт/демонтаж. Меня интересует абсолютно всё — паяльные инструменты, ручные инструменты, диагностические инструменты, какие-то quality-of-life приспособления, рекомендации по маркам и видам расходников. Годные обстоятельные статьи тоже принимаются.

И да: существуют ли вообще промежуточные варианты между махровым китаем с алиэкспресса и профессиональным инструментом за сотни нефти? Меня интересуют именно они. Ковыряться в продуктах жизнедеятельности китайцев нет абсолютно никакого желания. Бюджет 100к на всё кроме диагностического инструмента и ещё 100к на всякие осциллографы и иже с ними.

 , , ,

intelfx
()