LINUX.ORG.RU

Сообщения shatsky

 

GPLv3+, говорите?

https://itsfoss.com/hippocratic-license/

Для Ъ: пока продолжается столлмангейт, небезызвестное Эмке выкатило новую лицензию (пока что на основе MIT), в которую добавлен запрет использования ПО лицами, поддерживающими дискриминацию меньшинств (в самом широком смысле). Естественно, авторитетные организации отказались признать такую лицензию свободной, на что Эмке заявило

OSI and FSF are not the real arbiters of what is Open Source and what is Free Software.

We are.

 , , ,

shatsky ()

Про PCI host bridge и 00:00.0

Чем на самом деле является присутствующее во всех x86 системах PCI устройство 00:00.0 с классом 0x060000 и как оно используется? Обычно пишется, что это хост бридж/драм контроллер, но хост бридж было бы ожидаемо увидеть как родительский узел иерархии PCI без собственного адреса на downstream шине, а при обращении процессора к памяти PCI уж точно не используется. Это какое-то устройство для доступа к регистрам настоящего моста CPU-PCI/CPU-RAM, который сам по себе «прозрачен»?

Правильно ли я понимаю, что текст в документации ядра: «For example, there's no standard hardware mechanism for enumerating PCI host bridges, so the ACPI namespace must describe each host bridge, the method for accessing PCI config space below it, the address space windows the host bridge forwards to PCI (using _CRS), and the routing of legacy INTx interrupts (using _PRT).» относится к появившемуся с появлением PCIe memory-mapped механизму взаимодействия с хост-бриджем и доступными через него устройствами, а до этого было достаточно стандартных I/O портов и APCI вообще не был необходим?

Перемещено leave из talks

 , , ,

shatsky ()

Конвертер HDMI-VGA и Freesync

Купил сабж (на EP94Z1E, https://www.kirich.blog/obzory/58-konverter-hdmi-vga.html), подключил старый VGA монитор к проброшенной в виртуалку RX 470. И вот что странно: я не вижу тиринга в играх, когда FPS плавает между 30 и 60 (если верить MSI Afterburner и субъективным ощущениям). Это работает при выключенном vsync и включенном FPS limit. Если выключить последний - тиринг появляется. Если включить vsync - начинает резаться до 30, когда игра не может выдать все 60. Возможно ли, что в конвертере реализован некий инженерный хак, позволяющий получить результат эвкивалентный работе freesync?

Насколько я понимаю, в VGA передается синхросигнал в зеленом канале, не значит ли это, что можно заставить VGA монитор работать с переменной частотой, если интервал этого сигнала сделать переменным?

 ,

shatsky ()

Все крашится

Попытался использовать kvm, на который рассчитывал при покупке железа. Все крашится с наиразнообразнейшими ошибками - сегфолты, ошибки распаковки initramfs, kernel panic с руганью на адрес в RIP, отсутствие нужных символов в либах. Похоже на memory corruption или проблему с трансляцией адресов, но мемтест ничего не обнаруживает. Попробовал на всякий случай выключить VT-d, убрать относящиеся к iommu аргументы ядра, выгрузить модули virtualbox - ничего не помогло. В qemu без kvm работает. В virtualbox тоже все работает - а он ведь использует VT-x, и даже не может 64-разрядные VM без него. Ну и на хосте никаких проблем не было. Ядро 4.14.95, NixOS (хотя что тут может от дистра зависеть-то), Xeon E3-1225 v2, плата ASRock H61M-DGS. Нагуглить ничего релевантного не выходит, проявления выглядят уж слишком разнообразно. Может, кто-нибудь знает, что это может быть? Дефективное железо? Но тогда почему больше нигде это не проявляется?

ЗЫ еще сначала был странный звоночек - виртуалка не запускалась с руганью на занятость /dev/kvm, в dmesg сыпались каждый раз ошибки вида «kvm: enabling virtualization on CPU0 failed». Вылечилось перезагрузкой.

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

ЗЫ3 обновление ведра до 4.14.109 помогло. Похоже, столкнулся с https://bugzilla.kernel.org/show_bug.cgi?id=202419

Перемещено Dimez из talks

 , , ,

shatsky ()

Про архитектуру display manager'ов

Почему разработчики решили, что запихнуть логику управления местами в главный процесс display manager'а и забить на возможность одновременного запуска нескольких его экземпляров хорошая идея? Попытался сделать для LightDM instantiated сервис (lightdm@.service, чтоб запускать/останавливать по отдельности lightdm@seat0, lightdm@seat1) с костыльными конфигами, в которых для всех мест кроме управляемого текущим экземпляром команда запуска иксов переопределяется на false - не сработало, второй экземпляр ругается на невозможность занять имя на шине DBus. Судя по документации, все основные альтернативы работают так же. Кто-нибудь знает юзабельную?

 ,

shatsky ()

Про поддержку Intel IOMMU (VT-d) со стороны материнской платы

Где почитать про то, как именно используются эти самые DMAR таблицы и как так вышло, что без поддежки платы IOMMU невозможно использовать даже для проброса устройств, подключенных напрямую к процессору? Судя по структурной схеме моей платы, как минимум PCIe x16 слот подключен напрямую к контроллеру PCIe 3.0 в процессоре.

 ,

shatsky ()

Про кривизну VT-switching/KMS/иксов

Понадобилось переключиться в другой vt, иксы блокируют Ctrl+Alt+Fx. Выполняю sudo chvt 1. Ничего не происходит. strace показывает, что был выполнен сисколл VT_ACTIVATE 1 на /dev/tty0. В /sys/class/tty/tty0/active tty1. Не трогая клавиатуру переключаюсь в текстовый редактор, набираю текст, ввод которого в консоли залогинил бы меня и выполнил бы парочку команд в шелле. В эмуляторе терминала выполняю sudo chvt 7. Смотрю процессы - так и есть, на tty1 запущен шелл, команды выполнились. Безобразие. Зато у ретроградов никаких претензий.

Насколько я понимаю, средств для revoke дисплея и устройств ввода у ядра нет и не планируется, и даже поступление VT_RELDISP от процесса, контролирующего source vt, находящийся в KD_GRAPHICS, оно не проверяет перед тем, как сменить /sys/class/tty/tty0/active и начать передавать события ввода запущенному на target vt процессу. И это еще мультисита нет.

 

shatsky ()

Просьба к имеющим установленную L4D2 на убунте

Сообщить, сегфолтится ли игра при попытке подключения к серверам:

46.174.52.14:27216
185.248.102.39:27020

 ,

shatsky ()

Рабочее место в 20 метрах от системника

Есть один домашний недосервак/рабочая станция с мультиситом, нужно сделать два (в идеале) места для полноценной работы с ним в соседней комнате. Также нужна возможность в случае работы с ноутом там же подключаться к гигабитной сети. Сейчас между точками проброшена пара 20-метровых UTP Cat5e (можно заменить на более высокочастотные/помехозащищенные). Вариантов решения много, но все они хуже.

1. 20м HDMI.
+ должно просто работать
- на дешевые кабеля (от 20 долларов) много жалоб, дорогие ближе к сотне
- сложно прокладывать в уже благоустроенном доме - толстый, с большим радиусом изгиба, с розетками тоже непросто
- куча разного вида кабелей, превышающая мой предел терпимости к элементам киберпанка в интерьере

2. Передавать видеосигнал по витой паре.
+ минимум кабелей; витая пара одновременно для LAN и прямого подключения периферии не нужна - можно будет переключать в зависимости от задач
2.1 Пассивные переходники HDMI-8P8C или DVI-8P8C, пример https://www.aliexpress.com/item/Kebidu-Professional-4k-RJ45-Ports-HDMI-Extend... .
+ копеечная стоимость
- непонятно, как это вообще может работать (но в отзывах многие пишут, что с добротной витой парой на 15-20м работает)
2.1.2 Аналогичные переходники для передачи по двум кабелям, пример https://www.aliexpress.com/item/1-Pair-HDMI-Dual-RJ45-CAT5E-CAT6-UTP-LAN-Ethe...
- два места одновременно никак не сделать; хотя это может быть единственным реально работоспособным сверхдешевым вариантом
- в отзывах пишут, что при неправильном подключении легко спалить технику
2.1.2.1 Возможно, переходники для передачи по двум кабелям можно использовать наоборот - для превращения HDMI-розеток в пару Ethernet.
2.2 HDBaseT
+ имеет хорошую репутацию, популярен в узких кругах на реддите
- просто конская цена за пару трансмиттер-ресивер
- возможно, очень ограниченный ресурс относительно недорогих устройств; даже на не ноунейм Monoprice за $100 (без стоимости пересылки из США, и это считается дешевым решением данного типа) жалуются, что он после года работы умирает (возможно, лечится установкой более массивных радиаторов и не столь критично для видеопотока дисплеев с разрешением ниже 1080p).

2.3 Передавать сжатый видеопоток по витой паре поверх TCP/IP
+ теоретически возможно передавать по тому же кабелю еще и сигналы устройств ввода
- артефакты сжатия
- латентность?
- необходимость покупать еще более сложное узкоспециализированное активное оборудование, умеющее кодировать-декодировать сжатый видеопоток, либо дополнительная вычислительная нагрузка на сервер и тонкий клиент
- хороших свободных решений[, насколько мне известно, ]нет.

Занимался ли кто-нибудь из ЛОРовцев подобным? Я собираюсь начать с пассивных переходников HDMI-8P8C, вдруг для моего недоHD хватит.

 , ,

shatsky ()

Ссылки в 2gis

Пригляделся к хвостам урлов организаций в каталоге:

https://2gis.ua/odessa/firm/1970853118808894?refHash=cff0a38e-b330-43b7-a299-...*%2Fpage%2F5038%2Fpage%2F1

Задумался, что там делает cat /etc/passwd и подозрительно выглядящий кусок raw SQL, законцованный комментарием. Посмотрел с соседней машины - никаких хвостов. Перезагрузил каталог у себя - тоже никаких хвостов.

 

shatsky ()

Гуглоаккаунт опасносте?

Включил двухфакторку, получил тестовый код, решил перелогиниться. Гугл просит код - телефон молчит. Проходит несколько минут - ничего. Через минут 5 попыток повторить отправку код пришел. Смска в обычном формате гугла, в поле отправителя - альфанумерическое имя «Google». Залогинился. Через минут 10 начинает приходит тот же код. Уже без сопроводительного текста, отправитель - левый номер одного из опсосов незалежной. Потом еще раз, с другого номера. Потом еще два раза, со странных альфанумерических имен «centroBu» и «ABANDON». Что это могло быть? Гугл борется с потенциальной блокировкой своих смсок по альфанумерическому имени?

 ,

shatsky ()

Про качество оптимизации

Есть безобидный запрос

SELECT DISTINCT messages.contact_id FROM messages WHERE messages.failed != true AND messages.timestamp_sent > какое-то значение
Обычно он выполняется 2 секунды, но иногда - все 10 минут. Как выяснилось, при некоторых значениях фазы луны^W^W timestamp_sent оптимизатор решает, что использовать очевидный индекс timestamp_sent ни к чему, и использует contact_id, который вроде бы никак ускорить выборку не может. А если использовать USE INDEX - вообще никакой не использует. И только с костыльным FORCE INDEX понимает, достигая требуемых 2 секунд.

Еще я недавно столкнулся с тем, что оптимизатор подзапрос, выбирающий общий для всего запроса набор ключей, который в памяти теоретически занимает менее мегабайта, иногда (тоже в зависимости от значения datetime-поля) решает вместо однократного выполнения перед запросом (MATERIALIZED) выполнять для каждой строки выборки (DEPENDENT SUBQUERY), увеличивая время выполнения запроса с секунд или минут до более суток.

Главный вопрос: оптимизация MySQL/MariaDB настолько говно, или я чего-то не понимаю? Если первое, то есть ли смысл валить на PostgreSQL?

 , ,

shatsky ()

Бесплатный OpenShift Online все?

Очередной день пытаюсь перенести проекты на v3. Вроде бы разобрался, что да как, но снаружи ничего не открывается. В веб-консоли у маршрута крутится бесконечный спиннер с сообщением о его неготовности The route is not accepting traffic yet because it has not been admitted by a router. В выхлопе oc status ошибка route/<название маршрута> is routing traffic to svc/<название сервиса>, but either the administrator has not installed a router or the router is not selecting this route. Там же предлагается использовать команду oc adm router, но с --dry-run она сообщает об отсутствии роутера сообщением error: Router "router" service does not exist", а при попытке создать его выдает увлекательные сообщения, выдача гугла по которым наводит на мысль, что делать такое могут только администраторы сервера OpenShift.

Тут вроде как были пользователи OpenShift Online Starter, у кого-то что-то работает?

 

shatsky ()

Оффлайн навигация

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

 

shatsky ()

Про системы редактирования генома

Периодически слышу о том, что CRISPR/Cas9 невозможно довести до клинического применения из-за неустранимой нецелевой активности на участках, отличающихся от целевого одним или несколькими нуклеотидами. И каждый раз вспоминаю про хэширование. Были ли попытки найти решение, которое реализует некий химический аналог хэш-функции, чтобы избежать вырезания нецелевых участков? Какие проблемы есть на этом пути?

Cast DNA_Seq

 

shatsky ()

Buran.ru хотят закрыть

https://geektimes.ru/post/291403/

Ъ: на создателя хорошего, годного сайта наехали владельцы товарного знака «Буран». Похоже на семейные разборки, бывшая жена при делах.

 

shatsky ()

Есть ли хоть одна причина...

...по которой в 2017 году в линуксе нет штатного механизма ограничения минимального размера памяти, доступной для буферизации/кэширования, чтобы при ее исчерпании не приходилось черт знает сколько смотреть на unresponsive систему и ждать, пока процессы не попробуют использовать еще больше, вызвав срабатывание oom-killer, или не освободят занятую? Или я неправильно понимаю причины этого раздражающего явления?

Inb4: просто увеличь swap. Нет, я хочу, чтобы описанная ситуация была в принципе невозможной.

 ,

shatsky ()

Вытащить текст из PDF с невидимыми лишними пробелами

Имеется PDF, при копировании/извлечении текста он получается с многочисленными лишними пробелами в словах. Есть что-нибудь готовое для решения задачи? Логика вроде бы проста: если координата whitespace-символа совпадает с координатой другого символа, также попавшего в selection, символ следует выкинуть.

 

shatsky ()

Разработчики Mesa предлагают выкинуть драйвер i915 из mainline

Пруф: https://lists.freedesktop.org/archives/mesa-dev/2017-May/156896.html

Это так символично: стоило одной части коммьюнити избавиться от зондов в железке, более-менее пригодной для современных задач, как другая часть коммьюнити уже выкидывает дрова для устройств, необходимые для полноценного использования этой железки. Я про Thinkpad'ы на gm45, если что.

 

shatsky ()

Поставил Fedora Workstation

Я, конечно, знал, что Wayland - это лишь протокол взаимодействия дисплейного сервера с клиентами и библиотеки с реализацией собственно протокола для использования в композиторе и клиентах. Понятное дело, что архитектуру DE можно реализовать как угодно. Я слышал, что у гнома свой композитор, но реальность превзошла все ожидания. Композитором у них является gnome-shell. Mutter, который много где упоминают, на самом деле является библиотекой композитора, которую юзает gnome-shell. Фактически, они объединили в одну точку отказа дисплейный сервер, менеджер окон и кучу UI-кода, в которой даже JS-движок имеется. Он, конечно, относительно стабилен, иначе его бы не выкатили в стейбл. Но все же уронить его нетрудно. Или повесить - например, если открыть меню значка приложения в апп гриде, а затем вернуться к окнам, используя тач, то шелл перестанет давать окнам события ввода.

Кроме того, я был удивлен, обнаружив, что у Wayland нет протоколов конфигурации, позволяющих реализовать унифицированные утилиты для управления вроде xrandr/xinput. Разработчики композитора могут реализовать управление настройками как им вздумается. Можно пытаться воздействовать на нижестоящие части стека, но это неудобно, и, например, mutter до 3.24 каким-то образом игнорирует матрицу калибровки тачскрина libinput.

Какие существенные причины воспрепятствовали решению, в котором дисплейный сервер/композитор минималистичен, а весь прочий shell UI, в том числе декорации на окошки с красивостями, если они нужны, рисует кто-то другой?

Дискасс

 , ,

shatsky ()

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