LINUX.ORG.RU

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

Тонкий клиент WYSE C10LE и состояние 32-битных систем

 ,

Запустил Debian 11 с LXQt на WYSE C10LE — тонком клиенте из 2010, построенном на платформе VIA Eden Esther VX855 — несуперскалярном 32-битном процессоре x86 с частотой в 1 ГГц, 512 МБ DDR2 RAM и 128 МБ флеш-памяти, подключённой к шине IDE.

Процессор относительно современный, в наличии SSE2 и SSE3 (PNI). За видео в этом SoC отвечает VIA Chrome9 HCM, поддерживающий DirectX 9 и декодирование H.264 в Windows, но в Linux обеспечивающий только самое базовое 2D-ускорение средствами открытого драйвера OpenChrome. Также существует проприетарный драйвер, поддерживающий 2D и 3D, но только под Ubuntu 12.04-12.10.

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

На фотографии представлен веб-браузер Qutebrowser с 7 открытыми вкладками, в режиме работы с QtWebkit. Как видно, даже с 7 вкладками (2 из которых ­— страницы Википедии с большим количеством картинок) браузер потребляет около 140 мегабайт, что позволяет комфортно сёрфить интернет на смешных 512 МБ RAM.
Из других браузеров, до сих пор поддерживающих QtWebkit, можно отметить Otter Browser и KDE’шный Konqueror, который дополнительно поддерживает еще и KHTML (3 движка в одном браузере), но в Debian собран только с WebEngine. Первый в репозиториях Debian не присутствует.
Браузер Seamonkey, актуальная версия которого построена на базе движка из Firefox 60, работает более-менее сносно, но не блестяще — рендерит дольше QtWebkit’а примерно в 2-3 раза, потребляет заметно больше памяти, зато работает со всеми современными сайтами. Можно использовать в качестве запасного варианта, когда QtWebkit не справляется.

Опробовав разные дистрибутивы на этой машине, обнаружил следующие особенности и проблемы:

  1. Syslinux на этой платформе запускается сам и загружает ядро и initrd на порядок быстрее GRUB2 — 5 секунд против примерно 1 минуты. Бегло посмотрев код загрузки ядра и включив режим отладки в GRUB, каких-то очевидных проблем, которые могут вести к такому поведению, не обнаружил, детально отлаживать не стал. Загрузка в GRUB2 происходит по USB 2.0, не по 1.1 (загрузчик plop перед запуском grub не ускоряет процесс).
  2. У syslinux на удивление плохая документация. Quick start’ы из wiki все какие-то недописанные — не пошаговое руководство, а разрозненная информация. Нигде не говорится о необходимости копирования .c32-файлов, если нужно меню — додумался сам, благо кучу раз видел файлы syslinux в других дистрибутивах.
  3. С некоторыми вызовами ACPI на WYSE наблюдаются проблемы. В частности, thermal-подсистема отдаёт ответ по 5-6 секунд, что и замедляет загрузку ядра, и тормозит на 5-6 секунд каждый вызов утилиты sensors. Благо, в ядре есть отдельный thermal-драйвер под процессор, что позволяет отключить ACPI thermal без последствий и потери в функциональности.
  4. Все GTK3-приложения подтормаживают, медленно прорисовывают окна, с задержкой откликаются на действия. Возможно, дело в теме, но её смена и попытка отключить все анимации к заметному ускорению не привели. GTK2 и Qt5 откликаются на действия быстро, работают хорошо.
  5. В последних версиях ядра Linux (в т.ч. LTS-ветке 5.15) присутствует ошибка, приводящая к зависанию этого процессора (вот эта проблема)
  6. Графический сеанс Debian не запускался сразу после установки. Проблема оказалась в systemd: systemd-logind устанавливает опцию CanGraphical=false из-за видео, потому, что драйвер OpenChrome выполнен в виде X.org DDX, и ни DRM, ни FB не поддерживаются. Простое решение — добавить nomodeset в строку запуска ядра: [1 (github.com)], [2 (github.com)]
  7. В archlinux32 всё сломано: многие программы не запускаются из-за обновлений библиотек без перекомпиляции всех пакетов, от них зависящих, т.к. не всегда их возможно перекомпилировать с современными версиями библиотек и компиляторов (многим «жирным» проектам требуется больше 4 ГБ виртуальной памяти для сборки, они падают на 32-битных системах, а кросс-компиляция в archlinux32 не используется). Разработчики выпускают shim-пакеты со старыми библиотеками, чтобы хоть как-то вернуть работоспособность программ, но библиотеки необходимо устанавливать вручную, в виде зависимостей к пакетам они не прописаны.
    Устанавливаешь chromium — не запускается, seamonkey — не запускается. Удручающее зрелище.
  8. Дистрибутив slitaz включает веб-браузер и кучу программ в 50 мегабайт iso-образа, но тоже страдает от проблем с версионностью библиотек. Многие пакеты серьёзно устрарели, но сам факт возможности упаковки веб-браузера, аудио и видеоплеера, полноценной темы со всеми иконками, всех возможных средств настройки системы и прочего всего в 50 мегабайт впечатляет. Проект почти не развивается.
  9. Основные устоявшиеся дистрибутивы Linux либо не формируют .iso для x86, либо вовсе не предоставляют 32-битных пакетов. Некоторые форки RHEL, такие как Rocky Linux, можно забутстрапить из 32-битных репозиториев, также есть x86 ISO OpenSUSE Tumbleweed (который rolling release), но если смотреть глобально, полноценная поддержка x86 осталась только в Debian.
  10. zstd даже с -22 –long не дотягивает до степени сжатия xz -5 для упаковки rootfs.
ValdikSS
()

лучший ланчер для вин-игр?

 , , ,

Lutris/cedega/CrossOver/PoL/etc?

darkenshvein
()

fstab перестал монтировать NFS

 , , ,

Всем привет! Есть у меня хранилка домашняя, на ней каталог который я обычно монтировал fstab'ом к домашнему компу. Так вот некоторое время назад я начал получать ошибку «превышено время ожидания командной строки» от Наутилуса, а при попытке примонтировать консолью никакой реакции. Вот fstab. Хранилку перезапускал, выключал и включал на ней поддержку NFS, пересобирал nfs-utils. Подскажите пожалуйста, куда ещё копать? p.s. По самбе всё работает прекрасно, но медленнее.

Ebnmrj
()

Open Source Бразуер?

 ,

Возник вопрос по замене браузера на Свободный

Из сообщества GNU сейчас наиболее известен IceCat. Но последняя стабильная версия выпущена 2 июня 2019.

Есть еще Midori, но на оф сайте почему-то вообще пропало упоминание про OpenSource.

LibreWolf. На данный момент обновляемый браузер. Вроде не GNU лицензия, а MPL 2.0 (Mozilla Public License).

Какие вы, знаете браузеры сосредоточенные на «безопасность»? Я подразумеваю наличие лицензии GNU

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

Quorty
()

После установки Devuan 11 на жёсткий диск, он берёт имя хоста из локальной сети

 

Как сделать так, чтобы не делал?

ZenitharChampion
()

XFCE Terminal 1.0.0

 ,

Группа Open Source

Выпущен стабильный релиз XFCE Terminal с красивым номером версии 1.0.0, сообщает мейнтейнер Сергиос-Анестис Кефалидис (Sergios - Anestis Kefalidis). Он взялся за фактически брошеный проект в сентябре и сейчас спешит рассказать о проделанной работе и планах на будущее.

Во-первых, он решил перенять подход к версионности, где каждый нестабильный релиз будет выходить с нечетным числом (например, 1.1.x) на второй позиции номера, а стабильный - с четным. Так, следующий стабильный релиз выйдет под номером 1.2.0.

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

>>> Подробности (uoa.gr)

ins3y3d
()

atheros

 

Я не понял, все atheros ar5b22 двухдиапозонные со скоростью «тракториста» или есть исключения? Некоторые продаваны говорят двухдиапозонные, некоторые сами не знают, лишь бы продать…

@SakuraKun, что скажешь? Что еще годного есть на AR9462?

The_Coon
()

Адекватных клиентов для Jabber для линуксов так и не завезли?

 ,

Что мне нужно:

  • Поддержка OMEMO
  • Поддержка серверной истории чата
  • Вменяемый интерфейс
  • Нативный код

Gajim (которым пользуюсь сейчас) отваливается по последним двум пунктам, Dino - по третьему. Дино вообще какой-то урезанный.

Я время от времени проверяю этот сайт, и новых клиентов там не появилось.

Psi+ обновлялся полгода назад, и полгода назад он не умел в серверную историю.

Всякие жаббер-вики мертвы и не обновлялись со времён Qt4.

Всё настолько плохо?

Тем, кто предложит перейти на Matrix: там с клиентами всё ещё хуже.

Original
()

Мой Neovim

 , , , ,

Решил показать Neovim на моем компьютере под управлением OS Manjaro Linux KDE.

Перешёл полностью с (Sublime Text и PyCharm) на NeoVim для кодинга на python.

Плагины, привносящие функциональность:

  • coc.nvim и coc-python coc-pyright - для автодополнений и вывода функций;
  • NERDTree - файловый менеджер;
  • tagbar - отображений тегов исходников;
  • toogleterm - встроенный терминал. Сам конфиг:
:set number
:set guifont=JetBrains\ Mono:h10
:set autoindent
:set tabstop=4
:set shiftwidth=4
:set smarttab
:set softtabstop=4
:set mouse=a



call plug#begin()

    Plug 'https://github.com/vim-airline/vim-airline'
    Plug 'https://github.com/preservim/tagbar' 
    Plug 'preservim/nerdtree'
    Plug 'https://github.com/rafi/awesome-vim-colorschemes'
    Plug 'https://github.com/ryanoasis/vim-devicons'
    Plug 'https://github.com/neoclide/coc.nvim'
    Plug 'akinsho/toggleterm.nvim'
    Plug 'crispgm/nvim-tabline'
    
    set encoding=UTF-8
nmap <F8> :TagbarToggle<CR>
:set completeopt-=preview 
source ~/.local/share/nvim/plugged/awesome-vim-colorschemes/colors/minimalist.vim
call plug#end()
:set guitablabel=%N\ %f

g:tablineclosebutton

autocmd TermEnter term://*toggleterm#*
      \ tnoremap <silent><c-t> <Cmd>exe v:count1 . 

nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>
nnoremap <C-P> :tabnew<CR>
nnoremap <C-q> :tabclose<CR>
nnoremap <silent><c-t> <Cmd>exe v:count1 . "ToggleTerm"<CR>
inoremap <silent><c-t> <Esc><Cmd>exe v:count1 . 

nnoremap <C-g> :NERDTree<CR>
nnoremap <C-f> :NERDTreeToggle<CR>

Ссылки:

enep
()

Metatools 1.0.0 — фреймворк разработки дистрибутива от команды Funtoo

 , ,

Группа Gentoo Linux

Metatools, по заявлению разработчика, — это продвинутый фреймворк, позволяющий:

  • автоматически создавать Gentoo ebuilds;
  • поддерживать независимые форки Gentoo или Funtoo;
  • создавать дистрибутивы, отличные от Gentoo;

Особенности версии 1.0.0: фреймворк стал проще в использовании и понимании и значительно упростилась его установка.

Сейчас это основной инструмент разработки Funtoo Linux, который используется для:

  • создания meta-repo — специфичного для Funtoo репозитория ebuild’ов, основанного на идее наборов (kits);
  • обеспечивания функций autogen — динамической генерации ebuild’ов, основанной на актуальном состоянии исходного кода пакетов.

Пока идёт оформление ресурса с технической документацией, подробнее узнать о фреймворке и использовании autogen можно на Wiki-странице Funtoo Linux или задать вопрос в Discord (#dev-help) и Telegram-канале проекта.

>>> Funtoo Linux

>>> Руководство по установке

>>> FAQ (funtoo.org)

>>> Новость (funtoo.org)

vvn_black
()

Эквалайзер для PipeWire и PulseAudio JamesDSP for Linux

 , ,

Cast R_He_Po6oT.

Не только эквалайзер. Да, не юниксвейно. Зато не такая огромная фиговина, как Easyeffects.

https://github.com/Audio4Linux/JDSP4Linux

Dementy
()

Чем сейчас можно сделать свою сборку убунты?

 , , , ,

Здравствуйте! Есть вопрос. Я ставлю на свои железки линухи (ubuntu) с помощью netinstall в expert mode. Ставлю минимальную систему без всего, потом в неё захожу и остальная установка с помощью консоли (apt install пакеты –no-install-recommends). Потом копирование кое-каких конфигов и минимальная правка. Так вот хочется процесс атоматизировать, т.е. запилить свой болгенос свою сборку на основе убунты. Чем это красивее сделать? Подозреваю, что в исошник надо впихнуть какой-то скрипт. Как и куды? Ткните носом. Или ссылки какие покурить дайте.Заранее спасибо.

beduin747
()

JACK, давай до свидания!

 , ,

Только что обновлял свой "корчъ" с "арчем" и наткнулся на эту забавную строчку:

:: pipewire-jack and jack2 are in conflict (jack). Remove jack2? [y/N]

Согласился, ведь теперь не надо будет приписывать pw-jack к команде, чтобы запустить "жокин софт". Так что, король (JACK) умер, да здравствует король (PipeWire)!

Korchevatel
()

Попкорн всё

 ,

Сабж - https://www.bloomberg.com/news/articles/2022-01-04/popcorn-time-alternative-is-hard-to-find-as-app-shuts-down

Update. Прон-форки продолжают работать, сырцы на гитхабе доступны. Т.е., прекратилась только официальная разработка исходного Popcorn Time.

vvn_black
()

Выход в yggdrasil без клиента на ПК, OpenWrt

 , ,

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

что я сделал:

  • установил yggdrasil, вписал несколько публичных пир.
  • в /etc/config/network добавил option ip6prefix 302:6547:1fc5:3467::/64 для интерфейса wan6.
  • там же, добавил config route6 option interface 'lan' option target '302:6547:1fc5:3467::/64' option gateway '0200::/7'

Нет результата. /etc/config/firewall я не трогал. что за radvd я не понял, не нашёл в репе OpenWrt. Что мне надо сделать? RTFM не помогает, т.к. я впервые работаю с OpenWrt (да и маршрутизаций в принципе).

cyclbabel
()

Как зарегистрировать i2c устройство?

 , ,

Есть x86 компутер. У него на i2c-шине висят несколько GPIO-модулей. Что требует использовать код вида:

echo "pca9535 0x20" > /sys/class/i2c-adapter/i2c-6/new_device 
echo "pca9535 0x21" > /sys/class/i2c-adapter/i2c-6/new_device 
echo "pca9535 0x22" > /sys/class/i2c-adapter/i2c-6/new_device 

Где i2c-6 это USB-ишный FT260 на плате. Он один такой и скриптом конкретно его определить можно. Сейчас всё это упаковано в скрипт и оформлено в виде службы. Но как-то не по себе от этого.

Как это дело оформить нормально? Неужели нет внятного способа описания i2c устройств?

Есть мысль задействовать udev, но блин не вбивать же в RUN это безобразие.

AlexVR
()

SSD1306, device tree

 ,

Добрый день. Пытаюсь подключить экран на контроллере ssd1306 по i2c. В качестве хоста - nanopi с armbian, ядро 5.10.60-sunxi.

Для начала, проверил работу из userspace - включил overlay для i2c0, посмотрел адрес устройства в i2cdetect. Для теста, что экран рабочий, использовал проект SSD1306 Экран работает, все рисует.

Теперь хочу подключить его как framebuffer. В ядре есть для него драйвер:

root@nanopiair:~# find /lib/modules/$(uname -r)/kernel/drivers/ -iname "*ssd1306*"
/lib/modules/5.10.60-sunxi/kernel/drivers/staging/fbtft/fb_ssd1306.ko

Пример dts взял из описания Описание правда немного странное. В начале указаны «Required properties:», а в примерах их нет.

В итоге добавил вот такой dts:

/dts-v1/;
/plugin/;

/ {
    compatible = "allwinner,sun8i-h3";

    fragment@0 {
        target = <&i2c0>;
        __overlay__ {
            pinctrl-names = "default";
            pinctrl-0 = <&i2c0_pins>;
            status = "okay";
            
        ssd1306: oled@3c {
	    compatible = "solomon,ssd1306fb-i2c";
            reg = <0x3c>;
	    solomon,height = <128>;
	    solomon,width = <64>;
	    solomon,page-offset = <0>;
	    };
	};    
};
};

Добавил overlay в настройки, но после перезагрузки в выводе dmesg ничего нет про ssd1306 и /dev/fb? не появляется.

Чтобы проверить, что overlay применился, после загрузки смотрю итоговое дерево:

dtc --sort -I fs -O dts  /sys/firmware/devicetree/base > device_tree.out
		i2c@1c2ac00 {
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			clocks = <0x03 0x3b>;
			compatible = "allwinner,sun6i-a31-i2c";
			interrupts = <0x00 0x06 0x04>;
			phandle = <0x6e>;
			pinctrl-0 = <0x1c>;
			pinctrl-names = "default";
			reg = <0x1c2ac00 0x400>;
			resets = <0x03 0x2e>;
			status = "okay";

			oled@3c {
				compatible = "solomon,ssd1306fb-i2c";
				phandle = <0x86>;
				reg = <0x3c>;
				solomon,height = <0x80>;
				solomon,page-offset = <0x00>;
				solomon,width = <0x40>;
			};

			power-sensor@40 {
				compatible = "ti,ina226";
				reg = <0x40>;
				shunt-resistor = <0x3e8>;
			};
		};

В i2c0 вижу мой overlay, т.е. все применилось. power-sensor - это ina226 еще подключен и работает.

Модуль ядра тоже есть, его можно подгрузить руками modprobe fb_ssd1306, но кроме сообщения в dmesg о том, что модуль этот staging, ничего больше нет. /dev/fb не появляется.

В описании ssd1307 указано, что на данный момент поддерживается только шина I2C. Но в коде самого драйвера ssd1306.c почему-то указана SPI:

MODULE_ALIAS("spi:" DRVNAME);
MODULE_ALIAS("platform:" DRVNAME);
MODULE_ALIAS("spi:ssd1306");
MODULE_ALIAS("platform:ssd1306");

MODULE_DESCRIPTION("SSD1306 OLED Driver");
MODULE_AUTHOR("Noralf Tronnes");
MODULE_LICENSE("GPL");

Собственно вопрос, что делать и почему не работает?

Ivan_sam
()

Как прошёл FOSDEM 2021 на Matrix

 , , , ,

Группа Open Source

6-7 февраля 2021 года прошла одна из крупнейших бесплатных конференций, посвящённая свободному программному обеспечению — FOSDEM. Обычно конференция проводилась вживую в Брюсселе, но из-за пандемии коронавируса её пришлось перенести в онлайн. Для реализации этой задачи организаторы скооперировались с командой Element и выбрали чат на основе свободного протокола Matrix для построения федеративной сети коммуникаций в реальном времени, свободную VoIP-платформу Jitsi Meet для интеграции видеоконференций, и собственные инструменты для их автоматизации. Конференцию посетило более 30 тысяч пользователей, из которых 8 тысяч — активные, а 24 тысячи — гости.

Протокол Matrix построен на основе линейной истории событий (events) в формате JSON внутри ациклического графа событий (DAG): простыми словами, является распределённой базой данных, хранящей полную историю отправленных сообщений и данные участвующих пользователей, реплицируя эту информацию между участвующими серверами — ближайшей аналогичной по работе технологией может быть Git. Основной реализацией этой сети является мессенджер с поддержкой сквозного шифрования и VoIP (аудио- и видеозвонков, групповых конференций). Эталонные реализации клиентов и серверов разрабатываются коммерческой компанией Element, сотрудники которой также возглавляют некоммерческую организацию Matrix.org Foundation, курирующую разработку спецификации протокола Matrix. На данный момент в сети Matrix насчитывается 28 миллионов аккаунтов и 60 тысяч серверов.

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

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

commagray
()

Запуск экспериментального репозитория бинарных пакетов для Gentoo

 , ,

Группа Gentoo Linux

Разработчик Gentoo Andreas K. Huettel объявил в своём блоге о запуске экспериментального репозитория бинарных пакетов для систем на архитектуре amd64.

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

>>> Репозиторий

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

grem
()

Haiku на RISC-V плате HiFive Unmatched и ЛОРом в NetSurf

 , ,

Сегодня открылся ЛОР в NetSurf в Haiku RISC-V.

С начала этого года делаю порт свободной UNIX-like операционной системы Haiku на процессорную архитектуру RISC-V (64 бит) (подробнее: My Haiku RISC-V port progress, My progress on real RISC-V hardware). Сейчас система уже неплохо работает на реальном RISC-V железе HiFive Unmatched, есть графика, сеть WiFi, поддержка многоядерности (SMP), пакеты портов собираются на самом железе, работает воспроизведение видео.

RISC-V — полностью открытая и свободная от каких либо отчислений процессорная архитектура, конкурирующая с ARM. Архитектура довольно новая и свободная от легаси вроде четырёх несовместимых наборов команд в ARM, разных MMU, и т.п.. Также архитектура очень простая и выразительная: я написал дизассеблер за два дня и минимально работающий порт Haiku за несколько недель. Для Haiku это первый рабочий порт на не x86-совместимую архитектуру. Остальные порты находятся в зачаточном состоянии без рабочего userland более 10 лет.

Компания SiFive производит открытые ядра RISC-V и готовые платы с полностью открытым программным обеспечением включая драйверы и прошивки. Я использую плату HiFive Unmatched. На плате есть шина PCIe так что можно использовать многие существующие драйвера Haiku без изменений.

Железо выглядит как-то так: раз (haiku-os.org), два (haiku-os.org).

Используемое железо:

  • Мат. плата: HiFive Unmatched.
  • Диск: Silicon Power SSD 256GB 3D TLC NAND M.2 2280 PCIe3.0×4 NVMe1.3 P34A60
  • Сеть: Intel AC 9260 M.2 WiFi
  • Видеокарта: AMD Radeon R7 250
X512
()