LINUX.ORG.RU

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

Делаю одноплатный компьютер из WIFI-Роутера.. Нужна помощь с Драйвером «atyfb»

 , , ,

Так... Для начала немного предыстории...

Думаю здесь уже многие наверно 'слышали' про такую штуку как «raspberry pi 4 compute module + io board» который вышел пару месяцев назад. (Если нет вкратце объясню... это одноплатный компьютер на ARM процессоре в последнюю модификацию которого была добавлена поддержка PCIe x1).

Так-вот сейчас youtube переполнен роликам в которых народ тычет е PCIe x1 слот на этом компьютере всякую хрень. По типу: Звуковые карты, карты видео захвата, raid -контроллеры, nvme ссд-шки, видеокарты... короче все что можно засунуть, уже туда суют! И как вы думайте что из того списка мозолит больше всего глаза ютуберов? Если кто-то подумал о видеокартах...То поздравляю.. вы угадали! честно говоря я сам не совсем понимаю зачем пихать в одноплатный компьютер GTX1650... но сам факт того что  целая куча народа пытается заставить грёбаною видеокарту работать на ARM процессоре заставил меня задуматься... Неужели это так сложно? немного подумав.. мне захотелось тоже попробовать... И я решил купить этот «raspberry pi 4 compute module + io board» но как оказалось его в наличии нигде нет... Становись в очередь и жди 3 месяца или покупай у перекупщиков на ebay в 2 раза дороже... Мдя... Не мой вариант!...

И тут моему взору пал старенький роутер Asus WL-500g... и сразу-же вспомнилось, что там стоит WIFI в MiniPCI слоте... Ну тут вы уже наверное поняли к чему я клоню... Моя больная фантазия увидела в этом, и так уже измученном жизнью роутере видеокарту =) Я уже ранее ему сделал 2 модификации...1я - увеличил объем оперативной памяти с 32Мб до 128Мб (перепаял 2 чипа), 2я - Установил туда debian 7 на ядре от openwrt. Ну думаю настало время 3-тий завершающий модификации по добавлению видеокарты, звуковой карты, клавы и мыши... И воля вот вам одноплатный компьютер на MIPS процессоре =) Думаю ресурсов должно хватить для запуска рабочего стола, doom и эмулятора денди =)

В общем задачу я себе поставил подключить к роутеру видеокарту! ПРИСТУПАЮ!... 1-вым делом начал искать видеокарту для слота miniPCI... нашел одну... MS-9513 ATI Rage XL 8Mb... даже не знал что такое существует... Но к сожалению в продаже я её, нигде не нашел... но зато нашел информацию о том что этот чип должен работать на mips процессорах а это важно в моём случае! Раз уж я не могу приобрести эту карточку то в голову приходит вариант номер 2 переходник miniPCI to PCI и их тоже как назло в продаже нет! (Китайцы где же вы, когда вы так нужны?...) В общем так как я с электроникой на ты! Я решил сделать переходник самостоятельно... всего то нужно было прочитать страниц 40 pci документации и нарисовать в CAD программе переходник... За 2 дня не сильного напряга нарисовал переходник и заказал его на производстве печатных плат у китайцев.... Жду 2 недели... Но не расслабляюсь так как мне еще нужно найти видеокарту ATI Rage XL 8Mb для обыкновенного PCI слота но с ключом на 3.3в что скажу вам не так-то уж и просто так-как практически все карточки 5 вольтовые... Хоть это не составило большого труда.. нашёл её на ближайшей компьютерной барахолке.. за 7$.. Спустя неделю ко мне таки пришли платы «Фотка-1» от китайцев... Спаял одну засунул в роутер «Фотка-2» и воткнул в неё для начала сетевую плату, её не жалко спалить если я где то накосячил с разводкой платы.... Заработало с первого раза! даже модуль ядра подхватило что меня довольно сильно удивило...

Ладно приступаю ко второму этапу сую туда видеокарту «Фотка-3» и запускаю... Плату на шине pci видит! Ура! но картинки нет =( собственно ожыдаеммо модуля ядра веть тоже нет... пересобрал ядро добавил поддержку графики и драйвера atyfb и mach64... Залил в роутер и что вы думайте? Кирпич! Все-таки это не так то и просто заставить из коробки работать видюху на другой архитектуре процессора как минимум из за отсутствия bios который читает rom видюхи и инициализирует регистры в самой видеокарте для работы в так называемом режиме video_bios....

Собственно на этом этапе я и застрял и уже сижу две недели  Кое как настроил earlyprintk и и наконец то получил Kernel Panic который openwrt от меня дня 4 прятал...

CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: ▒| 10▒▒ 12 22:21:19 CST 2006 (root@localhost.localdomain)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena
Initializing Devices.
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.7.0
rndis0: Broadcom USB RNDIS Network Adapter (P-t-P)
CPU type 0x29006: 264MHz
Total memory: 134217728 KBytes

Total memory used by CFE:  0x80800000 - 0x8089AF40 (634688)
Initialized Data:          0x808313D0 - 0x80833790 (9152)
BSS Area:                  0x80833790 - 0x80834F40 (6064)
Local Heap:                0x80834F40 - 0x80898F40 (409600)
Stack Area:                0x80898F40 - 0x8089AF40 (8192)
Text (code) segment:       0x80800000 - 0x808313D0 (201680)
Boot area (physical):      0x0089B000 - 0x008DB000
Relocation Factor:         I:00000000 - D:00000000

Device eth0:  hwaddr 00-1B-FC-E2-9F-10, ipaddr 192.168.1.200, mask 255.255.255.0
        gateway not set, nameserver not set
Null Rescue Flag.
Reading :: TFTP Server.
Failed.: Timeout occured
Loader:raw Filesys:raw Dev:flash0.os File: Options:(null)
Loading: .. 3712 bytes read
Entry at 0x80001000
Closing network.
Starting program at 0x80001000
[    0.000000] Linux version 3.18.109 (openwrt@debian) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r49632) ) #5 Fri Dec 18 20:38:41 EET 2020
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00029006 (Broadcom BMIPS3300)
[    0.000000] bcm47xx: Using ssb bus
[    0.000000] ssb: Found chip with id 0x4704, rev 0x09 and package 0x00
[    0.000000] Unsupported SPROM revision 0 detected. Will extract v1
[    0.000000] ssb: Sonics Silicon Backplane found at address 0x18000000
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 08000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000-0x07ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x07ffffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x07ffffff]
[    0.000000] Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.
[    0.000000] Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line:  earlyprintk noinitrd console=ttyS0,115200
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 125892K/131072K available (2829K kernel code, 126K rwdata, 560K rodata, 184K init, 282K bss, 5180K reserved, 0K cma-reserved)
[    0.000000] NR_IRQS:128
[    0.000000] MIPS: machine is Asus WL500GP V1
[    0.000000] Console: colour dummy device 80x25
[    0.000000] Calibrating delay loop... 262.96 BogoMIPS (lpj=1314816)
[    0.070000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.080000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090000] NET: Registered protocol family 16
[    0.300000] DMA-API: preallocated 65536 debug entries
[    0.300000] DMA-API: debugging enabled by kernel config
[    0.310000] Switched to clocksource MIPS
[    0.640000] PCI host bridge to bus 0000:00
[    0.650000] pci_bus 0000:00: root bus resource [mem 0x40000000-0x7fffffff]
[    0.650000] pci_bus 0000:00: root bus resource [io  0x0100-0x07ff]
[    0.660000] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.670000] ssb: PCI: Fixing up bridge 0000:00:00.0
[    0.670000] ssb: PCI: Fixing up device 0000:00:00.0
[    0.680000] ssb: PCI: Fixing latency timer of device 0000:00:00.0 to 168
[    0.690000] pci 0000:00:02.0: BAR 0: assigned [mem 0x40000000-0x40ffffff]
[    0.700000] pci 0000:00:02.0: BAR 6: assigned [mem 0x41000000-0x4101ffff pref]
[    0.710000] pci 0000:00:02.0: BAR 2: assigned [mem 0x41020000-0x41020fff]
[    0.710000] pci 0000:00:02.0: BAR 1: assigned [io  0x0400-0x04ff]
[    0.720000] pci 0000:00:03.2: BAR 0: assigned [mem 0x41021000-0x410210ff]
[    0.720000] pci 0000:00:03.0: BAR 4: no space for [io  size 0x0020]
[    0.730000] pci 0000:00:03.0: BAR 4: failed to assign [io  size 0x0020]
[    0.740000] pci 0000:00:03.1: BAR 4: no space for [io  size 0x0020]
[    0.740000] pci 0000:00:03.1: BAR 4: failed to assign [io  size 0x0020]
[    0.760000] NET: Registered protocol family 2
[    0.760000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.770000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.780000] TCP: Hash tables configured (established 1024 bind 1024)
[    0.780000] TCP: reno registered
[    0.790000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.790000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.800000] NET: Registered protocol family 1
[    0.870000] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.880000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.890000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.900000] msgmni has been set to 245
[    0.900000] io scheduler noop registered
[    0.910000] io scheduler deadline registered (default)
[    0.910000] PCI: Enabling device 0000:00:02.0 (0080 -> 0083)
[    0.920000] ssb: PCI: Fixing up device 0000:00:02.0
[    0.920000] atyfb: using auxiliary register aperture
[    0.930000] atyfb: 3D RAGE XL (Mach64 GR, PCI-33) [0x4752 rev 0x27]
[    0.940000] atyfb: 512K SGRAM (1:1), 14.31818 MHz XTAL, 230 MHz PLL, 83 Mhz MCLK, 63 MHz XCLK
[    0.940000] atyfb: Unsupported xclk source:  5.
[    0.950000] Data bus error, epc == 80193240, ra == 801931fc
[    0.950000] Oops[#1]:
[    0.950000] CPU: 0 PID: 1 Comm: swapper Not tainted 3.18.109 #5
[    0.950000] task: 8781c9b8 ti: 8781e000 task.ti: 8781e000
[    0.950000] $ 0   : 00000000 10008800 c004a400 00800000
[    0.950000] $ 4   : 00000064 00000000 86d522e8 0000096d
[    0.950000] $ 8   : 0000002e 73206b6c 6372756f 20203a65
[    0.950000] $12   : 64657472 0000000e 00000000 6c637820
[    0.950000] $16   : 86d522e8 86d52000 80364290 8031d358
[    0.950000] $20   : 86d52778 40000000 80360000 41020000
[    0.950000] $24   : 00000002 00000000
[    0.950000] $28   : 8781e000 8781fbf0 80320000 801931fc
[    0.950000] Hi    : 00000000
[    0.950000] Lo    : 0009fe98
[    0.950000] epc   : 80193240 aty_init+0x630/0x9b0
[    0.950000]     Not tainted
[    0.950000] ra    : 801931fc aty_init+0x5ec/0x9b0
[    0.950000] Status: 10008803 KERNEL EXL IE
[    0.950000] Cause : 0080001c
[    0.950000] PrId  : 00029006 (Broadcom BMIPS3300)
[    0.950000] Modules linked in:
[    0.950000] Process swapper (pid: 1, threadinfo=8781e000, task=8781c9b8, tls=00000000)
[    0.950000] Stack : 0000005a 00000200 0000004b 80364290 8031d358 000000e6 00000053 0000003f
          00000400 800484d0 00000006 00000001 00000000 00000000 00000093 00000000
          00000037 00000006 803b68b2 00000006 10008801 00000037 00000000 00000000
          00000000 800491b4 00000000 00000006 00000006 003fffff 00000000 00000000
          00000000 00000000 803b68b2 00000037 00000000 8008b77c 00000001 000000d0
          ...
[    0.950000] Call Trace:
[    0.950000] [<80193240>] aty_init+0x630/0x9b0
[    0.950000] [<80193854>] atyfb_pci_probe+0x294/0x5b0
[    0.950000] [<8016edb8>] pci_device_probe+0x68/0xd0
[    0.950000] [<801c1958>] driver_probe_device+0xcc/0x218
[    0.950000] [<801c1b84>] __driver_attach+0x7c/0xb4
[    0.950000] [<801bfea0>] bus_for_each_dev+0x98/0xa8
[    0.950000] [<801c108c>] bus_add_driver+0x104/0x1ec
[    0.950000] [<801c2050>] driver_register+0xac/0x100
[    0.950000] [<80382748>] atyfb_init+0x60/0x314
[    0.950000] [<8000a4f8>] do_one_initcall+0x148/0x204
[    0.950000] [<80372cd4>] kernel_init_freeable+0x150/0x208
[    0.950000] [<80005f0c>] kernel_init+0x10/0x114
[    0.950000] [<800014a8>] ret_from_kernel_thread+0x14/0x1c
[    0.950000]
[    0.950000]
Code: 10400006  3c028036  8e020348 <8c4300a0> 34630010  ac4300a0  3c028036  244242c8  ae2202b0
[    1.160000] ---[ end trace 012648158a1832d7 ]---
[    1.170000] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    1.170000]
[    1.170000] Rebooting in 100 seconds..
Как оказалось проблема с отсутствием информация о режимах работы видеокарты... И тут я торчу уже неделю,... пытаясь подобрать режим... пробовал разные методы: Добавлял в boot params video=atyfb:pll:235,mclk:80,xclk:63 частоты которые я взял с простого компьютера установив туда эту карточку. А так же пробовал писать непосредственно в регистры видеокарты... безрезультатно.. Но где-то в один прекрасный момент после 300тый перезагрузки устройства я наконец то получил ошибку на мониторе «Фотка-4»!!! Уря!!! Но счастье продлилось не долго после того как я передернул питание картинка больше не появлялась...

Так а теперь к делу... Умный человек! который прочел моё повествование подскажи мне пожалуйста что я делаю не так? =) как исправить эту гребаною ошибку?

[    0.940000] atyfb: Unsupported xclk source:  5.
[    0.950000] Data bus error, epc == 80193240, ra == 801931fc
Я не программист и не не могу понять исходники драйвера для того чтобы определить то чего ему не хватает... судя по тому что я получил изображения сам того не понимая... методом тыка.. тут скорее всего нужно указать каких-то 2 параметра до которых сам я допереть не могу ...

Architector120
()

Случайно выдернул видеокарту из слота, как починить без ребута?

 , ,

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

Видеокарта PCI (вроде S3 Trio какое-то, не помню), вылезли из слота те контакты которые ближе к задней стенки (передняя часть прижата к материнке конструкцией корпуса, а вот сзади должен был быть болт но его нет).

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

upd: Таки ребутнул - лучше сейчас планово чем возиться потом когда срочно консоль потребуется. Видео ожило. В практическом плане проблема решена, но вопрос «как починить без ребута» так и не отвечен, так что пусть тема не будет помечена решённой.

firkax
()

Зависимость скорости работы циклов от выравнивания кода

 , ,

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

00000000000016b9 <.bL11>:
    16b9:       48 8b 04 ce             mov    rax,QWORD PTR [rsi+rcx*8]
    16bd:       48 19 04 cf             sbb    QWORD PTR [rdi+rcx*8],rax
    16c1:       48 ff c1                inc    rcx
    16c4:       75 f3                   jne    16b9 <.bL11>
    16c6:       48 83 1f 00             sbb    QWORD PTR [rdi],0x0
^ вот так всё работает с «обычной» скоростью. А так (всё сдвинуто на 1 байт вниз) - на 30-35% медленнее:
00000000000016ba <.bL11>:
    16ba:       48 8b 04 ce             mov    rax,QWORD PTR [rsi+rcx*8]
    16be:       48 19 04 cf             sbb    QWORD PTR [rdi+rcx*8],rax
    16c2:       48 ff c1                inc    rcx
    16c5:       75 f3                   jne    16ba <.bL11>
    16c7:       48 83 1f 00             sbb    QWORD PTR [rdi],0x0
двигаем дальше, всё медленно, вплоть до сюда:
00000000000016c5 <.bL11>:
    16c5:       48 8b 04 ce             mov    rax,QWORD PTR [rsi+rcx*8]
    16c9:       48 19 04 cf             sbb    QWORD PTR [rdi+rcx*8],rax
    16cd:       48 ff c1                inc    rcx
    16d0:       75 f3                   jne    16c5 <.bL11>
    16d2:       48 83 1f 00             sbb    QWORD PTR [rdi],0x0
Если сдвинуть ещё на 1 байт вниз - лаги исчезают.

Собственно, если отметить первый лагающий вариант (где .bL11=0x16BA) за точку отсчёта, то итоги такие:

-7..-1 - хорошая скорость
0..11 - замедление на 30-35%
12..15 - хорошая скорость
16..23 - замедление на 15-20%
24..31 - хорошая скорость
32..32+11 - замедление на 30-35%
32+12..32+31 - хорошая скорость
Именно так, 30-35% замедление циклично повторяется через 32 байта (и дальше тоже повторяется), а вот второе замедление, сдвинутое на 16 байт от первого, и меньше по величине, и короче по байтам, и отсутствует во втором цикле. Более того, оно отсутствует и при сдвиге на 64+16, и 96+16, и 128+16, но опять появляется на 256+16 (на 512+16 его опять нет, промежуточные уже не проверял) - странно. А ещё оно появляется/исчезает в зависимости от изменений в других линкуемых модулей. Например, простое дописывание к линкеру -lm (без изменений исходников) может на него повлиять. 30-35% же замедление присутствует стабильно на своём месте.

Ещё я проверил что будет если вставлять NOP-ы внутрь цикла. Так вот, добавление например 2 NOP-ов приводит к тому, что лаги начинаются на 2 байта раньше (т.е. при той же позиции JNE как и раньше начинались), а вот заканчиваются на том же месте как раньше, т.е. при той же позиции метки (т.е. лаги от -2 до 11). Вторая зона лагов стала какой-то размазанной с усилившимся пиком в самом начале, а так же она появилась таки во втором цикле на 32+16-2.

сдвиг   время выполнения бенчмарка
-6       511.9 +- 14.8
-5       515.2 +- 12.3
-4       511.6 +- 8.9
-3       507.3 +- 7.2
-2       683.0 +- 9.2    <-- первый круг
-1       672.1 +- 12.3
0        670.5 +- 8.6
1        674.8 +- 17.1
2        669.4 +- 7.4
3        672.5 +- 11.0
4        675.0 +- 9.1
5        669.9 +- 8.9
6        675.5 +- 8.8
7        679.1 +- 7.6
8        696.9 +- 23.6
9        691.6 +- 14.8
10       680.5 +- 9.5
11       684.0 +- 9.0
12       516.5 +- 7.9
13       517.2 +- 11.6
14       792.3 +- 36.8   <--
15       605.4 +- 37.5
16       575.8 +- 24.2
17       566.0 +- 16.0
18       555.8 +- 21.6
19       562.0 +- 14.5
20       555.7 +- 8.7
21       537.2 +- 10.7
22       534.4 +- 11.2
23       549.9 +- 14.6
24       522.1 +- 10.6
25       517.8 +- 9.5
26       515.5 +- 8.4
27       517.0 +- 4.2
28       512.2 +- 7.4
29       516.8 +- 8.6
30       680.3 +- 9.2  <-- второй круг
31       675.0 +- 19.7
32       671.7 +- 8.9
33       669.2 +- 9.1
34       668.3 +- 10.8
35       667.0 +- 9.6
36       669.0 +- 8.9
37       671.0 +- 9.5
38       670.6 +- 10.8
39       676.5 +- 10.1
40       681.0 +- 10.5
41       682.1 +- 12.7
42       693.5 +- 16.7
43       689.8 +- 13.5
44       512.5 +- 4.9
45       516.9 +- 7.1
46       685.5 +- 12.3   <--
47       515.2 +- 7.6
48       519.0 +- 8.7
49       513.2 +- 7.9
50       512.4 +- 6.2
51       510.8 +- 4.7
52       510.3 +- 7.3
53       507.4 +- 7.0
54       509.2 +- 6.9

Вообще мне казалось что для более быстрой работы кода надо выравнивать начала циклов по 16-байтным границам, но тут ничего подобного незаметно, все адреса не пойми какие. Есть замеченная закономерность: когда JNE доползает до адреса 0x16c5 - лаги начинаются, когда до него доползает и начало цикла - заканчиваются. Но JNE двухбайтовый, т.е. когда он на 0x16c4 то второй его байт на 0x16c5 и лагов ещё нет.

Есть ли шанс объяснить почему так? А то мне совсем не нравится что код рандомно теряет треть скорости на ровном месте, тут я заметил, где-то не замечу, да и на разных процах это может быть по-разному, что делать?

---------------

Почти итог: адреса в дампах выше считал от начала объектного модуля, оказывается модуль автоматически (если явно не указать) по 16-байт границе не выравнивается, и адреса в бинарнике уплыли. Реальное замедление получается если тело цикла пересекает 32-байт границу (кроме случая когда за неё вылезает только один байт последней инструкции, почему-то), выглядит логично.

firkax
()

let's encrypt присоединился к санкциям

 ,

Сабж: https://www.opennet.ru/opennews/art.shtml?num=65656

Если кому не лень, запилите новость

router
()

Где посмотреть лист совместимости дисков для сервера Dell?

 ,

Добрый день. Подскажите, если кто знает, где посмотреть лист совместимости дисков для сервера Dell? Спасибо.

sasha198407
()

Blaise - новый компилятор языка Pascal

 , ,

Группа Разработка

Грэм Гелденхейс (Graeme Geldenhuys), разработчик графического пользовательского интерфейса fpGUI, системы сборки PasBuild, системы тестирования FPTest и отладчика opdebugger представил Blaise - компилятор для диалекта языка программирования Object Pascal.

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

>>> Blaise Pascal Compiler (github.com)

No
()

konsole сканирует все файлы при открытии меню по ПКМ

 ,

Ну, может не совсем все файлы, но очень много их.

В strace видны обращения openat, statx до всех файлов в домашнем каталоге + в системных каталогах.

konsole запускал из дистрибутива (у меня debian 13), из flatpack, из nix — результат одинаковый (тормозит).

Если запустить konsole от другого пользователя (у которого удалены ~/.config ~/.local ~/.cache) то тормозит так же (и при su user2 и при su - user2). Сканируются уже все файлы в домашнем каталоге user2.

Если запустить konsole вот так, то тормозов нет:

env -i DISPLAY="$DISPLAY" XAUTHORITY="$XAUTHORITY" XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" 
konsole

Как заставить konsole работать?

UPD: использую i3wm, KDE не запущен. Установлены только минимально необходимые для konsole/gwenview/kdiff3/okular компоненты.

UPD2: всё KDEшное удалено, кроме konsole + обязательных зависимостей. Это не помогло.

UPD3: поставил terminology в качестве замены. Пока почти по всем параметрам подходит.

Harliff
()

Как разогнать монитор на Linux с Wayland [AMD/nVidia/Intel]

 , , , ,

Рассматривается прежде всего портирование существующей конфигурации, потому что разгон монитора на Linux без готовой конфигурации - это боль. Моя система: nVidia, Wayland, KDE, Arch-based дистрибутив (CachyOS).

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

mndtr0
()

Columba - опенсорс-мессенджер без интернета?

 , ,

https://github.com/torlando-tech/columba

Вроде как работают через экземпляры друг друга по вайфаю, блютузу и даже LoRa.

Кто что слышал?

UPD: про протокол, там вроде и другие программы клиенты есть https://4pda.to/forum/index.php?showtopic=1114849&st=0

UPD2: народ подтащил ссылок про ридикулум

https://markqvist.github.io/Reticulum/manual/

https://github.com/markqvist/Reticulum/blob/master/Zen%20of%20Reticulum.md

https://github.com/markqvist/Reticulum/wiki/Frequently-Asked-Questions

https://kirillz.github.io/reticulum-docs/

pihter
()

systemd timers, запуск пропусков

 

Пытаюсь перейти с cron на systemd timers ибо там есть расписание по секундам. Столкнулся с разной работой таймеров в ubuntu и gentoo

Написал пример сервиса:

~/.config/systemd/user/check.service:

[Unit]
Description=Check

[Service]
Type=oneshot
ExecStart=/usr/bin/date
StandardOutput=append:/tmp/check-user.log
StandardError=append:/tmp/check-user.log

~/.config/systemd/user/check.timer:

[Unit]
Description=Check

[Timer]
OnCalendar=*-*-* *:*:00
AccuracySec=1us
Persistent=false

[Install]
WantedBy=default.target

Мне не нужен запуск пропусков расписания по этому Persistent=false

В результате на проде c Ubuntu 24.04 cтартуем таймер, дожидаемся когда он 1 раз отработает, потом делаем systemctl --user restart check.timer и в момент рестарта он запускает сервис ещё раз.

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

В убунту systemd 255 (255.4-1ubuntu8.12), в генте systemd 257 (257.10)

Это можно как то исправить? В чём вообще прикол запускать задачи при рестарте с Persistent=false?

TDrive
()

А LOR оказывается в белых списках

 , ,

Сегодня обратил внимание. По ночам у нас постоянно сирена и желтый/красный уровень опасности. Так что по утрам интернет часов до 10-11 заглушен. Но LOR без проблем работает и на TELE2 и на Мегафоне. Opennet не работает. Кто это так подсуетился?

AleksK
()

Firefox 140

 ,

Группа Mozilla

Доступна финальная версия Firefox 140, а также новая ветка с долгосрочной поддержкой (ESR).

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

>>> Подробности (mozilla.org)

MozillaFirefox
()

reject: RCPT from unknown[178.34.154.222]: 450 4.7.1 Client host rejected: cannot find your hostname

 , ,

Добрый день. почтовый сервер почему то перестал получать почту от многих клиентов.

Feb 18 14:03:49 mail postfix/smtpd[2795]: NOQUEUE: reject: RCPT from unknown[xxx.xxx.xxx.xxx]: 450 4.7.1 Client host rejected: cannot find your hostname, [xxx.xxx.xxx.xxx]; from=<*@aikkom.ru> to=<*@terletskiy.com.ru> proto=ESMTP helo=<NAM04-CO1-obe.outbound.protection.outlook.com>

Подскажите в чем может быть причина?

main.cf

inet_protocols = ipv4
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unknown_client, reject_unknown_client,reject_unverified_sender, reject_non_fqdn_sender

smtpd_client_restrictions = check_sender_access hash:/etc/postfix/whitelist, reject_unauth_destination,  reject_unknown_client

relay_domains = $mydestination

smtpd_sender_restrictions = reject_unknown_sender_domain, reject_non_fqdn_sender

#smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/my_domains, reject 

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
sp1er
()

Переводчик с начальственного на технический русский, постановщик ТЗ, удалёнка

 ,

Нужен программист многостаночник уровня сеньор. Задача по сути менеджерская, с необходимостью иногда писать код и фиксить баги. Что будет входить в задачи:

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

Требования: максимальная компетенция в современных тенденциях программирования, понимание максимального количества языков программирования. Умение чётко выражать свои мысли, доносить их до руководства и понимать руководство при ограниченном информировании с его стороны. Иными словами - руководство не очень умеет полноценно ставить ТЗ и нужно уметь достраивать детали.

Условия: Удалёнка, 500-1200р. в час на начальном этапе, в случае успешного результата до 500 000р в месяц. Договор с самозанятым, после полугода возможно принятие в штат с белой зп, и дополнительными плюшками. Возможен апгрейд техники за счет компании.

Писать на s()gkaz.ru

Aceler
()

Дедупликация в Btrfs

 ,

Дедупликация в Btrfs

Btrfs — это замечательная файловая система, главными фишками которой являются легковесные снапшоты, реализуемые через Copy-On-Write (COW), и сжатие. Она показала высокую надежность и стабильность, и именно поэтому она включена в ядро Linux. Однако, даже наличие COW не позволяет избежать избыточности данных на уровне блоков.

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

rtxtxtrx
()

Видео искалка - reptube

 , , , ,

Студия Колобо.. кхм. Конгломерат корпораций "000 На Коленочке ЛТД" от создателей "И таааак сойдёёёт" представляяяееет! Очередную, но уникальную во всей солнечной системе, а может быть даже галактике, фигню!
Короче суть проста как две палки, часто кидают ссылки на ютуб которые нифига не работают, но иногда есть аналогичное видео на rutube/platforma/my.mail/etc и для автоматизации поиска накалякалось. Главное чтобы youtube.com не блокировался полностью, чтобы по ссылке можно было извлечь название видео. Можно просто искать видео на rutube/platforma/my.mail/etc с разным форматом вывода, пайпы, m3u вывод для mpv и прочее Собственно воть и всё. Конечно, можно просто использовать браузер и использовать поиск в нём, но вот зачем это делать, если это можно не делать! Гениально, где моя шоколадная медалька.

Недоисходники

Чет я приболел, лень писать смешульки так что я тут тупо скопирую readme дабы не запаривать Ъ своим очередным высеро…шедевром


Зависимости

Любая версия Lua и утилита curl

  • Lua5.1
  • Luajit
  • Lua5.2
  • Lua5.3
  • Lua5.4

Использование

  • Аргументы опциональные
    • -h Отобразить справку
    • -d Отключить цветной вывод
    • -n [NUMBER] Количество результатов для вывода, в каждом из ресурсов
    • -v Подробный вывод, описание, имя канала, категория
    • -m Вывод в формате m3u (удобно для передачи в mpv)
    • -s Искать только точное совпадение с запросом
    • -l Отображать вывод в виде списка чистых ссылок
    • -ru --rutube Отобразить результаты с rutube.ru
    • -pl --platforma Отобразить результаты с platforma.ru
    • -my --mymail Отобразить результаты с my.mail.ru
    • -ok --okru Отобразить результаты с ok.ru
    • -dz --dzen Отобразить результаты с dzen.ru
    • -co --coub Отобразить результаты с coub.com

По умолчанию поиск ведётся везде, если вы выберите -ru будет показан
только вывод с rutube, если вы выберите больше ключей например ‘-pl -ru’
то будет выведено только то что выбрано, и в том порядке в котром идут ключи

Примеры

Использовать для поиска текстовый запрос, вывести 10 результатов с подробностями
аргументы можно спокойно смешивать с запросом, если в запросе нет символа - и
других символов интерпретируемых терминалом, в ином случае 'нужно обернуть в каычки'

reptube Рецепты салатов -n 10 -v

Получить только 1 вариант с названием

reptube -n 1 Почему надо выключать телефоны на борту самолета

Найти видео по ссылке из youtube

reptube https://www.youtube.com/watch?v=jN1fA6zupOM

Найти видео по ссылке из youtube в строгом режиме, 100% совпадение или ничего

reptube -s https://www.youtube.com/watch?v=jN1fA6zupOM

Оформить вывод в формат m3u, полезно для передачи видеоплеерам, например mpv

reptube -m https://www.youtube.com/watch?v=jN1fA6zupOM | mpv -

Можно использовать pipe удобно для скриптов

echo 'Фильмы' | reptube -m | mpv -

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

mpv $(reptube -l Мультики)

Примеры вывода

  • Первое попавшееся видео
dron@gnu:~$ reptube Фильм Матрица -n 1 
* [1] Матрица (фильм, 1999)
  https://rutube.ru/video/307c52af7c3e122855aea0899c247971/
  • Тоже самое только с подробным выводом
dron@gnu:~$ reptube Фильм Матрица -n 1 -v
* [1] Матрица (фильм, 1999)
  [Фильмач — фильмы и сериалы онлайн][Фильмы]
  Культовый киберпанк братьев Вачовски, стабильно занима
  ющий высокие места во всевозможных топах лучших фильмов. 
  Философский подтекст фильм так глубок, что его корни ищут
   не только в классической мысли, но и более спорных источ
  никах — от классического аниме до «Алисы в стране чудес».
  Днём Томас Андерсон пишет код в одной из поглотивших мир 
  корпораций, а по ночам взламывает цифровые системы. В мир
  е закулисья он носит имя Нео, и в сети для него нет ни од
  ной тайны. Однажды Нео приходит таинственное сообщение= «
  Ты увяз в Матрице», а также указание следовать за белым к
  роликом. Вскоре он находит того самого кролика на спине н
  екой Тринити, и она предлагает ему погрузиться в новую ре
  альность. После этого жизнь Нео разделяется на «до» и «по
  сле».Год выпуска= 1999Жанр= фантастика, боевикПродолжител
  ьность= 136 мин.Режиссёр= Лана Вачовски, Лилли ВачовскиВ 
  ролях= Киану Ривз, Лоренс Фишбёрн, Кэрри-Энн Мосс, Хьюго 
  Уивинг, Глория Фостер, Джо Пантольяно, Маркус Чонг, Джули
  ан Араханга, Мэтт Доран, Белинда МакКлориCтрана= США, Авс
  тралияCтудия= Groucho II Film Partnership, Warner Bros. P
  ictures Co., Bullet Time, Silver PicturesЗдесь вы можете 
  посмотреть фильм Матрица в русском синхронном переводе в 
  хорошем качестве (4k, 2k, Full HD, 1080p) совершенно бесп
  латно.
  https://rutube.ru/video/307c52af7c3e122855aea0899c247971/
  • В фомате m3u
dron@gnu:~$ reptube Фильм Матрица -n 1 -m
#EXTM3U
#EXTINF:-1,'Матрица (фильм, 1999)'
https://rutube.ru/video/307c52af7c3e122855aea0899c247971/
  • Чистая ссылка
dron@gnu:~$ reptube Фильм Матрица -n 1 -l
https://rutube.ru/video/307c52af7c3e122855aea0899c247971/
  • Поиск по ссылке на youtube с точным совпадением
dron@gnu:~$ reptube -s 'https://www.youtube.com/watch?v=jN1fA6zupOM'
* [1] Почему надо выключать телефоны на борту самолета
  https://rutube.ru/video/3f329d37994e4f1c9e148028c1bf5d7a/
* [2] Почему надо выключать телефоны на борту самолета
  https://rutube.ru/video/4c87a2ea11f92883cfcfabd63a79c794/
dron@gnu:~$ 
  • Тупа мультики детю врубить (нет фильтра по возрату, на свой страх и риск)
reptube добрые мультфильмы -m | mpv -

Надеюсь кому пригодится
Досвиданья ::)

LINUX-ORG-RU
()

Groonga 14.0.7

 , , , ,

Groonga 14.0.7
Группа Open Source

После месяца разработки состоялся выпуск 14.0.7 полнотекстовой поисковой системы и столбцовой системы управления базами данных Groonga, написанной на языках C и C++, и распространяемой по лицензии GNU LGPL 2.1.

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

>>> Подробности (groonga.org)

dataman
()

В свободном доступе опубликована книга «PostgreSQL 16 изнутри»

 , , , ,

Группа Open Source

Компания Postgres Professional выпустила обновленную книгу «PostgreSQL 16 изнутри» — бестселлер о PostgreSQL, не имеющего аналогов на русском языке. Автор книги — Егор Рогов, директор по разработке образовательных программ Postgres Professional.

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

>>> Подробности (postgrespro.ru)

Postgres_Pro
()

Вышел Zabbix 7.0 LTS

 ,

Группа Open Source

Состоялся релиз свободной и бесплатной системы мониторинга с полностью открытым исходным кодом Zabbix 7.0 LTS. Выпуск 7.0 отнесён к версиям с длинным сроком официальной поддержки (LTS). Для пользователей, которые используют версии без LTS, рекомендуется переход на LTS-версии продукта.

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

Система реализует полный цикл от сбора данных, их обработки и преобразования, анализа этих данных для предсказания и обнаружения проблем, и заканчивая хранением этих данных, визуализацией и рассылкой оповещений с использованием правил эскалаций. Также система предоставляет гибкие возможности расширения методов сбора данных, оповещений, средств визуализации и автоматического решения инцидентов.. Единый веб-интерфейс и мощный API реализуют возможности автоматизации и централизованное управление конфигурациями мониторинга и ролевым распределением прав доступа различным группам пользователей. Код проекта распространяется под лицензией AGPLv3.

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

>>> Подробности (zabbix.com)

alexvl
()

alt linux сервер как отключить рута и наоборот дать доступ пользователю из wheel к веб-морде?

 ,

Поставил альтлинупс. Вроде норм, но есть нюансы собственно сабж. Категорически неприемлемо ходить под рутом, поэтому только судо. И можно бы его выключить совсем, только на вебморду он требует именно рута, а мне бы хотелось наоборот дать туда доступ всем кто в wheel. Есть надпись добавить доступ к отдельным модулям, но этого мало, нужно чтобы ко всему, но не от рута.

justin_case
()