LINUX.ORG.RU

Форум

Активные теги:

 , , , , , , , , , , , , , ,

Иконка уведомлений теряется и логика уведомлений

 , , ,

@maxcom

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

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

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

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

rumgot
()

Pixel и firefox

 , , , ,

Есть pixel 3, андроид 12, новый, только что восстановленный, муха не сидела, в гугле не авторизовался. На него установлен f-droid а через него установлен fennec. Не запускается. Говорит «хочешь отправлю отчёт?». Но после отправки отчёта всё равно не запускается.

Гугль сказал что может быть apk не под ту архитектуру, но f-droid не предлагает выбора архитектур. Сказал что фенеку требуется что-то от гугль сервисов, но удалялись только гугль-видео/музыка/ютуб. Авторизации нет, но есть более старый телефон в котором тоже авторизации нет но фенек работает.

Установлено LineageOS (22.2, андроид 15). Не столько из-за фенека, сколько из-за того что гугль раз в сутки напоминал что у него не авторизовались. Да, все в курсе, можно было и не напоминать. Но фенек всё равно не заработал.

Можно ли ещё подёргаться (и как) или можно смириться?

sin_a
()

Про состояние векторизации в последних версиях компилятора

 , , ,

Я обычно говняю ржавую мерзость за мерзотный синтаксис, но вот на этой конференции мне понравилось послушать про это вселенское зло:

Видео с конференции С++ Russia. Называется «производительность языка Rust» https://www.youtube.com/watch?v=g9mjctBfo5c

Заявляется, что проверки индексов не дают ржавому векторизовать циклы. Что вообще указывает на какой-то недостаток в архитектуре существующих компиляторов. Я погуглил что-нибудь на эту тему, нашел вот такую ссылку: https://www.nickwilcox.com/blog/autovec/ где автор пытался заставить компилятор работать по человечески на вот таком вот банальном коде

pub fn mix_mono_to_stereo(dst: &mut [f32], src: &[f32], gain_l: f32, gain_r: f32) {
    for i in 0..src.len() {
        dst[i * 2 + 0] = src[i] * gain_l;
        dst[i * 2 + 1] = src[i] * gain_r;
    }
}

Посмотрел на выхлоп компилятора, потом накидал похожий код на С++, посмотрел что выдает llvm, gcc… В общем, llvm генерит что-то совершенно демоническое. GCC делает компактный код, но к сожалению совсем не векторит, а впридачу ко всему еще и хрень какую-то творит, например грузит одно и тоже значение дважды из памяти. И проверки индексов тут явно ни при чем. Оно просто генерит дерьмо.

Что должен был сделать векторизатор здорового человека? Для начала предположить что цикл будет пердолиться долго, и подготовить операнды.

#вариант1:
    punpcklps xmm0,xmm1
    movlhps   xmm0,xmm0
#вариант2:
    pshufps   xmm0,xmm0,0
    pshufps   xmm1,xmm1,0

затем оценить сколько данных на входе:

    cmp edx,4
    jb  loop_x1
    sub edx,4
loop_x4:

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

#вариант1:
    movups    xmm2,[rsi]
    movaps    xmm3,xmm2
    pshufps   xmm2,xmm2,0b01010000
    pshufps   xmm3,xmm3,0b11111010
    pmulps    xmm2,xmm0 ;первые 2 пары
    pmulps    xmm3,xmm0 ;вторые 2 пары
    
#вариант2:
    movups    xmm2,[rsi]
    movaps    xmm4,xmm2
    pmulps    xmm2,xmm0
    pmulps    xmm4,xmm1
    movaps    xmm3,xmm2
    punpcklps xmm2,xmm4 ;первые 2 пары
    punpckhps xmm3,xmm4 ;вторые 2 пары

Кстати можете прямо щас посмотреть на выхлоп аналогичного «векторизованного» кода на С++ или расте и ужаснуться. Насколько же он, черт подери ужасен. Дальше надо данные записать. Можно сразу проверить каким-то образом что место в буфере есть, этот момент я упущу потому что мне решительно лень и вообще я уверено что разобраться сравнить число с 4 и сделать условный переход каждая собака умеет. А запись вообще-то можно сделать той же командой movdqu. Она на современных процах вполне рабочая. Дальше мы увеличиваем rsi на 16, уменьшаем edx на 4 и делаем jno loop_x4, иначе add edx,4 + jmp loop_x1.

Если бы современные компиляторы не были такими наркоманскими внутре, то реализовать подобный оптимизатор для них можно было бы например за ~20 ящиков хорошего пива. Цикл короткий, мы видим отношение выхода ко входу фиксированно 2 к 1 и повторяется монотонно и шаг итерации 8 байт, или половина регистра. Значит строительная единица - 2 умножения , один вход повторяется, другой чередуется и это повторяется два раза чтоб работать с 16 байтами. Это компилятор сделать смог бы. То есть мою логику абстрактаный компилятор повторить мог бы без каких-то запредельно сложных алгоритмов. Причем не только с массивом, но и например с матрицей и возможно даже со списком или строкой если там внутре не будет какого-то лютого ветвления и логики. Если добавить маскируемые векторные команды, которых в x86 нету в нормальном виде, дело пойдет еще проще.

В случае с проверкой индексов, можно как-то научить компилятор делать выводы, например что если индекс нарастает монотонно, то в векторизованном цикле надо сразу проверять его на N-кратное увеличение. Опять же, это не нерешаемая задача.

ckotctvo
()

Вставка картинок на ЛОР

 , ,

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

Mishahack
()

eBPF - применение на практике

 , , практическое применение

Кто-нибудь реально применял eBPF на практике?

Действительно ли оно так безопасно, как заявлено? (всё-таки в ядро тыкаемся, не куда-нибудь)

Насколько сложно иметь с ним дело?

DeVliegendeHollander
()

А когда дюна Ваха?

 

Ибо

С одной стороны человек не особо то нужен

С другой стороны мы тонем в мусоре

И вообще у меня ии фобия. Мы все умрём! Точнее станем не нужными

bga_
()

Мнение

 , , , ,

Привет ребят. Просто как новичка интересует среднее мнение по палате.

  1. Каким рабочим окружением и ос пользуетесь?

  2. Какой ос пользуетесь и с какой впервые ознакомились с линукс?

  3. Какие ос или граф оболочки могли бы советовать на постоянную основу?

finn1mioko
()

Wayland обгоняет X11 в играх на NVIDIA в KDE Plasma 6.7

 , , ,

Phoronix сравнил производительность сеансов Wayland и X11 в KDE Plasma 6.7.2 на видеокарте GeForce RTX 5090 под CachyOS. В большинстве игровых тестов сеанс Wayland оказался быстрее или наравне с X11, особенно в нативных OpenGL-играх, при почти равном результате в Cyberpunk 2077 через Proton. То есть даже там где игра запускается через xwayland, Wayland выдаёт больше фпс.

Источник

AleksK
()

Как назначить команды клавишам

 

Мне нужно, чтобы при нажатии и удержании 1 (не numpad) нажималось и удерживалось колёсико мыши, а при нажатии 2 колёсико + Shift, а 3 чтоб равнялось колёсико + Ctrl

Для винды мне чат за секунды скрипт написал для AutoHotkey. И ещё разные варианты накидал, чтобы отключалось по Alt или включалось по Capslock и при этом не влияло на регистр. Как профи всё сделал. Работает превосходно.

Для Linux посоветовал Xbindkeys, оно не работает как надо (как клик работает, а удержание не работает), но при этом клавиши 123 отрубились, как и должно быть. Я написал чату, мол 123 не работает, но колёсико не нажато. Чат был фшоке что они отрубились и давай мне наваливать теории почему клавиши не работают (а они и не должны по-идее! мы ведь всё делали для этого) и способы решения проблемы. Короче абсурд.

Что посоветуете?

Alt-k-11, X

===================

Всё. Решено. Чат всё-таки раздуплился и решил. Не знаю, будет ли это интересно, но прошлый сеанс с чатом был анонимный, я не логинился, поэтому ничего не сохранилось, но там я подробно описал что это и зачем мне это нужно. Это всё не сохранилось. Захожу второй раз, максимально кратко описываю задачу, 0 подробностей, а он мне из предыдущего разговора уже выкатывает, зачем это вообще может быть нужно. Запоминает )). Короче вместо Xbindkeys посоветовал sxhkd и объяснил, почему в моём случае это будет работать, а xbindkeys работать не будет.

rechnick
()

Настройка snmp.conf

 

Нужно вычислить нужный OID для того чтобы создать элементы данных в мониторинге zabbix. Опрашиваю устройство при помощи консольной утилиты snmpwalk

Получаю простыню

$ snmpwalk -v 2c -c public 192.168.88.254 .
iso.0.8802.1.1.2.1.1.1.0 = INTEGER: 30
iso.0.8802.1.1.2.1.1.2.0 = INTEGER: 4
iso.0.8802.1.1.2.1.1.3.0 = INTEGER: 2
iso.0.8802.1.1.2.1.1.4.0 = INTEGER: 2
iso.0.8802.1.1.2.1.1.5.0 = INTEGER: 5
iso.0.8802.1.1.2.1.1.6.1.2.1 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.2 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.3 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.4 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.5 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.6 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.7 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.8 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.9 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.10 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.11 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.12 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.13 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.14 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.15 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.16 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.17 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.18 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.19 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.20 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.21 = INTEGER: 3
iso.0.8802.1.1.2.1.1.6.1.2.22 = INTEGER: 3

Но мне нужны не OID, а имена ключей, иначе ничего не понятно. Скачал MIBS для моей железки, разместил их в каталоге /var/lib/mibs/external, прописал этот каталог в опции mibdirs файла /etc/snmp/snmp.conf

так нужно же ещё опцию mibs поправить

по умолчанию

mibs :

меняю на

mibs +ALL

Теперь snmpwalk выдаёт

Cannot find module (SNMPv2-MIB): At line 1 in (none)
Cannot find module (IF-MIB): At line 1 in (none)
Cannot find module (IP-MIB): At line 1 in (none)
Cannot find module (TCP-MIB): At line 1 in (none)
Cannot find module (UDP-MIB): At line 1 in (none)
Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none)
Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none)
Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none)

Гугл говорит, что это от того что snmp кроме нужных MIBS читает ненужные, но не говорит, что нужно прописать snmp.conf Прошу совета

sunny1983
()

ubuntu-drivers list пуст

 

10:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)

ubuntu-drivers devices выдает пустой список.

ubuntu-driver-common переустанавливал.

систему 24.04 апгрейдил

apt install nvidia-driver-390 заканчивается ошибкой:

Errors were encountered while processing: nvidia-dkms-390 nvidia-driver-390 E: Sub-process /usr/bin/dpkg returned an error code (1)

Устаовка NVIDIA..340..run заканчивается подобной ошибкой.

Драйвер нужен для разрешения 2К

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

valentin630
()

Геймпад

 , ,

Не могу нормально заставить свой геймпад работать. Flydigi Dune Fox. Новичок в линуксе но уже перепробовал и гайду с инета и иишку спрашивал. подключается и не работает. Порой в первую секунду детектится и можно что то нажать но после вновь не вводит ничего. Сам геймпад в устройствах виден

finn1mioko
()

Krbn — генератор технических рисунков

 ,

Некий Valeriu Paloş снейрослопил генератор технических рисунков на Typescript: https://github.com/vpalos/krbn (MIT). Так что да — минимум дважды ненужно :)

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

Хорошо подошло бы для какой-нибудь технической вёрстки в LaTeX.

static_lab
()

Распределенный доплеровский радар. Покритикуйте.

 

  1. Источник - мобильные вышки, сигналы отражаемые от атмосферы, сигналы отражаемые от поверхности Земли, радио, тв, дециметровые источники, может быть метровые источники, источники полураспада синхронизированные в лабораториях.
  2. Приемник, дроны, воздушные шары, наземные источники. автомобили, самолеты, любительское радио, мешстатик, вайфай.
  3. Время для синхронизации, GPS, наземные станции, небесные источники, атомные часы, алгоритмы смещения. Синхронизация по длине нити оптоволокна.
  4. Свзяь приемника источника нить оптоволокна, вайфай, отражение от земли. Цель - ранее предупреждение.

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

splinter
()

Разработчик из OpenMandriva дропнул часть репозиториев проекта и сломал роллинг.

 , ,

Команда OpenMandriva обвинила бывшего участника проекта Давиде Беатричи в удалении части репозиториев с GitHub и публикации вредоносного пакета в Cooker - разрабатываемой ветке дистрибутива.

Ранее Беатричи предложил перенести репозитории OpenMandriva на принадлежавший ему сервер с OneDev и настроил их двустороннее зеркалирование с GitHub. После конфликта внутри сообщества он покинул проект, а сопровождающие начали отключать созданные им зеркала.


Суть конфликта: вместе с Беатричи в OpenMandriva пришли двое его коллег, один из которых оказался крайне токсичным человеком и часто переходил на прямые оскорбления в личной переписке. Из-за этой атмосферы проект OpenMandriva покинуло несколько контрибьюторов. После очередных оскорблений было решено убрать этого разработчика из команды, а Беатричи и его второй друг покинули проект в знак солидарности.


По заявлению OpenMandriva, сохранив административный доступ, Беатричи удалил часть репозиториев GNOME и COSMIC, а затем опубликовал пустой пакет, объявлявший устаревшими пакеты этих окружений. Установка обновления могла привести к их удалению из систем пользователей Cooker.

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

«Это ни в коем случае не саботаж. У меня не было цели навредить дистрибутиву, о котором я заботился», — заявил Беатричи

Беатричи косвенно связан с OneDev напрямую - он внёс около 70 действий - комментарии, коммиты, PR-ы, однако официальным разработчиком или членом команды он не считается.

PPP328
()

Plank, Cairo и т. д.

 , , ,

В продолжение темы про крысу
Сколько я смотрю на видео из серии «как сделать из буханки троллейбус [вставьте любое DE] Mac OS», везде написана какая то чушь и приходится делать все самому - так же получилось и с крысой.
В частности зачем-то ставят Plank и подобные доки, хотя любой полноценный рабочий стол предоставляет средства редактирования панелей и слепить док средствами DE не составит труда. Единственным случаем когда я ставил такой док являлся antiX, где кривой огрызок вместо рабочего стола. От этого закос под МакОС в подобном окружении лучше не стал, в посте про крысу я одной из причин сноса антикса указал тот самый возмутительный глюк Планка. А как Вы знаете, для меня обязательным ритуалом является сделать из любой системы и любого устройства сделать торт яблоко и antiX явно не подошел.
И к чему я это?.. Дорогие знатоки - вопрос, зачем Вы используете Plank и подобные ему программы, если можно сделать приличную док-панель средствами любого DE?

Mishahack
()

В сеть утекли исходники порта lorsource на Rust

 , , , ,

Правда я ещё не успел потестить, но гопатычи божатся, что всё сделали чотка.

Сейчас будет отпуск, обещаю отполировать.

lorsource-rust

Экспериментальный перенос ядра сайта LOR/lorsource со Scala/Spring MVC на Rust.

Стек проекта:

  • Rust 2021
  • Axum + Tokio для HTTP
  • SQLx + PostgreSQL для доступа к БД
  • Askama вместо JSP
  • tower-http для static files, /photos/*, gzip и trace middleware
  • Docker Compose для локального запуска

>>> Github

unclestephen
()

Технические работы 11 июля 2026

 

Завтра во второй половине дня (~16:00 MSK) планируются технические работы; время недоступности ~1 час.

maxcom
()

Более компактная шапка (хотя бы в мобильном режиме)

 

@maxcom а как ты смотришь вот на такой улучшайзинг?

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

Пример накидал в пеинте гимпе, не судите строго )) https://postimg.cc/d7L8wN3R

А в десктопном виде кнопки фильтра трекера можно разместить между логотипом и иконками справа (меню - всё так же, под бургер). Сразу большой колодец пустоты пропадёт, будет всё как-то покомпактнее.

aol
()

SRTP через libsrtp или libav?

 ,

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

Постепенно двигаюсь в реализации WebRTC, DTLS согласование с браузером выполнил через OpenSSL, для STUN/ICE использую libnice, в подключение которого нужно засовывать srtp пакеты.

Из опыта - даже rtp для rtsp не делаю сам, все через libav даже сетевой обмен - да, получаю ограничение в производительности на количество трансляций на один поток, но по ТЗ у меня их не больше 2х, пока сойдет.

Сейчас наделав кучу кольцевых буферов (в том числе для многопоточной реализации вебртс) стою перед задачей как из AVPacket наделать srtp пакетов для libnice - чисто архитектурный вопрос - через какую либу бы посоветовали???

wolverin
()

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