LINUX.ORG.RU

Сообщения cumvillain

 

Уберите странное ограничение на редактирование сообщений

Если у тебя скор меньше 50 – ты не можешь редактировать сообщения. Это странно, ломает UX и не совсем понятно для чего нужно.

 

cumvillain
()

Автодетектирование размера консоли

Можно как-то заставить ядро самостоятельно определять размер терминала и конфигурировать исходя из этого размер консоли? Запуская qemu с -nographic приходится каждый раз руками говорить stty cols X rows Y и это слегка надоело уже.

 , ,

cumvillain
()

Как вежливо попросить KDE не менять тему GTK приложений?

В KDE6 есть настройка для GTK приложений: какую тему выбрать. Независимо от этой настройки KDE почему-то меняет кнопощки и иконощки на общесистемные (Breeze). Выглядит это не очень и я хочу чтобы GTK приложения выглядели как Adwaita, а Qt – как Breeze. Как донести это хотение до плазмы?

 ,

cumvillain
()

Если вам не хватало UB в C, то вам принесли ещё

Привет, мои дорогие любители сишки!

Если вам начало казаться, что разработчики стандарата языка C стали предсказуемыми и больше не могут удивлять вас новыми идеями, то вы ошибались. В новом стандарте C23, комитет постановил:

— zero-sized reallocations with realloc are undefined behavior;

То есть вот это валидный код:

void *ptr = malloc(0);
free(ptr);

А вот это – UB:

void *ptr = malloc(4096);
ptr = realloc(ptr, 0); <-- хаха UB

И это несмотря на то, что в манах уже давно написано следующее:

If size is equal to zero, and ptr is not NULL, then the call is equivalent to free(ptr)

Изменение вносится задним числом, наделяя кучу корректного (согласно документации glibc) кода способностью полностью изменить логику работы программы. Ведь это то, чего нам так не хватало!

В тред призываются известные эксперты по C: @Stanson и @alex1101, возможно они смогут нам объяснить, зачем разработчики стандарта C постоянно пытаются отстрелить себе обе ноги самыми нелепыми способами.

 ,

cumvillain
()

Багрепорт в Astra Linux

Я не хочу общаться с Astra Linux и хочу чтобы кто-то сделал это за меня. Да, вот такой я нехороший.

В Astra Linux CE Orel Python 3.5. Выход ansible-core 2.16 выкидывает CE за борт и это грустно. В составе дистрибутива есть python3.7, но для успешной работы ansible нужен так же пакет python3.7-apt. Есть тут есть кто-то из девелоперов – принесите, пожалуйста.

 

cumvillain
()

Поцоны из openzfs — скорострелы

В openzfs v2.2 был найден дата коррапшен. Ничего, бывает, со всеми случается, выпустили v2.2.1 с исправлением. Вот только это не помогло и zfs все еще данные портит. То есть по уровню надежности zfs начинает приближается к эпической xfs, где обнуление открытых файлов не могли лет десять починить.

 

cumvillain
()

Добавить звук в VNC

В лялексовом мире для remote desktop обычно используется VNC. Для wlroots есть сервер wayvnc и он умеет h264, что годно, потому что позволяет мне валяться в постели и играть в Pathfinder с ляптопа в 4k@60fps, наслаждаясь десктопными мощностями.

Но есть нюанс: звук. С одной стороны, сейчас я просто подключаю PA, но хочется полноценной интеграции, чтобы подключился к компу и все сразу хорошо. Парни из qemu почти десять лет назад сделали QEMU Audio, расширение для RFB, которое позволяет встроить звуковую дорогу в VNC сессию. Это работает, и вроде даже работает хорошо: я попробовал в VM, звук не рассинхровывается даже в случае лютого статеринга видео.

Собственно, я хочу добавить QEMU Audio в wayvnc чтобы получить полноценный remote desktop со всеми плюшками из коробки (картинка + буфер обмена + PAM + audio).

Но есть ещё нюанс: я никогда не работал со звуком. Быстрый набросок пайплайна:

  • wayvnc предоставляет sink (pipewire?)
  • приложение вешается на этот синк через галку в UI
  • wayvnc вычитывает из sink’а кадр, сжимает, оформляет как пакет QEMU Audio и пихает в сеть

Насколько этот пайплайн отражает реальность? Каким алгоритмом лучше жать? Как правильные парни синхронизируют звук и аудио из разных источников?

 , ,

cumvillain
()

GNOME Foundation получил миллион евро от Sovereign Tech Fund

Пока все шутили про нового лидера GNOME Foundation, она умудрилась выбить грант на миллион евро. Это чуть меньше, чем FreeBSD получает от всех своих спонсоров за год. Возможно, это поможет гному реализовать новые классные идеи.

Деньги планируют потратить на:

  • Плюшки для инвалидов
  • Модернизацию хранения секретов (может lastpass и bitwarden уже прикрутят)
  • QA
  • Расширение FDO API

В общем, в 2024 будет весело.

 ,

cumvillain
()

Linux Kernel не дает проприетарщикам

Релиз Linux 6.6 принес следующее новшество:

Внесены изменения в обработку внутренних символов категории «GPL-only», нацеленные на усложнение использования проприетарными модулями GPL-прослоек для обхода ограничений доступа к подсистемам ядра, допускающим обращение только кода под лицензией GPL. В функции symbol_get() для проприетарных модулей запрещён поиск символов, помеченных как GPL-only, и наоборот, GPL-модули не смогут находить символы, экспортируемые проприетарными модулями.

Теперь проприетарные модули больше не смогут обращаться к GPL-only символам через symbol_get(). Поэтому проприетарщики (привет, nvidia) будут вынуждены либо открыть свои драйверы, либо страдать.

 , ,

cumvillain
()

Форшмак

Накидайте своих годных вариаций форшмака. Я его сто лет не готовил и хочу что-то прикольное.

 ,

cumvillain
()

Я нашел где используют OpenBSD

Есть такая компания, genua GmbhH, которая производит всякий appliance типа VPN и роутеров, внезапно, под управлением OpenBSD. И там же работает один из ведущих разработчиков OpenBSD, bluhm@. И все был ничего, но genua обслуживает почти все федеральное правительство Германии и ещё кучу разных правительств ЕС.

И лулз в том, что в отличии от роутеров под управлением лялекса, дыр в продукции genua как-то не видно в публичном пространстве: за все время существования у них одна CVE. Так что есть мнение, что чуваки из OpenBSD оказались правы и все их годы упорного программирования на сишке из подвала дали свои плоды.

 ,

cumvillain
()

А как вы живете без нормальной условной компиляции в Golang?

Я захотел сделать фичу опциональной, и тут внезапно выяснилось, что голанг не может в нормальную условную конпиляцию. Есть build tags, но они позволяют выбрать конпилировать весь модуль целиком или нет. Если ты хочешь в одном месте сделать что-то похожее на cfg!() макрос из rust, то нет, так нельзя, это слишком сложно.

Как вы вообще на этом убогом недоязычке что-то пишете?

 

cumvillain
()

Зачем в C _Generic?

Ущербная конструкция вида:

_Generic((e), type1: expr1, type2: expr2) 

Кто-нибудь когда-нибудь смог найти этому применение кроме sqrt для разных типов?

 

cumvillain
()

Чем порисовать диаграммы на десктопе?

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

 

cumvillain
()

Можно ли заставить NetworkManager стартовать WG туннели как VPN?

У NetworkManager есть такая фича: запускать туннель после запуска интерфейса. В случае статической конфигурации в этом не очень много смысла, но в моем случае адрес WG Peer задан как hostname, а не как IP адрес.

И вроде бы все хорошо, добавляем два туннеля в connection.secondaries и погнали.

Но:

$ nmcli connection modify $wifi_uuid connection.secondaries "$vpn1_uuid $vpn2_uuid"
Error: failed to modify connection.secondaries: '$vpn1_uuid' is not a VPN connection profile.

Я искренне не хочу лезть читать код NetworkManager, может быть все-таки есть какая-то опция, о которой я не знаю?

 ,

cumvillain
()

В ядро принесли RAII

Теперь, мальчики и девочки, в ядре можно писать вот такое вот:

scoped_guard(raw_spinlock_irqsave, &foo->lock) {
  [...]
}

и вот такое:

struct device *dev __free(put_device) = kzalloc(sizeof(*dev), GFP_KERNEL);

И никаких больше протекших ресурсов!

Ссылка на merge: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04f2933d375e3f90d4435b7b518d3065afd1fa25

 ,

cumvillain
()

Open Source замена Pure

Как вы наверное знаете, существует такое приложение для быстрых знакомств: Pure. Оно классное и удобное, но проприетарное. Кто-нибудь знает опенсурсный аналог (желательно Android)?

 

cumvillain
()

Роботы насилуют мою звуковую карту

Последние месяца три мой ляптоп периодически издает кошмарные звуки из ада во время проигрывания аудио: сэмпл. Чтобы воспроизвести достаточно либо нагрузить CPU, либо поскроллить видео туда-сюда. Воспроизводится в mpv, в firefox, в cmus. Воспроизводится и через pipewire, и через чистую ALSA с выключенным pipewire. В dmesg ничего нет. В pw-top задержки в пределах нормы. Симптомы убираются если поставить видео на паузу и подождать пока буфер pipewire обнулится (с ALSA тоже помогает, понятное дело, но с pipewire проще мониторить что происходит).

Кто-нибудь сталкивался?

Причастные:

  • Huawei MateBook X Pro 2022
  • Ядро 6.4.7-arch1-1
  • Intel Alder Lake PCH-P High Definition Audio Controller

Вывод lspci:

$ doas lspci -vvvks 00:1f.3
00:1f.3 Multimedia audio controller: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)
	Subsystem: Huawei Technologies Co., Ltd. Alder Lake PCH-P High Definition Audio Controller
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 199
	IOMMU group: 15
	Region 0: Memory at 601d1b8000 (64-bit, non-prefetchable) [size=16K]
	Region 4: Memory at 601d000000 (64-bit, non-prefetchable) [size=1M]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
		Status: D3 NoSoftRst+ PME-Enable+ DSel=0 DScale=0 PME-
	Capabilities: [80] Vendor Specific Information: Len=14 <?>
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee00bf8  Data: 0000
	Kernel driver in use: sof-audio-pci-intel-tgl
	Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl

Выключал энергосбережение, не помогает:

$ echo 0 | doas tee /sys/module/snd_hda_intel/parameters/power_save
$ echo N | doas tee /sys/module/snd_hda_intel/parameters/power_save_controller

 

cumvillain
()

Какой смысл в Development и Admin?

Если половина вопросов это «спасите помогите я не читал документацию», а вторая – набросы, чтобы был скор для толксов?

 

cumvillain
()

ACPI в RISC-V

В стандарт RISC-V для серверных платформ приехал ACPI и UEFI. Сейчас вот в ядро заталкивают. Все, до серверных систем с RISC-V осталось года два. Зовите поцонов из Эльбруса, пусть им жопы порвет :D

 

cumvillain
()

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