LINUX.ORG.RU

Сообщения wandrien

 

Тест китайского CPU в составе китайского ПК (Loongson)

Форум — Talks

Сабж: https://www.youtube.com/watch?v=ahbhydZSF2c

CPU LS3A6000, 4 ядра, 8 потоков, 2.0-2.5 ГГц, L3 16 МБ

TLDR:

  1. Автор видео сравнивал производительность с 12600K. Если для 12600K выставить аналогичные число ядер и максимальную частоту, то он всё равно оказывается быстрее, чем 3A6000.
  2. Сетевая карта аппаратно отвалилась прямо во время тестов.
  3. Дискретная видеокарта не запускается.
  4. Если использовать больше двух устройств USB, у автора начинала глючить мышь.

 ,

wandrien
()

Будущее личных вычислительных систем

Форум — Talks

Хочу рассказать о своём видении некоторой «ментальной модели» – того, как пользователь настоящего и будущего выстраивает и будет выстраивать взаимодействие с программной средой.

Сейчас тенденция такая, что в распоряжении человека становится всё больше различных вычислительных систем.

У пользователя запросто может быть во владении пара смартфонов, планшет, пара ноутбуков, один жирный десктоп, пара крупных мониторов, да еще умный телевизор в полстены.

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

Весь этот зоопарк устройств обусловлен спектром ФИЗИЧЕСКИХ различий. Что-то экономичное и компактное, что-то большое и мощное, а что-то привязано к конкретному рабочем месту – под физически разные контексты необходимы физически разные устройства, что обусловлено объективными ограничениями нашего материального мира и доступных нам технологий.

А вот голова у пользователя – одна. И в этой голове совсем нет необходимости, и одни только проблемы от того, что у вас есть, скажем, восемь разных «мест», в которых лежат разные данные, установлены разные программы, выполнен вход в разные сервисы, применены различные персональные настройки и так далее.

Виртуальный мир, в котором лежат ваши фоточки любимого котика, ваши скрипты для автоматизации рабочего места, список дел на месяц вперёд и так далее — он у вас один, и его фрагментация на физически разные устройства создаёт только головную боль и лишнюю трату времени.

Вот этот «перенос данных в облака» — он как раз про это — про то, чтобы отвязать ваше личное информационное пространство от физической коробки.

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


Итак, у моих данных есть некоторый «дом по умолчанию». В моём случае это ноутбук. Это решение сегодняшнего дня, но оно меня устраивает не всецело. В идеале, таким решением должен быть смартфон как более компактный и лёгкий девайс.

А если говорить точнее, то между моим ноутбуком и смартфоном не должно быть никакой разницы.

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

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

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

После этого разница для меня как пользователя только в том, что десктоп мощный и стационарный, а лаптоп – переносимый, но не такой мощный.


То же самое верно при временном использовании устройств. Если я прихожу на работу или к подруге, то я достаточно доверяю им, чтобы с их устройства работать со своими данными (а все мои данные — на смартфоне), но не достаточно доверяю, чтобы они имели доступ к моим данным в моё отсутствие.

Это означает, что я временно авторизую новую машину как терминал для работы с моим смартфоном. И далее могу работать в привычной мне среде с моим данными.

А как было сказано выше — между моим ноутбуком и смартфоном не должно быть никакой разницы. Следовательно, я работаю с чужой машины точно так же, как если бы я сидел дома за своим ноутбуком.


Всё вышеописанное вполне естественным образом ведёт нас к peer-2-peer структуре. Не той, которая «противостоит цензуре и за свободу информации», а сугубо практической её стороне — упрощение управления зоопарком машин, снижение затрат на их администрирование, на управление личными данными.

В такой модели «владение данными» и «обработка данных» отвязаны от «владения железом» и от административных издержек, с ним связанных.

Также такой подход можно назвать термином Zero Effort, который я придумал только что. Суть этого подхода состоит в том, что мы решительно устраняем любые издержки на какой-либо процесс… концептуально меняя парадигму софта и работы с ним. То самое: «Идеальный прибор — когда прибора нет, а функции его выполняются.»

К сожалению, будущее пока еще не наступило. Пока мы имеем только отдельные кусочки пазла в разных областях, которые являются прототипами и не готовы собраться в единое целое. Вот некоторые примеры:

  • ZeroInstall — децентрализованная кросс-платформенная система инсталляции софта, отвязанная от операционной системы (но способная использовать общесистемный кэш артефактов при соответствующей настройке). Флатпак здорового человека, если бы его делали не архитектурные астронавты.
  • ZeroNet — децентрализованная система доставки и исполнения веб-сайтов и веб-приложений.
  • IPFS — децентрализованная система доставки файлов по хэш-суммам.
  • syncthing — децентрализованное средство прозрачной синхронизации файлов между машинами.

Каждое из этих решений вполне подходит под концепцию Zero Effort:

  • ZeroInstall устраняют издержки на обслуживание пакетной базы операционной системы, устраняя идею общесистемной пакетной базы.
  • ZeroNet и IPFS устраняют издержки на обслуживание хостинга путём уничтожения понятия хостинга как самостоятельной единицы, необходимой для функционирования веб-сайта.
  • syncthing устраняет издержки на обслуживание физически разных носителей, делая их физически разнесёнными зеркалами одного виртуального носителя.

P.S.

4 указанных примера на мой взгляд являются реальными инновациями и движением вперёд согласно духу времени и потребностям людей. А вот изобретение очередной оконной системы, звукового сервера и переписывание очередной библиотеки на Раст — никак таковыми не являются.

syncthing был реализован на Go, и это никак ему не помешало.

 , , ,

wandrien
()

Об особенностях учёта потребления памяти

Форум — General

Ситуация:

Была запущена opera, которая жрёт 6 гигов, + была запущена игруля. В результате система вытеснила Оперу и всё ненужное в своп. Теперь закрываем игрулю, а затем закрываем Оперу.

Остаётся вот такая картина:

vadim@aquila:~$ free -m
               total        used        free      shared  buff/cache   available
Mem:           15906        1647       13367         711        1915       14259
Swap:           8191        4887        3304

Как видно, занято 4887 метров в свопе. Я уже знаю, что это течёт моя программа, но суть тут в том, что смотрим как работает учёт потребления памяти. Вырубаем своп:

vadim@aquila:~$ sudo swapoff -a
[sudo] пароль для vadim: 
vadim@aquila:~$ free -m
               total        used        free      shared  buff/cache   available
Mem:           15906        6511        8494        5139        6351        9395
Swap:              0           0           0

Теперь вся утёкшая память загружена из свопа обратно в ОЗУ. И она, внезапно, в секции shared. И при этом она же — в секции «buff/cache»! А вот это неожиданно.

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

buff/cache 6351 - 1915 =  4436
shared     5139 - 711  =  4428
used       6511 - 1647 =  4864
swap used  0    - 4887 = -4887

Теперь смотрим htop:

https://ibb.co/QYqJGbG

И как видно, в htop нет большого объёма «buff/cache». Он понимает, что «buff/cache» и shared дублируют друг друга.

И также видно, что утёкшая память не отображается ни в RESIDENT, ни в SHARED, ни даже в VIRTUAL ни одного процесса. Она есть, она учитывается системой как занятая, но её нет в счётчиках показателей потребления памяти процессов.

Теперь убиваем виновника:

vadim@aquila:~$ killall stuurman-desktop
vadim@aquila:~$ free -m
               total        used        free      shared  buff/cache   available
Mem:           15906        1782       13214         442        1663       14124
Swap:              0           0           0

Смотрим разницу показателей, вот столько памяти у нас освободилось:

buff/cache 6351 - 1663 = 4688
shared     5139 - 442  = 4697
used       6511 - 1782 = 4729

Итак, пока только один вывод:

  • Реальное потребление памяти процессом может быть никак не связано с числами, которые htop показывает для процесса.

И остались открытые вопросы:

  1. Что именно показывает free и что именно показывает htop для общесистемных показателей. Придётся заглянуть в код, чтобы узнать точно.
  2. Как при таких условиях искать источник большого потребления ОЗУ в случае, если у нас нет возможности убивать все подозреваемые процессы подряд.
  3. А, ну и чуть не забыл. Надо всё-таки найти и исправить утечку в моём коде… когда-нибудь уже.

 , , ,

wandrien
()

Новый диалог открытия файлов GNOME

Форум — Talks

Разработчики GNOME подвели итоги работы, проведённой в проекте за последнюю неделю. Мэйнтейнер файлового менеджера Nautilus (GNOME Files) опубликовал планы по созданию реализации интерфейса выбора файлов (Nautilus.org.freedesktop.impl.portal.FileChooser), который может применяться в приложениях вместо диалогов открытия файлов, предоставляемых GTK (GtkFileChooserDialog). По сравнению с реализацией из GTK в новом интерфейсе будет обеспечено более близкое к GNOME поведение и визуальное оформление, а также будут задействованы элементы и расширенные возможности платформы GNOME, такие как libadwaita и пометка избранных файлов звёздочкой.

(Источник: https://www.opennet.ru/opennews/art.shtml?num=60939)

Картинко: https://thisweek.gnome.org/posts/2024/04/twig-142/0986a0a3dabcb41da5823158529d99e3bc6044811776317521763237888.png

  1. Хорошая новость: Гном наконец-то понял, что диалог открытия файлов должен делаться на основе файлового менеджера. На это ушло всего… 27 лет.
  2. Плохая новость: теперь диалог открытия файлов будет тормозить так же как весь Наутилус.

 , , ,

wandrien
()

Minimal 64x4: 8-битный компьютер на чипах 74xx серии, без микропроцессора

Форум — Talks

Автор пишет, что компьютер по производительности в 4 раза превосходит Commodore C64 и Apple II.

 , , ,

wandrien
()

Как поживает ReactOS в 2024 году

Форум — Talks

Сабж: https://www.youtube.com/watch?v=E-VDF85F-XY

TLDR:

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

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

Ядро и критичные системные компоненты нуждаются в существенных доработках и исправлении багов. Заниматься этим некому. Та малая часть коммитов, которая по коммит логу идёт в ntoskrnl и другие критичные вещи — это капля в море.

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

 ,

wandrien
()

Всё еще торт

Форум — Talks

@Irma и @thesis имеют наилучшее чувство юмора на ЛОРе.

Их можно читать вместо почивших квотезов.

 

wandrien
()

Моё видение важных фич, в настоящее время отсутствующих в экосистеме СПО

Форум — Development

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

Интероперабельность по файловым системам между разными ОС

Реализация полной поддержки ext4 для ядер FreeBSD, NetBSD и ReactOS/NT.

Реализация полной поддержки UFS/FFS для ядер Linux и ReactOS/NT.

Реорганизация исходного кода glibc и вынос оттуда логики сервисов в демоны

Известная особенность, что glibc не может быть собрана полностью статически, поскольку завязана на модульный механизм, связанный с загрузкой произвольного набора *.so, предоставленных другими компонентами ОС.

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

Это позволит собирать программы полностью статически, при этом гибко используя любые фичи ОС, предоставленные этим модульным механизмом. (А на него много чего завязано, от резолвинга DNS, до перечисления юзеров в системе.) А также улучшит интероперабельность между дистрибутивами.

Это позволит также использовать полный набор фич, предоставленных механизм Name Service Switch, для приложений, которые вообще не используют glibc.

Универсальный формат бинарника для запуска на разных ОС и универсальное ABI, отвязанное от конкретного ядра

То, что универсальный формат бинарника, запускающийся на самых разных ядрах, в принципе возможен – доказал проект cosmopolitan libc.

Однако этот проект имеет недостатки:

  • Для главной разработчицы всё это какая-то игрушка, разработка ведётся без конкретных целей и задач. Иными словами, я такой разработчице не доверяю. Нужен кто-то более серьёзный, если закладываться на проект как на важный инфраструктурный элемент.
  • Проект ставит целью сборку только полностью статических бинарников, таким образом ABI в них отсутствует. Хотелось бы видеть ОС-независимую реализацию модульной экосистемы, с возможностью грузить *.so точно так же, как это делается в обычных ОС.

В идеале хотелось бы видеть тулчейн, который способен собрать стек библиотек начиная от базовых и вплоть до графических тулкитов, и при этом получившийся набор библиотек способен работать поверх Linux, FreeBSD, NetBSD – как минимум.

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

Применение pacman и makepkg для дистрибутивов с фиксированным релиз-циклом

Из всего зоопарка пакетных менеджеров, по моему опыту самым беспроблемным в эксплуатации является pacman и лёгким для создания пакетов. Хотелось бы видеть на нём действительно разные ОС с разным подходом к релиз циклу, а не просто респины Арча.

Было бы интересно увидеть мета-дистрибутив, который объединяет все перечисленные наработки, предоставляя возможность использовать ядра Linux/FreeBSD/NetBSD и при этом имея прикладное ABI, отвязанное от ABI ядра.

 , , ,

wandrien
()

Нужен совет по придумыванию синтаксиса

Форум — Development

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

ПЕРВЫЙ:

// циклы с предусловием:

while condition do
    statements
end:while

until condition do
    statements
end:until

// циклы с постусловием:

do
    statements
repeat while condition;

do
    statements
repeat until condition;

// вечный цикл:

do
    statements
repeat forever;

// простой блок кода:

block
    statements
end:block

ВТОРОЙ:


// циклы с предусловием:

while condition loop
    statements
end:while

until condition loop
    statements
end:until

// циклы с постусловием:

loop
    statements
repeat while condition;

loop
    statements
repeat until condition;

// вечный цикл:

loop
    statements
repeat forever;

// простой блок кода:

do
    statements
end:do

 ,

wandrien
()

«Перспективные» и малоизвестные проекты ЯП

Форум — Development

А накидайте, какие есть малоизвестные проекты языков программирования, которые пилятся или пилились энтузиастами в последние годы? Интересуют компилируемые ЯП, ориентированные на компиляцию в нативный код. (Еще лучше, если у реализации есть собственный бэк, а не просто фронт для LLVM.)

Из того, что я мог вспомнить:

  • Nim
  • Zig
  • Seed7
  • VLang
  • Crystal
  • OOC

 , , ,

wandrien
()

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

Форум — Linux-hardware

Топик не имеет конкретного вопроса или проблемы. Мысли вслух, которые, возможно, спровоцируют какую-нибудь интересную беседу в комментах.

Заметил несколько дней назад, что ноут стал перегреваться - доходит до порога 95 градусов и сбрасывает частоты. Надо почистить СО и поменять термопасту. Но так как мне было лень доехать до магазина за термопастой (и до сих пор лень), я пока временно сделал так:

cpupower frequency-set --min 800MHz --max 1900MHz

Так и сижу уже пять дней на сниженных частотах)

После этого я вдруг вспомнил, что у нас в семье есть ноут, который уже около 10 лет работает без обслуживания и признаков перегрева не имеет. Это Lenovo B590 с процессором Celeron 1005M. Техпроцесс 22 нм. Решил посмотреть, что у него с тепловыделением CPU.

В простое температура 45-50 градусов и мощность - около 4 Вт.

Под нагрузкой в тесте OCCT мощность увеличивается до 9 Вт, а температура сначала резко растёт до 57 градусов, а затем по мере прогрева корпуса плавно увеличивается до 67 за 10 минут. Напряжение ядра 0.78 В - постоянное. Максимальная частота 1.9 ГГц держится стабильно.

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

В моём ноуте процессор Core i5-2450M. Техпроцесс 32 нм. На свободный раздел подкинул винду, чтобы тоже погонять OCCT. Результаты получились такие.

В простое температура 45-50 градусов и мощность - около 4 Вт.

В тесте OCCT процессор бустится до своих максимальных 3.1 ГГц. Краткое время удерживает удерживает эту частоту, потом падает до базового порога 2.5 ГГц. Еще через несколько секунд процессор разогревается до 95 градусов - порога срабатывания теплового троттлинга, и частота начинает проседать сначала до 2.2 ГГц, а затем до 1.8 ГГц, и плавает между этими двумя значениями. В среднем около 2.0 ГГц.

Мощность в начале теста составляет 29 Вт и затем постепенно снижается до 22 Вт в установившемся режиме теплового троттлинга.

В отличие от Celeron, напряжение ядер меняется вместе с частотой. В простое 0.77 В. При бусте - вплоть до 1.22 В. В установившемся режиме теплового троттлинга - около 1.0 В.

Также я обнаружил, что у этих поцессоров разный порог нижних частот. У Celeron 1005M - 1.2 ГГц. У Core i5-2450M - 0.8 ГГц. Таким образом у Celeron вилка частот составляет всего 1.2..1.9 ГГц, всего лишь 700 МГц разницы. Видимо, вся эта вилка покрывается минимальным значением напряжения питания без необходимости поднимать напряжение. Чем и обеспечивается его экономичность.

Короче, в текущем виде необслуженная система охлаждения может отвести максимум 22 Вт тепла, что недостаточно для выхода на максимальную производительность для Core i5-2450M. Ноут у меня Samsung NP300E5Z. Надо сказать, я помню, у этого ноута даже свежеобслуженная СО работает на пределе, с трудом справляясь с удержанием процессора от перегрева под полной нагрузкой.

Я пытался нагуглить аналог команды cpupower frequency-set для винды, но не смог найти подходящей программы. Нашел, что в программе ThrottleStop должна быть соответствующая настройка, но на моём CPU она отображается неактивной. Удивительно.

Также я вчера не смог нагуглить, как непосредственно от ядра Linux посмотреть напряжение питания ядер и потребляемую мощность CPU (либо их ток). Хотя утилита powertop откуда-то отображает мощность CPU. Но я не очень ей верю, значения выглядят заниженными.

Я размышлял об апгрейде CPU до Core i7-2860QM, но для этого нужно как-то качественно улучшить систему охлаждения, что я не представляю, как сделать в рамках ноута. Одна тепловая трубка, слабая турбинка. Да и VRM на материнской плате вряд ли способен выдать 45 Вт на нагрузку. Возможность управлять напряжением, чтобы сделать андервольт, в BIOS не завезли.

В общем, такие вот мысли. Расскажите мне чего-нибудь, чего я не знаю, и поделитесь своим опытом. =)

 , vrm, , ,

wandrien
()

Arch Linux на Acer Extensa 4220 (Core 2 Duo T6570)

Форум — Desktop

По просьбе @alex0x08 публикую видео работы современного Linux на старом железе:

https://youtu.be/HY88XhYoJr8

 , , , ,

wandrien
()

Проверьте баг в poedit

Форум — Development

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

У кого более-менее чистый Арч установлен, можете проверить у себя этот баг?

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

Если у вас не Арч, но версия wxwidgets именно 3.2.x, тоже дайте знать, есть ли баг.

 ,

wandrien
()

Китайцы делают ноутбуки со съемными процессорами

Форум — Linux-hardware

Узнал об этом из видео на канале Ремонтяша: https://www.youtube.com/watch?v=CVUtBWiPcCY

Может кому будет полезна данная информация при выборе ноутбука.

 , ,

wandrien
()

«Фонарик» с плавным гашением

Форум — Mobile

Пока читал обсуждение в теме KDE гасит экран постепенно , вспомнил, чего давно искал.

Хотелось бы такое приложение на Андроид, которое делает псевдо-фонарик в виде светящегося экрана со следующими возможностями:

  • Можно задать цвет заливки экрана.
  • Можно задать время свечения экрана.
  • По прошествии заданного времени экран ПЛАВНО гаснет.

Никто не встречал? Я пытался гуглить, но что пробовал, всё не то.

 , фонарик

wandrien
()

Пропатченный GVFS

Галерея — Скриншоты

Сегодня мне вдруг надоело мозолить глаза о неинформативные названия томов файловой системы, которые отображаются в боковой панели файловых менеджеров и в диалогах «Открыть/Сохранить». И я решил докопаться до кода, который эти имена выводит:

  • Прикладным интерфейсом, через который приложения получают эти имена, является библиотека GIO.
  • Непосредственно перечислением устройств, монтированием, размонтированием и т.п. занимается демон udisksd из пакета udisks2. Прикладной код с ним может общаться через dbus.
  • Промежуточным звеном, которое от учётной записи пользователя общается с udisks2 и предоставляет информацию для интерфейса gio, является gvfs. Точнее, один из нескольких специализированных демонов в составе этого пакета.

Посмотрев в исходники, я обнаружил, что никакой кастомизации, как отображать имена томов, в gvfs не предусмотрено. Поэтому я запатчил код и пересобрал пакет.

Результат вы видите на изображении - Было/Стало:

  • Больше не отображается бесполезных надписей «Том XXX ГБ» («XXX GB Volume» в английской локализации).
  • Для всех томов отображается название устройства в каталоге /dev, метка и размер.
  • У всех LVM-томов будут вменяемые имена, а не просто dm-1, dm-2…
  • Список томов сортируется по названию устройства. Так что все sda* будут раньше всех sdb* и так далее.

Так как патч действует на уровне демона платформы, он действует на любые приложения, использующие API gio. Как минимум, это:

  • большинство файловых менеджеров на GTK, таких как thunar, caja, pcmanfm и т.п.;
  • диалоги «Открыть/Сохранить» в приложениях на gtk.
  • диалоги «Открыть/Сохранить» в приложениях на qt, когда включена интеграция с платформой gtk.

Ссылки:

 , , , ,

wandrien
()

Блоатварь - неизбежное будущее линуксового народа. Таков путь.

Форум — Talks

Запустил отладку своей программы в gdb. Нажал Y на предложение скачать отладочную информацию для системных библиотек. В результате имел возможность наблюдать, СКОЛЬКО всего там этих самых библиотек:

(gdb) run
Starting program: /media/stuff/vadim/builds/stuurman/bin/stuurman 

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.archlinux.org>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Downloading separate debug info for /lib64/ld-linux-x86-64.so.2
Downloading separate debug info for system-supplied DSO at 0x7ffff7fc8000
Downloading separate debug info for /usr/lib/libX11.so.6
Download failed: Таймер истек.  Continuing without separate debug info for /usr/lib/libX11.so.6.
Downloading separate debug info for /usr/lib/libgtk-x11-2.0.so.0
Download failed: Таймер истек.  Continuing without separate debug info for /usr/lib/libgtk-x11-2.0.so.0.
Downloading separate debug info for /usr/lib/libgdk-x11-2.0.so.0
Downloading separate debug info for /usr/lib/libpangocairo-1.0.so.0
Downloading separate debug info for /usr/lib/libatk-1.0.so.0
Downloading separate debug info for /usr/lib/libcairo.so.2
Downloading separate debug info for /usr/lib/libgdk_pixbuf-2.0.so.0
Downloading separate debug info for /usr/lib/libpangoft2-1.0.so.0
Downloading separate debug info for /usr/lib/libfontconfig.so.1
Downloading separate debug info for /usr/lib/libfreetype.so.6
Downloading separate debug info for /usr/lib/libpango-1.0.so.0
Downloading separate debug info for /usr/lib/libharfbuzz.so.0
Download failed: Таймер истек.  Continuing without separate debug info for /usr/lib/libharfbuzz.so.0.
Downloading separate debug info for /usr/lib/libmenu-cache.so.3
Downloading separate debug info for /usr/lib/libexif.so.12
Downloading separate debug info for /usr/lib/libgthread-2.0.so.0
Downloading separate debug info for /usr/lib/libgio-2.0.so.0
Download failed: Таймер истек.  Continuing without separate debug info for /usr/lib/libgio-2.0.so.0.
Downloading separate debug info for /usr/lib/libgobject-2.0.so.0
Downloading separate debug info for /usr/lib/libglib-2.0.so.0
Downloading separate debug info for /usr/lib/libm.so.6
Downloading separate debug info for /usr/lib/libc.so.6
Download failed: Таймер истек.  Continuing without separate debug info for /usr/lib/libc.so.6.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Downloading separate debug info for /usr/lib/libxcb.so.1
Downloading separate debug info for /usr/lib/libgmodule-2.0.so.0
Downloading separate debug info for /usr/lib/libXfixes.so.3
Downloading separate debug info for /usr/lib/libXrender.so.1
Downloading separate debug info for /usr/lib/libXinerama.so.1
Downloading separate debug info for /usr/lib/libXi.so.6
Downloading separate debug info for /usr/lib/libXrandr.so.2
Downloading separate debug info for /usr/lib/libXcursor.so.1
Downloading separate debug info for /usr/lib/libXcomposite.so.1
Downloading separate debug info for /usr/lib/libXdamage.so.1
Downloading separate debug info for /usr/lib/libXext.so.6
Downloading separate debug info for /usr/lib/libz.so.1
Downloading separate debug info for /usr/lib/libpng16.so.16
Downloading separate debug info for /usr/lib/libxcb-render.so.0
Downloading separate debug info for /usr/lib/libxcb-shm.so.0
Downloading separate debug info for /usr/lib/libpixman-1.so.0
Downloading separate debug info for /usr/lib/libjpeg.so.8
Downloading separate debug info for /usr/lib/libtiff.so.6
Downloading separate debug info for /usr/lib/libexpat.so.1
Downloading separate debug info for /usr/lib/libbz2.so.1.0
Downloading separate debug info for /usr/lib/libbrotlidec.so.1
Downloading separate debug info for /usr/lib/libfribidi.so.0
Downloading separate debug info for /usr/lib/libthai.so.0
Downloading separate debug info for /usr/lib/libgraphite2.so.3
Downloading separate debug info for /usr/lib/libmount.so.1
Downloading separate debug info for /usr/lib/libffi.so.8
Downloading separate debug info for /usr/lib/libpcre2-8.so.0
Downloading separate debug info for /usr/lib/libXau.so.6
Downloading separate debug info for /usr/lib/libXdmcp.so.6
Downloading separate debug info for /usr/lib/libzstd.so.1
Downloading separate debug info for /usr/lib/liblzma.so.5
Downloading separate debug info for /usr/lib/libjbig.so.2.1
Downloading separate debug info for /usr/lib/libbrotlicommon.so.1
Downloading separate debug info for /usr/lib/libdatrie.so.1
Downloading separate debug info for /usr/lib/libblkid.so.1
Downloading separate debug info for /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
Downloading separate debug info for /usr/lib/libcanberra-gtk.so.0
Downloading separate debug info for /usr/lib/libcanberra.so.0
Downloading separate debug info for /usr/lib/libvorbisfile.so.3
Downloading separate debug info for /usr/lib/libtdb.so.1
Downloading separate debug info for /usr/lib/libltdl.so.7
Downloading separate debug info for /usr/lib/libvorbis.so.0
Downloading separate debug info for /usr/lib/libogg.so.0
Downloading separate debug info for /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
Downloading separate debug info for /usr/lib/gtk-2.0/2.10.0/engines/libadwaita.so
Downloading separate debug info for /usr/lib/gio/modules/libgioremote-volume-monitor.so
Downloading separate debug info for /usr/lib/gvfs/libgvfscommon.so
Downloading separate debug info for /usr/lib/gio/modules/libgvfsdbus.so
Downloading separate debug info for /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
Downloading separate debug info for /usr/lib/librsvg-2.so.2
Downloading separate debug info for /usr/lib/libcairo-gobject.so.2
Downloading separate debug info for /usr/lib/libxml2.so.2
Downloading separate debug info for /usr/lib/libicuuc.so.73
Download failed: Таймер истек.  Continuing without separate debug info for /usr/lib/libicuuc.so.73.
Downloading separate debug info for /usr/lib/libicudata.so.73
Downloading separate debug info for /usr/lib/libcanberra-0.30/libcanberra-multi.so
Downloading separate debug info for /usr/lib/libcanberra-0.30/libcanberra-pulse.so
Downloading separate debug info for /usr/lib/libpulse.so.0
Downloading separate debug info for /usr/lib/pulseaudio/libpulsecommon-16.1.so
Downloading separate debug info for /usr/lib/libdbus-1.so.3
Downloading separate debug info for /usr/lib/libsndfile.so.1
Downloading separate debug info for /usr/lib/libsystemd.so.0
Downloading separate debug info for /usr/lib/libasyncns.so.0
Downloading separate debug info for /usr/lib/libvorbisenc.so.2
Downloading separate debug info for /usr/lib/libFLAC.so.12
Downloading separate debug info for /usr/lib/libopus.so.0
Downloading separate debug info for /usr/lib/libmpg123.so.0
Downloading separate debug info for /usr/lib/libmp3lame.so.0
Downloading separate debug info for /usr/lib/libcap.so.2
Downloading separate debug info for /usr/lib/libgcrypt.so.20
Downloading separate debug info for /usr/lib/liblz4.so.1
Downloading separate debug info for /usr/lib/libgpg-error.so.0
Downloading separate debug info for /usr/lib/libcanberra-0.30/libcanberra-alsa.so
Downloading separate debug info for /usr/lib/libasound.so.2

Минут 20 ждал, между прочим. Как видно, скачивание некоторых файлов даже оборвалось по тайм-ауту.

Невольно возникает вопрос: а точно ли весь этот хлам необходим для программы, которая по функциям не далеко ушла от какого-нибудь виндового Проводника из 90-х? Парсер XML и всякий ICU - это всё понятно, но… все подряд аудиокодеки, компрессоры и libsystemd?…

Впрочем, указанный список - это всё еще существенно меньше лишнего кода, чем если запускать софт на фреймворке KDE.

Иногда так и подмывает запустить какую-нибудь Haiku, а то и вовсе kolibriOS, и познать дзен.

 , ,

wandrien
()

Dependency hell

Форум — Talks

Давайте я расскажу, как пакетная база разваливается в стабильном дистрибутиве.

Вот нужно нам поставить драйвер для rtl8188eu. Смотрим в репах:

ester / # dnf search 8188
dkms-rtl8188eu.x86_64 : The standalone RTL8188EU driver
dkms-rtl8188eu.i686 : The standalone RTL8188EU driver
dkms-rtl8188gu.noarch : The standalone RTL8188gu driver
kernel-module-8188gu-5.15-generic.x86_64 : Binary module 8188gu for kernel-5.15-generic
kernel-module-8188gu-5.15-generic.i686 : Binary module 8188gu for kernel-5.15-generic
kernel-module-8188gu-6.1-generic.x86_64 : Binary module 8188gu for kernel-6.1-generic
kernel-module-8188gu-6.1-generic.i686 : Binary module 8188gu for kernel-6.1-generic
kernel-source-rtl8188gu.noarch : Source code of RTL8188gu kernel driver
ester / # dnf info dkms-rtl8188eu.x86_64
Имеющиеся пакеты
Имя          : dkms-rtl8188eu
Версия       : 4.1.8
Выпуск       : 0.775137f.1
Архитектура  : x86_64
Размер       : 436 k
Источник     : rtl8188eu-4.1.8-0.775137f.1.src.rpm
Репозиторий  : mirror-rosa-x86_64-contrib
Краткое опис : The standalone RTL8188EU driver
URL          : https://github.com/lwfinger/rtl8188eu
Лицензия     : GPLv2
Описание     : This package contains the driver for Realtek 8188 802.11n USB wireless
             : adapters (RTL8188EU).

Пробуем поставить. Получаем говна на лопате вместо установки:

ester / # dnf install dkms-rtl8188eu.x86_64
Ошибка: 
 Проблема: package dkms-rtl8188eu-4.1.8-0.775137f.1.x86_64 requires dkms, but none of the providers can be installed
  - package kernel-6.1-generic-6.1.20-2.x86_64 requires (kernel-6.1-generic-devel(x86-64) = 6.1.20-2 if dkms), but none of the providers can be installed
  - conflicting requests
  - problem with installed package kernel-6.1-generic-6.1.20-2.x86_64
(попробуйте добавить «--skip-broken» для пропуска удаляемых пакетов или «--nobest», чтобы использовать не только наилучшие варианты пакетов)

Ладно, давайте выясним, чо ему не нравится.

Вот такие ядра установлены в системе:

ester / # dnf list installed | grep kernel-6.1-generic
kernel-6.1-generic.x86_64                           6.1.20-2                   @Main                       
kernel-6.1-generic.x86_64                           6.1.58-1                   @mirror-rosa-x86_64-main    
task-kernel-6.1-generic.x86_64                      0.4-2                      @Main                       

А вот для таких ядер есть заголовочные файлы в репозитории:

ester / # dnf repoquery --whatprovides kernel-devel
kernel-5.10-generic-devel-0:5.10.184-1.i686
kernel-5.10-generic-devel-0:5.10.184-1.x86_64
kernel-5.15-generic-devel-0:5.15.127-1.i686
kernel-5.15-generic-devel-0:5.15.127-1.x86_64
kernel-5.16-generic-devel-0:5.16.19-2.i686
kernel-5.16-generic-devel-0:5.16.19-2.x86_64
kernel-5.17-generic-devel-0:5.17.11-2.i686
kernel-5.17-generic-devel-0:5.17.11-2.x86_64
kernel-5.4-generic-devel-0:5.4.150-1.i686
kernel-5.4-generic-devel-0:5.4.150-1.x86_64
kernel-6.1-generic-devel-0:6.1.19-1.i686
kernel-6.1-generic-devel-0:6.1.19-1.x86_64
kernel-6.1-generic-devel-0:6.1.58-1.i686
kernel-6.1-generic-devel-0:6.1.58-1.x86_64

Ну вы поняли, да?

Вы берёте официальный установщик ROSA Desktop Fresh. Ставите с него систему. Получаете оттуда ядро 6.1.20-2. Обновляетесь из официального репозитория до самых свежих пакетов.

А ХИДЕРОВ К ЭТОМУ ЯДРУ В РЕПОЗИТОРИИ НЕТ.

Есть только хидеры для 6.1.19-1 и 6.1.58-1.

Такая вот стабильная платформа. Фантастично…

Чо-то я разочарован.

 , ,

wandrien
()

Странная проблема (?) с GIMP

Форум — Multimedia

В общем даже хз, как объяснить.

Вот смотрите, гимп, запущенный под оффтопиком: https://ibb.co/sPptFP4

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

Когда я использую гимп на онтопике, то я могу делать увеличение масштаба вплоть до 1000%, и эта шахматная сетка на всех масштабах рисуется.

Но когда я в версии под оффтопик пытаюсь сделать масштаб больше чем 200%, то сетка перестаёт рисоваться, и вместо неё отображается однотонный серый фон.

Как мне сделать, чтобы под виндой поведение было аналогично как под линем? Кто-нибудь сталкивался?

Версия: GIMP 2.10.34 (редакция 2)

P.S. И да, линукс тут при том, что GIMP- это СПО, а мы на http://opensource.ru/

 

wandrien
()

Есть возможность в gimp сделать кастомную панель с кнопками для нужных фильтров/трансформаций/пресетов инструментов?

Форум — Multimedia

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

 

wandrien
()

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