LINUX.ORG.RU

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

GNU make — разные варианты сборки

Форум — Development

Например, у меня есть несколько вариантов сборки, которые отличаются LD-флагами, архитектурой и объектными файлами:

#common x68-64 with plplots
ARCH = x86-64
LDFLAGS = -I/usr/include/plplot -lplplotcxxd
OBJ = $(XOBJ) plots.o
USER_DEFINES = -DWITH_PLPLOT
и
#static x86-64 w/o plplots
ARCH = x86-64
LDFLAGS = -static -static-libgcc -static-libstdc++
OBJ = $(XOBJ)
USER_DEFINES =
Как написать цели сборки и зависимости, что бы по «make common» собрать первый вариант, а по «make static» второй?

 

thunar
()

Игра Deus Ex: Mankind Divided стала доступна для GNU/Linux

Новости — Игры
Группа Игры

3 ноября в Steam стало доступным для GNU/Linux продолжение культовой серии Deus Ex.

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

Порт предоставлен Feral Interactive; также планируется выпуск Deus Ex: Mankind Divided для macOS.

Уже доступна версия на русском языке, а также DLC.

Примечание к релизу: видеокарты AMD и Intel на момент выпуска не поддерживаются!

>>> Подробности

 , ,

eagleivg
()

Syncthing 0.13.0 «Copper Cockroach»

Новости — Интернет
Группа Интернет

Состоялся очередной выпуск Syncthing — открытой кроссплатформенной программы для синхронизации и резервного копирования. По своим возможностям она аналогична BitTorrent Synс: заявлена синхронизация файлов между узлами в P2P-сети без участия сервера. Для этого используется собственный открытый протокол BEP («Block Exchange Protocol»).

Изменения в версии 0.13:

  • Изменены протокол (несовместим с 0.12) и формат базы. Первый запуск новой версии может происходить медленнее, чем обычно.
  • Устройства анонсируют не только уже загруженные файлы, но и те, которые ещё загружаются. Благодаря этому возможна отправка уже загруженных частей файла на другие устройства, не дожидаясь окончания полной загрузки.
  • Метки папок теперь отличаются от ID папок. Метки предназначены для людей, а ID для машин и для уникальности. У уже существующих папок ID не изменятся, но для новых папок будет предлагаться случайный уникальный идентификатор.
  • При попытке соединения от неизвестного устройства, будет отображаться не только ID, но и имя устройства.
  • Поддержка NAT-PMP в дополнение к уже существовавшей поддержке UPnP.
  • Игнорируемые файлы могут быть помечены префиксом (?d), чтобы Syncthing удалял эти файлы, если они остаются при удалении папки. Шаблоны игнорирования используют меньше памяти.
  • Возможность указать адрес для синхронизации (на стороне клиента и на стороне удалённого устройства) в виде «только IPv4» или «только IPv6» (tcp4:// или tcp6://). Значение по умолчанию (tcp://) по-прежнему означает «оба протокола одновременно».
  • Более понятный и лаконичный интерфейс настройки свойств папок.
  • Поддержка переменной ALL_PROXY_NO_FALLBACK, позволяющей запретить переход на прямое соединение, в случае возникновения проблем с прокси.
  • Исправлено множество ошибок.

Доступны готовые сборки, пакеты для Debian и Ubuntu, скриншоты и документация.

>>> Подробности

 ,

anonymous
()

CharybdeFS — файловая система для тестирования ошибок ввода/вывода в ПО

Новости — Open Source
Группа Open Source

Разработчики ScyllaDB представили инструмент для тестирования приложений при ошибках ввода/вывода. Файловая система CharybdeFS работает через FUSE и позволяет симулировать следующие ситуации:

  • ошибки ввода/вывода;
  • превышение дисковой квоты;
  • нехватка памяти;
  • ситуации когда файл занят другим процессом.

Код доступен на github и распространяется как Public Domain с рекомендацией не использовать в деструктивных целях и благословением.

>>> Подробности

 

Deleted
()

найти аудиоролик в эфире по слепку

Форум — Development

Тут наверняка есть крутые люди, которые знают как решить задачу поиска аудио ролика в длинном эфире.

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

 , ,

max_lapshin
()

Убийца XMPP по имени Matrix — никто не пробовал?

Форум — Talks

$subj. Имеем очень интересный IM по имени matrix (https://matrix.org), который я бы описал как «взяли концепции электронной почты и без изменений перенесли в IM». Есть т. н. homeserver'ы (== «почтовые серверы»), на которых хранится история; есть клиенты, которые к ним подключаются.

«Комнаты» могут быть раскиданы по нескольким серверам. Есть адекватная синхронизация истории, есть адекватный мультилогин. Ах да, это всё немного похоже на Git: ведётся обмен не сообщениями, а состоянием и историей.

Есть референсный homeserver с веб-клиентом (synapse), есть клиенты для iOS и Android. Деплоить они его предлагают через б-гомерзкий virtualenv, но я опакетил под арч.

Anyone interested? Или, может быть, кто-то уже юзает?

UPD: join us at #lor:matrix.org.

 , , ,

intelfx
()

Функция для чтения INI-файлов

Форум — Development

См. https://github.com/DRVTiny/bash4-debug-infra/blob/master/config.func
Пользоваться так:

eval "$(read_ini /PATH/TO/INI)"

В результате для конфиг-файла вида:

[global]
USER_HOME={{getent passwd myuser | cut -d: -f6}}
BIN_DIR={{global.USER_HOME}}/bin

[checker]
SHELL_SCRIPT={{global.BIN_DIR}}/checker.sh
имеем на выходе:
INIglobal[USER_HOME]="/home/myuser"
INIglobal[BIN_DIR]="/home/myuser/bin"
INIchecker[SHELL_SCRIPT]="/home/myuser/bin/checker.sh"

В чём профит по сравнению с просто source кода на BASH:
1) Языкоиндифферентность самого конфиг-файла. Без использования макропеременных внутри INI-файла можно будет читать его уже разработанными функциями для других языков программирования.
С использованием макропеременных ввиду их нестандартности для INI-формата, нужно реализовать их подстановку на любом удобном для вас языке (на Perl это делается элементарно).
2) INI-файл структурирован, уникальность имён переменных обязательна только в пределах одной секции, что весьма удобно для действительно больших конфиг-файлов

P.S.Разумеется, работает только на BASH4. Если вы до сих пор пользуетесь BASH3 - убейте себя об стену.

 

DRVTiny
()

Драйверы устройств в Linux

Новости — Документация
Группа Документация

Опубликован перевод серии статей «Драйверы устройств в Linux». По заявлению автора: «Цель этой серии статей о драйверах Linux — рассказать об обычной технической теме так, чтобы она была интересна более широкому кругу читателей». Пока что написаны (и переведены) 17 статей серии. Автор (Anil Kumar Pugalia) обещает продолжить серию, а Николай Ромоданов обещает переводить следующие статьи по мере их появления.

>>> Подробности

 ,

vikos
()

История открытых и закрытых драйверов видеокарт

Форум — Talks

Сначала я назвал эту тему «История появления 3D-ускорения в открытых драйверах видеокарт», но 95% текста посвящено закрытым драйверам. Для открытых драйверов нужно было проделать огромную работу и новости выходили редко, наверное поэтому я запомнил мало новостей. В итоге получился исторический текст о событиях, связанными с драйверами видеокарт для Linux и FreeBSD, который, я надеюсь, окажется кому-нибудь интересным. Принимаются исправления, текст можно копировать себе, перерабатывать. Я не стал писать те новости, которые меня не заинтересовали и которые я не запомнил, а также все даты открытия очередной части спецификаций чипсетов ATi/AMD, и дат добавления очередных версий OpenGL. Последнее в драйверах для Linux появляется сразу после появления новой версии OpenGL. Все эти события я узнал благодаря периодическим заходам на сайты linux.org.ru и opennet.ru с 2008 по 2012 год. Текст разбит на части, следующие части - в первых комментариях к теме.

Предыстория.

До 2008 года всё было просто (да и в мире железа тоже всё было просто, Intel/AMD, NVIDIA/ATi). Есть открытые драйверы видеокарт, которые имеют функцию 2D-ускорения, и позволяют выставлять большие разрешения экрана. Они поставляются вместе с дистрибутивом Linux. И есть закрытые драйверы видеокарт, драйверы от производителя, которые отличаются от открытых только наличием 3D-ускорения.

1). Открытый драйвер для видеокарт NVIDIA называется nv. Написан самой NVIDIA.

2). Открытый драйвер ati написан непонятно кем. Пожалуйста, скажите, кем он написан, помогала ли компания ATi написать его, и если нет, то почему он тогда называется открытый, а не свободный? Не застал Linux в то время.

1а). Официальный драйвер NVIDIA. Поддерживает ядра Linux версии 2.4 и 2.6 (а также FreeBSD и Solaris), XFree86 и Xorg. Поставляется в виде run-файла, который универсален для всех дистрибутивов Linux для архитектур процессора x86 и x86_64. Есть 3 ветки драйвера, 7x.xx, 9x.xx и текущая, 100.xx. Поддерживается только текущая (видеокарты GeForce 6-7), а для остальных иногда выпускаются обновления, добавляющие поддержку новых версий ядре Linux и X-серверов.

Очень мало ошибок. Скорость работы 2D и 3D та же, что и в Windows. Есть возможность разгона и регулирования скорости вращения кулера. Есть поддержка SLI. Единственный недостаток драйвера NVIDIA для Linux - не поддерживается 3-way SLI - в остальном полная идентичность Windows-версии (я пишу о том времени, когда GeForce 8 с рядом новых технологий ещё не вышел).

2а). Официальный драйвер ATi. Поддерживает Linux x86 и x86_64, не знаю насчёт 2.4 и XFree86. Один раз была прекращена поддержка старых серий видеокарт - драйвер версии 8.28.8 от 2006 года. Пользователям этих видеокарт оставалось пользоваться только 2D-ускорением, потому что в закрытый драйвер не добавлялась поддержка новых версий X-сервера и ядра Linux. А значит, ветки драйвера две: 8.28.8 и текущая.

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

У меня создаётся впечатление, что создатели драйвера были программистами низкого класса, они писали раздутый код с большим количеством ошибок и неточностей, по принципам «лишь бы скомпилировалось» и «лишь бы заплатили». Хорошо что когда я попробовал Linux, у меня была NVIDIA - а если бы была ATi, остался бы я на нём? На форумах можно было увидеть такую аналитику, «в мире открытого ПО тысячи программистов высокого класса. Но они бессильны перед видеоадаптерами от ATi: реверс-инжиниринг драйверов для таких устройств, как видеокарты, очень сложен. Вот открыли бы ATi спецификации - и сообщество сразу бы написало драйвер получше, чем у них!».

Вот такая предыстория. А теперь история.

2006 год.

1). Компания AMD приобретает компанию ATi. Качество драйверов для Linux начинает расти. В среде компьютерных специалистов появляется неопределённость. Раньше были фанаты:

  1. Процессоров Intel и видеокарт NVIDIA
  2. Процессоров Intel и видеокарт ATi
  3. Процессоров AMD и видеокарт NVIDIA
  4. Процессоров AMD и видеокарт ATi

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

2). Начинается разработка открытого драйвера nouveau, попытки добавить в открытый драйвер nv 3D-ускорение путём реверс-инжиниринга закрытого драйвера.

3). Поддержка видеокарты GeForce 8 появилась, по традиции, сразу после выхода этих видеокарт: 2D-ускорение, 3D-ускрнеие, разгон. Новые технологии CUDA, PureVideo и PhysX, задерживались. Также задерживалось появление поддержки 2D-ускорения для GeForce 8 в открытом драйвере nv, но тогда это ещё никого не волновало: ничего, добавят потом.

2007 год.

1). Свершилось открытие первой части спецификаций видеокарт ATi. Сообщество пользователей Linux ликует! В то, что это действительно случилось, трудно поверить! Разумеется, основная цель этого действия то, что это позволит улучшить работу ПО на видеокартах ATi, а не создание открытого видеодрайвера для Linux, но и для Linux это огромный подарок! Те, кому не терпится получить хороший драйвер для видеокарты ATi интересуются, почему открыли спецификации, а не готовый исходный код драйвера.

2). В первую же неделю после этого появляется открытый видеодрайвер RadeonHD, отличие которого от ati - начальная поддержка 3D-ускорения. После тестирования она была перенесена в ati. Разработчикам RadeonHD давали очереные части спецификаций раньше, чем сообществу, под условиями неразглашения. В RadeonHD появлялись новые функции, и ускорение старых, раньше, чем в ati. Кроме того, ati был стабильнее. Над открытым драйвером трудятся несколько сотрудников компаний AMD и Novell в режиме полного рабочего дня.

3). Появление NVIDIA CUDA одновременно для Windows и Linux. Логично: учёные вряд ли станут держать вычислительные кластеры под Windows. И сразу после появления CUDA во всех новостях о релизах драйвера NVIDIA появляются тонны исправлений CUDA, и так несколько лет. Года два как утихло, наверное. Также странным является способ распространения NVIDIA CUDA для Linux. Для Windows это два файла, 32 и 64-битная программа установки. Для Linux это 12 файлов, для 6 популярных дистрибутивов Linux! И ладно бы ещё были пакеты в родном для дистрибутива формате, RPM/DEB! Но нет: каждый установщик имеет формат run. Странно: run-файл драйвера один для всех дистрибутивов Linux, хотя сделать один файл для всех версий ядра Linux и X-сервера непросто. А здесь их 6! Впервые пользователи Linux столкнулись с таким отношением компании NVIDIA к себе. Список поддерживаемых дистрибутивов Linux. Технология NVIDIA PureVideo задерживается.

Сегодня ситуация не изменилась. Существует библиотека NVIDIA Cg, для игр, есть версия для Linux. Так даже её теперь распространяют не в tar.gz, а в RPM/DEB/tar.gz, а NVIDIA CUDA 4.2 - в 6 run-файлах.

 , ,

ZenitharChampion
()

Вернулся на гном, вернувшись на линукс.

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

png без потери качества здесь: Рабочий стол 2.

Сравнительно недавно, после полугода на оффтопе, вернулся на линукс. Любимый fluxbox стало лень пилить, пытался сидеть на KDE (лишь бы не видеть этот gnome 3), но затем снова его попробовал и на сей раз понравилось. Правда, пришлось для полного удовлетворения подключить несколько расширений - об этом ниже.

Используемые расширения:
- Alternative Status Menu - добавляет выключение/перезагрузку/гибернацию в меню. Пример;
- AlternateTab - изменяет поведение Alt+Tab и приводит его к виду, пригодному для homo sapiens. Пример;
- Applications Menu - добавляет более менее привычное меню. Пример;
- Advanced Settings in UserMenu - добавляет доп. настройки в меню, где ему и место, чтобы не засорять док. Пример;
- Panel Settings - позволяет перемещать панель по различным сторонам экрана. Здесь примера не будет, думаю всё понятно. Серьезно говорю, понятно;
- Places Status Indicator - добавляет меню, знакомое со второго гнома. Пример;
- Shellshape - невероятно удобное расширение. Имеет 3 режима: расстановка окон в столбцы по вертикали (тайлинг), расстановка окон в линии по горизонтали(тайлинг), стандартный плавающий режим(восстановление положения окон после включения тайлинга). Пример + пример ниже: 1-й рабочий стол.

Недавно вспомнил про существование замечательного ресурса LastFM и скробблинг. Не нашел ни одного скробблера, который позволял бы отправлять отчет о прослушанной композиции до её завершения, а я хотел восстановить историческую справедливость и накрутить себе статистику. Just for fun написал для этого приложение на Java. Не надо спрашивать почему на ней - сказал же, just for fun. Умеет drag'n'drop из файлового менеджера и поддерживает пока только mp3 и flac (без cue sheet). Сей велосипед и мою скромную коллекцию можно увидеть здесь: Рабочий стол 3. Там же кто-то может заметить подозрительно знакомое приглашение в командную строку (PS1), врать не буду, нагло украл его у одного здешнего товарища. Наверное он повстречается ITT чуть ниже.

В свободное время решил поучить Python. Процесс отображен на следующем скрине и постоянно встречает меня после логина: Рабочий стол 1. Пока, правда, ушел совсем недалеко.

Ну и напоследок: так выглядит мой gnome-shell в Accessibility: «Вид сверху».

Да, чуть не забыл...

Тема GTK3: уже до боли всем знакомый Zukitwo;
Тема shell: аналогично - вышеупомянутый Zukitwo;
Тема окон: всё тот же Zukitwo. Если не ошибаюсь, располагается в вышеупомянутом архиве;
Тема иконок: не менее известный AwOken.

Кажется, ничего не забыл. Вот так и живем.

P.S.: относительно ШГ - сравнительно недавно заводил тред, в котором пытался выяснить ШГ у меня всё-таки или нет. Мнение было практически единогласное - ШГ, но на моем мониторе все выглядит очень четко и ровно, ага. Монитор ASUS vw246u. Если у кого есть подобное чудо - ваше мнение крайне интересно. Спасибо.

>>> Просмотр (1920x1080, 1208 Kb)

 ,

Insomnium
()