LINUX.ORG.RU

Сообщения amaora

 

Плоттер графиков GP

Сделал плоттер для анализа численных данных (начал в 2016). Да, не такой как остальные.

Это не клон gnuplot (хотя и называется GP), задачи отличаются. Раньше я использовал gnuplot, но после какого-то обновления не смог из-за медлительности на больших наборах данных и неудобного UI. А необходимые мне функции приходилось делать через жуткие и неудобные костыли.

Типичные задачи у меня для примера вот такие. Едем на е-самокате и записывает параметры с контроллера (отлаживаю контроллер BLDC) и отдельно записываем gps-трек. Таких данных может быть записано много, с разным набором выводимых параметров. И еще нужно синхронизироваться с gps-треком чтобы смотреть параметры и знать в какой момент это было. Может быть захочется сравнить разные проезды между собой.

Для быстрого анализа есть много хотелок к UI. Нужно наличие множества осей, slave-осей (не знаю как назвать, нигде похожего не видел), простых преобразований. Нужно много вариантов масштабирования, а не одно выделение прямоугольной области. И есть еще задачи для real-time построений.

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

Наверно можно было бы сделать все на python + matplotlib + tk. Но мне проще на C + SDL и так больше fps в тяжелых случаях.

Что он может:

  • Построение графиков из текстовых файлов с заголовком (или CSV).
    pm.lu_iD@A;pm.lu_iQ@A;pm.flux_H;pm.lu_wS_rpm@rpm;
    -0.000;-0.131;8;0.00;
    -0.000;-0.131;8;0.00;
    -0.000;-0.131;8;0.00;
    
    или из бинарных плоских файлов (блоки float).
  • Читать конфигурацию в которой можно задать чтение нескольких файлов одновременно, задать (или сгенерировать) много страниц с разными наборами фигур из разных файлов. Это удобно при регулярном анализе данных одинаковой структуры. И что-то еще.
  • Много осей на которые можно разбрасывать фигуры как из конфига так и из UI. Операции с масштабами осей.
  • Строить графики в real-time из нескольких асинхронных источников.
  • Простые опреации с данными, масштабы, вычитание, первые разности/суммы и т.п. Почти все операции могут работать в real-time.
  • Экспорт картинки в PNG и SVG.
  • Такие мелочи как fuzzy-поиск по спискам в UI, для тяжелых конфигураций с сотнями графиков.

Известные проблемы:

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

https://sourceforge.net/projects/graph-plotter/

Говорите ваше «ненужно».

 ,

amaora ()

Мультиплексирование USART

Есть устройство управляемое через последовательное соединение (ttyACM*,rfcomm*), с помощью CLI. Сделал там возможность вывода телеметрии, чтобы строить интересующие меня графики. Но это происходит синхронно, то есть работа CLI блокируется на время вывода. Делаю вот так в двух терминалах.

$ picocom -l ... /dev/rfcomm0
(sh) ...
(sh) tel_flush_sync
123,123,23,123, ...
345,345,22,234, ...
... # большой блок, выводится ~10 секунд

$ cat /dev/rfcomm0 | my_plot_tool

А хочется, чтобы через одно соединение и CLI и телеметрия непрерывно шла. Со стороны устройства могу выдать все, что понадобится. Но как это принять? Делать прослойку мультиплексор тоже плохо, убивается возможность работать напрямую через простой текстовый эмулятор терминала. Тогда можно сразу делать GUI с бинарным протоколом. А сейчас нет доступа к CLI пока выводится телеметрия, выводить хочется не кусками в всегда.

Как бы просто и красиво решить проблему.

 ,

amaora ()

GCC делает PIC но я его не просил

Собираю код на bare metal, свою платку с cortex-m4f. После обновления на 6.x.x, перестал собираться. Решилось добавлением -static, но после тестов оказалось, что не работает.

Оказалось новые версии GCC создают секции .got и .got.plt которые я не забрал в финальный бинарь, не указал их в ld скрипте. Прочитав про них я понял, что это таблицы адресов для динамического связывания. Но я не включал -fPIC.

Вопрос зачем и как отключить?

CFLAGS	= -static -std=gnu99 -pipe
CFLAGS	+= -mcpu=cortex-m4 -mthumb
CFLAGS	+= -mhard-float -mfpu=fpv4-sp-d16
CFLAGS	+= -Wall -Wdouble-promotion
CFLAGS	+= -O3 -g3
CFLAGS	+= -fno-math-errno
CFLAGS	+= -ffinite-math-only
CFLAGS	+= -fno-signed-zeros
CFLAGS	+= -fno-trapping-math
CFLAGS	+= -fno-hosted
CFLAGS	+= -fno-stack-protector
CFLAGS  += -I.

LDFLAGS	= -nostdlib
LDFLAGS	+= -Wl,-T,hal/$(SCRIPT).ld

Все исходники доступны компилятору, бинарных либ нет.

 ,

amaora ()

Как включить LTO

При сборке модулей добавляю -flto -fno-fat-lto-objects, при вызове ld ничего не добавляю, не знаю что надо, результат.

arm-none-eabi-ld: /tmp/pmc/hal/adc.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/hal/can.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/hal/hal.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/hal/pwm.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/hal/usart.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/ap.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/cml.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/lib.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/m.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/pmc.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/sh.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/task.o: plugin needed to handle lto object
arm-none-eabi-ld: /tmp/pmc/tel.o: plugin needed to handle lto object
/tmp/pmc/hal/entry.o: In function `__iRbssComp':
(.text+0x2a): undefined reference to `halStart'
/tmp/pmc/hal/entry.o: In function `__iRbssComp':
(.text+0x2e): undefined reference to `halMain'
/tmp/pmc/hal/entry.o:(.vectors+0x8): undefined reference to `irqNMI'
/tmp/pmc/hal/entry.o:(.vectors+0xc): undefined reference to `irqHardFault'
/tmp/pmc/hal/entry.o:(.vectors+0x10): undefined reference to `irqMemoryFault'
/tmp/pmc/hal/entry.o:(.vectors+0x14): undefined reference to `irqBusFault'
/tmp/pmc/hal/entry.o:(.vectors+0x18): undefined reference to `irqUsageFault'
/tmp/pmc/hal/entry.o:(.vectors+0x2c): undefined reference to `irqSVCall'
/tmp/pmc/hal/entry.o:(.vectors+0x38): undefined reference to `irqPendSV'
/tmp/pmc/hal/entry.o:(.vectors+0x3c): undefined reference to `irqSysTick'
/tmp/pmc/hal/entry.o:(.vectors+0x78): undefined reference to `irqDMA1_Stream3'
/tmp/pmc/hal/entry.o:(.vectors+0x88): undefined reference to `irqADC'
/tmp/pmc/hal/entry.o:(.vectors+0x90): undefined reference to `irqCAN1_RX0'
/tmp/pmc/hal/entry.o:(.vectors+0x94): undefined reference to `irqCAN1_RX1'
/tmp/pmc/hal/entry.o:(.vectors+0x98): undefined reference to `irqCAN1_SCE'
/tmp/pmc/hal/entry.o:(.vectors+0xa4): undefined reference to `irqTIM1_UP_TIM10'
/tmp/pmc/hal/entry.o:(.vectors+0xdc): undefined reference to `irqUSART3'
Makefile:57: recipe for target '/tmp/pmc/pmc' failed
make: *** [/tmp/pmc/pmc] Error 1

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

/usr/libexec/gcc/arm-none-eabi/ld: error: /tmp/ccs6XVoG.ltrans0.ltrans.o uses VFP register arguments, /tmp/pmc/pmc.1.o does not
/usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file /tmp/ccs6XVoG.ltrans0.ltrans.o
/usr/libexec/gcc/arm-none-eabi/ld: error: /tmp/ccs6XVoG.ltrans1.ltrans.o uses VFP register arguments, /tmp/pmc/pmc.1.o does not
/usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file /tmp/ccs6XVoG.ltrans1.ltrans.o
/usr/libexec/gcc/arm-none-eabi/ld: error: /tmp/ccs6XVoG.ltrans2.ltrans.o uses VFP register arguments, /tmp/pmc/pmc.1.o does not
/usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file /tmp/ccs6XVoG.ltrans2.ltrans.o
/usr/libexec/gcc/arm-none-eabi/ld: error: /tmp/ccs6XVoG.ltrans3.ltrans.o uses VFP register arguments, /tmp/pmc/pmc.1.o does not
/usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file /tmp/ccs6XVoG.ltrans3.ltrans.o
/usr/libexec/gcc/arm-none-eabi/ld: error: /tmp/ccs6XVoG.ltrans4.ltrans.o uses VFP register arguments, /tmp/pmc/pmc.1.o does not
/usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file /tmp/ccs6XVoG.ltrans4.ltrans.o
/usr/libexec/gcc/arm-none-eabi/ld: error: /tmp/ccs6XVoG.ltrans5.ltrans.o uses VFP register arguments, /tmp/pmc/pmc.1.o does not
/usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file /tmp/ccs6XVoG.ltrans5.ltrans.o
/usr/libexec/gcc/arm-none-eabi/ld: error: /tmp/ccs6XVoG.ltrans6.ltrans.o uses VFP register arguments, /tmp/pmc/pmc.1.o does not
/usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file /tmp/ccs6XVoG.ltrans6.ltrans.o
/usr/libexec/gcc/arm-none-eabi/ld: error: /tmp/ccs6XVoG.ltrans7.ltrans.o uses VFP register arguments, /tmp/pmc/pmc.1.o does not
/usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file /tmp/ccs6XVoG.ltrans7.ltrans.o
/usr/libexec/gcc/arm-none-eabi/ld: error: /tmp/ccs6XVoG.ltrans8.ltrans.o uses VFP register arguments, /tmp/pmc/pmc.1.o does not
/usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file /tmp/ccs6XVoG.ltrans8.ltrans.o
/usr/libexec/gcc/arm-none-eabi/ld: error: /tmp/ccs6XVoG.ltrans9.ltrans.o uses VFP register arguments, /tmp/pmc/pmc.1.o does not
/usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file /tmp/ccs6XVoG.ltrans9.ltrans.o
/usr/lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/lib/crt0.o: In function `_start':
/var/tmp/portage/cross-arm-none-eabi/newlib-2.4.0/work/newlib-2.4.0/newlib/libc/sys/arm/crt0.S:403: undefined reference to `main'
/tmp/pmc/hal/entry.o: In function `__iRbssComp':
(.text+0x34): undefined reference to `ldSdata'
/tmp/pmc/hal/entry.o: In function `__iRbssComp':
(.text+0x38): undefined reference to `ldEtext'
/tmp/pmc/hal/entry.o: In function `__iRbssComp':
(.text+0x3c): undefined reference to `ldEdata'
/tmp/pmc/hal/entry.o: In function `__iRbssComp':
(.text+0x40): undefined reference to `ldSbss'
/tmp/pmc/hal/entry.o: In function `__iRbssComp':
(.text+0x44): undefined reference to `ldEbss'
/tmp/pmc/hal/entry.o:(.vectors+0x0): undefined reference to `ldStack'
/tmp/ccs6XVoG.ltrans4.ltrans.o: In function `halStart':
<artificial>:(.text+0x9c0): undefined reference to `ldSvectors'
collect2: error: ld returned 1 exit status
Makefile:57: recipe for target '/tmp/pmc/pmc' failed
make: *** [/tmp/pmc/pmc] Error 1

Undefined reference это понятно, надо как-то объяснять, что функция вызывается из вне и выбрасывать ее нельзя.

В первом случае похоже никакого LTO нет, судя по времени работы ld и сообщениях о плагинах, но почему есть undefined reference? Во втором не знаю как сделать, чтобы компоновки не было, а только бы произошла оптимизация и генерация объектного кода, дальше я бы сам вызвал ld как мне надо.

Исходный Makefile.

 ,

amaora ()

Мультиплексирование ввода/вывода на голом железе

В некотором проектике есть встроенный шелл. Команды принимает из аппаратного USART порта, либо через другие интерфейсы. Вывод отдает туда же. Сейчас все реализовано вручную, на прерываниях и DMA. Никакой ОС с готовым механизмом синхронизации или блокирования задач нет. Так вот, вопрос, можно ли будет упростить код используя некую ОС, например freeRTOS. Мне кажется, что я получу больше проблем, чем их решу. Блокирование же надо самому будет делать.

Код

Немного подробнее о задаче. Все потоки байтовые, передается текст. У шелла есть два потока, на ввод и на вывод. Есть USART который тоже может на ввод и вывод. Сейчас они соединены перекрестно, выход одного на вход другого. Может появится другой порт, несколько сложнее чем USART, данные будут обернуты в пакеты. У него тоже будет ввод и вывод. И тогда понадобится соединить не два конца а три. То есть читать из одного места а записывать в два и наоборот. Это можно сделать и тем способом, что есть сейчас, но хочется сделать код простым и понятным, не обязательно за счет использования rtos.

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

Спасибо.

 ,

amaora ()

Кольцевой массив с доступом по диапазону индексов

Нужная такая структура данных. Массив фиксированной длины, с кольцевой индексацией. Из него надо делать выборку и добавление, но не по индексам а по диапазону индексов. Выборка означает получение суммы элементов от указанного до указанного. Добавление, ко всем элементам от указанного до указанного добавить указанное число. Эти две операции надо делать так быстро как возможно. Лишней памяти нет.

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

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

Спасибо.

 ,

amaora ()

Чем можно построить такой график

С множеством осей Y как вот здесь. Нужно именно больше двух.

И еще, давно хотел спросить, чем строить графики в реальном времени, по приходящим данным.

Спасибо.

 

amaora ()

Какой формат для документации выбрать

Для проекта на bitbucket приходит время писать документацию. Я знаю только plaintext, latex, и wiki. В первом нет форматирования, но он простой и его можно читать везде. Второй избыточен для моих задач, печатать на бумагу мне не надо, хотя формулы не помешали бы. По третьему сомнения, как его смотреть offline без лишних движений, ну и это новый для меня язык разметки, который я не знаю.

Спасибо.

 

amaora ()

Найти позицию первого несовпадения двух строк

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

Это как-то делается с помощью str* функций из libc или надо вручную?

Спасибо.

 

amaora ()

Чем можно генерировать код вычисления выражения

Какие есть инструменты для генерации оптимального кода (на C например) вычисляющего выражение?

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

Или может быть есть смысл как-то исходно формировать выражение с учетом вычислительной эффективности. То есть надо начинать это делать еще в CAS.

 ,

amaora ()

Создание tar архива

Есть 5k исходных zip архивов, каждый из которых содержит geotiff файл размером 25мб. Надо конвертнуть geotiff в srtmhgt с помощью gdal_translate и сложить весь результат в tar.bz2 архив.

Можно распаковать все zip, преобразовать к srtmhgt и зажать в tar.bz2. Недостатка места нет, но стало интересно как можно решить задачу при условии, что места для хранения всех данных в распакованном виде нет. В сжатом виде надо около 35гб.

1. Дать доступ к содержимому zip архивов через vfs/fuse, но как? fuse-zip не может сразу много архивов, делать 5 тысяч раз mount безумие.

2. Хотел использовать tar --append но tar: Cannot update compressed archives

3. Как можно еще?

amaora ()

Долгий старт

Загрузка модуля radeon и отключение карты занимают несколько секунд, система при этом замерзает и не реагирует ни на что. Не очень приятно это наблюдать во время бута. Должно ли так быть? И можно ли что-то сделать?

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Chelsea LP [Radeon HD 7730M] (rev ff) (prog-if ff)
        !!! Unknown header type 7f
        Kernel driver in use: radeon
        Kernel modules: radeon

fakemoon ~ # cat /etc/local.d/radeon.start 
#!/bin/sh

/sbin/modprobe radeon
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch &

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

 

amaora ()

Не работает EFI фреймбуфер

Если включено вот так.

VGA_SWITCHEROO=y
DRM_I915=y
DRM_I915_KMS=y
DRM_I915_FBDEV=y
FB_EFI=y
CONFIG_FIRMWARE_EDID=y

То в логах видим, что используется intel драйвер. По миганию при смене режима тоже можно догадаться.

efifb: probing for efifb
efifb: framebuffer at 0xb0000000, mapped to 0xffffc90010100000, using 8128k, total 8128k
efifb: mode is 1920x1080x32, linelength=7680, pages=1
efifb: scrolling: redraw
efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
Console: switching to colour frame buffer device 240x67
fb0: EFI VGA frame buffer device
...
fb: switching to inteldrmfb from EFI VGA
...
fbcon: inteldrmfb (fb0) is primary device
i915 0000:00:02.0: fb0: inteldrmfb frame buffer device

Если же сделать DRM_I915_FBDEV=n, то видим какой-то конфликт на месте строки про переключение, остальное не поменялось. Ну и самое главное в этом случае черный экран с тремя цветными точками. А после старта иксов (по логам, успешного) отключается и подсветка.

fb: conflicting fb hw usage inteldrmfb vs EFI VGA - removing generic driver

Начал ковырять с того, что эта DRM_I915_FBDEV заявлена как legacy, попробовал отключить.

А ну да, ядро бутится в EFI режиме, в /sys/firmware/efi/ чего-то есть.

 , ,

amaora ()

Не обновляются некоторые пакеты

Сделал сегодня eclean-dist -d, освободилось ~1G места и вывелся такой текст.

The following unavailable installed packages were found
             app-admin/eselect-ctags-1.14
             dev-perl/Locale-gettext-1.50.0
             dev-perl/XML-LibXML-2.1.400
             dev-perl/XML-NamespaceSupport-1.110.0
             dev-perl/XML-SAX-0.990.0
             dev-perl/XML-SAX-Base-1.80.0
             dev-perl/XML-Simple-2.200.0
             dev-python/m2crypto-0.21.1-r1
             g-octave/control-2.4.1
             sys-devel/bin86-0.16.19

Смотрю дальше.

fakemoon ~ # eselect ctags list
Available ctags symlink targets:
  [1]   exuberant-ctags *
fakemoon ~ # emerge -avNuD eselect-ctags

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] app-admin/eselect-ctags-1.16 [1.14] 9 kB

Total: 1 package (1 upgrade), Size of downloads: 9 kB

Would you like to merge these packages? [Yes/No] No

Quitting.

fakemoon ~ # emerge -avNuD world

These are the packages that would be merged, in order:

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 kB

Nothing to merge; quitting.

fakemoon ~ # equery d eselect-ctags
\ * These packages depend on eselect-ctags:
dev-util/ctags-5.8 (app-admin/eselect-ctags)
fakemoon ~ # equery d ctags
 * These packages depend on ctags:
app-editors/gvim-7.4.273 (dev-util/ctags)
app-editors/vim-7.4.273 (!minimal ? dev-util/ctags)
app-vim/tagbar-2.6.1 (>=dev-util/ctags-5.5)

Vim установлен, minimal флаг снят. С остальными пакетами похоже аналогично, все не проверял. Про dev86 была ложь, ebuild для него есть.

fakemoon ~ # ls /usr/portage/sys-devel/dev86/
ChangeLog  Manifest  dev86-0.16.19.ebuild  dev86-0.16.20.ebuild  dev86-0.16.21.ebuild  files  metadata.xml

Чего это такое происходит?

 

amaora ()

Преобразователь bt <---> uart

Из арчевики узнал о bluetoothctl, делаю pairing, проходит.

[bluetooth]# info 98:D3:31:B2:6C:96 
Device 98:D3:31:B2:6C:96
        Name: HC-05
        Alias: HC-05
        Class: 0x001f00
        Paired: yes
        Trusted: yes
        Blocked: no
        Connected: no
        LegacyPairing: no
        UUID: Serial Port               (00001101-0000-1000-8000-00805f9b34fb)

делаю connect, получаю фэйл,

[bluetooth]# connect 98:D3:31:B2:6C:96 
Attempting to connect to 98:D3:31:B2:6C:96
[CHG] Device 98:D3:31:B2:6C:96 Connected: yes
Failed to connect: org.bluez.Error.NotAvailable
[CHG] Device 98:D3:31:B2:6C:96 Connected: no
[CHG] Device 98:D3:31:B2:6C:96 Connected: yes
[CHG] Device 98:D3:31:B2:6C:96 Connected: no

Ещё rfcomm в новых версиях как я понял не узнает своего конфига в /etc, старт через init.d отвалился и все надо делать руками каждый раз. Да и непонятно откуда брать номер канала, sdptool browse ничего не выдает.

Попытка запуска picocom на /dev/rfcomm0 закнчивается вот этим.

FATAL: write to term failed: Transport endpoint is not connected

Когда же bt будет нормально работать и появится докуметация?

 

amaora ()

Какой драйвер нужен для 7730M

Вот такая карта на ноуте.

VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Chelsea LP [Radeon HD 7730M]

По джентушной вики получается, что драйвера нет, r600 заканчивается на 7670, а radeonsi начинается с 7750. Дейтствительно все так плохо?

Спасибо.

 ,

amaora ()

Как повысить разрешение

Сейчас делаю -vga std и получаею максимальное разрешение 1280x720. На мониторе 1920x1080 это выглядит очень мутно в полноэкранном режиме. В качетве гостевой ОС Calculate с xfce.

Еще бы убрать это меню сверху (в котром Machine View), чтобы делать полноэкранный режим средствами wm.

Спасибо.

 

amaora ()

Сломали печать

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

- Первая проблема была с переходом cups на использование libusb вместо ядерного модуля usblp. Тогда забыли испраить hotplug скрипт.

- Дальше hotplug был полностью выпилен из gentoo, про пакет foo2zjs который все ещё использует его, забыли.

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

У меня одного такой принтер?

https://bugs.gentoo.org/show_bug.cgi?id=435188 https://bugs.gentoo.org/show_bug.cgi?id=456314

 ,

amaora ()

Куда бы перейти с дженты

Что-то надоело разгребать вывод emerge, читать багзиллу, мержить конфиги, конфигурить ядро. Часто бывает надо что-то срочно сделать а уменя тут mw, жди когда оно скомпиляется на атоме то.

Куда лучше пойти? пока смотрю на Ubuntu 13.10 и stable Debian. На дженте использую по возможности стабильные версии, чему это будет соотвествовать?

У меня /home на reiresfs наверно со времен 10-й или 9-й слаки, пора поменять? на ext4? или что?

По поводу Ubuntu, два сомнения. Плохая стабильность, о ней пишут везде, действительно ли хуже gentoo? Предустановленное spyware, всякая web-online срамота, но его же можно просто удалить через пакетменегер?

По Debian, старьевщина, а мне нужны свежие версии gcc и cross gcc.

 ,

amaora ()

Быстрее чем luakit

Стал замечать как luakit останавливается на время рендеринга/парсинга или даже загрузки страницы. В этот момент уже открытые страницы нельзя даже прокрутить пониже.

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

Что есть ещё попробовать? Мелкие и недоделанные не надо, проприетарщину не надо.

Спасибо.

 , ,

amaora ()

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