LINUX.ORG.RU

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

GNOME Mutter 46.1: улучшения производительности и исправления для NVIDIA

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

Выпущена новая версия оконного менеджера GNOME Mutter 46.1, в преддверии официального анонса точечного обновления GNOME 46.1.

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

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

 , ,

DrRulez
()

VKD3D-Proton 2.12 поддерживает Nvidia Reflex

Новости — Игры
VKD3D-Proton 2.12 поддерживает Nvidia Reflex
Группа Игры

Недавнее обновление VKD3D-Proton до версии 2.12 (*) добавило поддержку Nvidia Reflex. Эта запатентованная технология позволяет снизить задержку системы за счет синхронизации графического процессора и центрального процессора. Таким образом, кадрам, подготовленным процессором, не нужно ждать в очереди рендеринга, что приводит к практически немедленному рендерингу графическим процессором.

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

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

 , ,

mx__
()

Sway Input Configurator 1.4.0

Новости — Linux General
Sway Input Configurator 1.4.0
Группа Linux General

Доступен Sway Input Configurator 1.4.0 — утилита для простой настройки устройств ввода в Sway.

Утилита написана на Python с использованием Qt6/PyQt6 и позволяет в пару кликов настроить параметры клавиатуры, мыши и тачпада. Настройки хранятся в файле JSON. Используются стандартные для Libinput опции настройки устройств ввода, в частности, раскладка клавиатуры, комбинация клавиш для смены раскладки, настройка скорости указателя, эмуляция кнопок мыши в тачпаде и т.д.

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

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

 , , ,

Sunderland93
()

FTXUI 4.1.1 - библиотека в функциональном стиле для создания консольных приложений

Новости — Open Source
FTXUI 4.1.1 - библиотека в функциональном стиле для создания консольных приложений
Группа Open Source

После более трёх месяцев разработки состоялся выпуск 4.1.1 кроссплатформенной библиотеки для C++ (стандарт C++17) FTXUI (Functional Terminal (X) User Interface), предназначенной для создания приложений с текстовым интерфейсом и распространяемой по лицензии MIT.

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

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

 , , , ,

dataman
()

CTranslate2 3.14.0

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

26 мая состоялся выпуск 3.14.0 CTranslate2 — фреймворков, разрабатываемых под лицензией MIT проектом OpenNMT на языках C++ и Python, и предназначенных для эффективного использования (с использованием оптимизаций для CPU и GPU) натренированных моделей в системах машинного перевода.

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

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

 , , , ,

dataman
()

OpenAI выпустила Text-to-3D Model: «SHAP-E»

Новости — Open Source
OpenAI выпустила Text-to-3D Model: «SHAP-E»
Группа Open Source

OpenAI выпустили новую платформу, которая позволяет создавать 3D-модели из текстовых описаний. Платформа, называемая SHAP-E, основана на наборе данных ShapeWorld и использует нейронные сети для создания 3D-моделей. Исходный код доступен на Github и распространяется по лицензии MIT.

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

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

 ,

evgeny_aa
()

Apple Rosetta для Linux-приложений

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

Начиная с macOS 13+, на чипах Apple silicon в гостевой виртуальной машине ARM c Linux можно запускать приложения Linux для х86_64.

При этом дистрибутив Linux должен быть собран для архитектуры ARM. Далее в гостевой виртуальной машине монтируется Rosetta Share и Rosetta регистрируется как обработчик для x86_64 ELF.

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

 , , rosetta,

sloan
()

Порт Lotus 1-2-3 под Linux

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

Тэвис Орманди (Tavis Ormandy) выпустил бинарный патч, который модифицирует Lotus 1-2-3 для ОС UNIX System V 386, обеспечивая его работу под современным линуксом.

Началось всё с того, что Орманди из любопытства изучал дистрибутив Lotus 1-2-3 (предположительно 1990 года) под коммерческий юникс и обнаружил, необычный способ линковки исполняемого файла в формате COFF — partial linking. Как ему объяснили, такой способ позволял при желании слинковать исполняемый файл с плагинами, которые нельзя было подключить иначе, если в ОС не было dlopen().

В итоге Орманди смог написать утилиты для правки системных вызовов Unix и обёртку для их замены на вызовы Linux и слинковать всё в 32-битный ELF. Одной из крупных проблем оказалась адаптация termios. Интересно, что на старых версиях Линукса, с поддержкой callgate и lcall7/lcall27 такая адаптация прошла бы легче.

Ещё одной из проблем оказалась защита от копирования. Орманди считает себя вправе изготовить файл-ключ, обеспечивающий работу программы, так как он владеет легальной копией Lotus 1-2-3 под MS-DOS. Для остальных он приводит скриншот дизассемблера IDA и расплывчатые рекомендации, как делать такой файл. Программа не продаётся уже почти 20 лет. Да и легальных владельцев Lotus 1-2-3 в мире немало.

Тэвис Орманди — специалист по безопасности («white hat») из Гугла и энтузиаст Lotus 1-2-3. Ранее написал драйвер для MS-DOS версии Lotus, обеспечивающий её работу в окне терминала DOSEMU2 произвольного размера.

Lotus 1-2-3 — одна из первых программ электронных таблиц, отличавшаяся от конкурентов скоростью, надёжностью и удобством. Её нередко называют одной из причин коммерческого успеха платформы IBM PC в 1980-х. Поддержка Lotus долго была критерием совместимости для клонов. В 1990-х Lotus проиграла MS Excel-ю, так как GUI-версия появилась слишком поздно, и в 1995 году компанию купила IBM.

Новость на Opennet

Исходные тексты патча и утилит с инструкцией

>>> Подробное объяснение

 , ,

question4
()

В ожидании GCC 12.1

Новости — Разработка
Группа Разработка

GCC - это набор компиляторов языков программирования от GNU.

Релиз GCC 12.1 ожидается в апреле 2022.

GCC 12 уже является системным компилятором Fedora 36. Также GCC 12 доступен в Red Hat Enterprise Linux в Red Hat Developer Toolset (версии 7) или Red Hat GCC Toolset (версии 8 и 9).

В GCC 12

  • улучшили поддержку OpenMP 5.0

  • реализовали поддержку ADA 2022 (флаг -gnat2022)

  • реализовали некоторые возможности следующего стандарта С: C2X (флаг -std=c2x или -std=gnu2x)

  • реализовали часть возможностей С++23.

Более подробное описание реализованного только про новые возможности компилятора С++ без учёта стандартной библиотеки.

В GCC 12 реализовали часть возможностей C++23. Без указания флага стандарта в g++-12 используется -std=gnu++17, чтобы использовать возможности описываемые далее нужно компилировать с флагами -std=c++23 или -std=gnu++23.

Реализованные возможности C++23:

  1. if consteval

Хотя уже в C++20 появились consteval функции, которые могут выполнятся только во время компиляции и был std::is_constant_evaluated (), но была проблема их совместного использования

#include <type_traits>

int slow (int);
consteval int fast (int n) { return n << 1; }

constexpr int fn (int n)
{
  if (std::is_constant_evaluated ())
    return fast (n); // 'n' is not a constant expression
  else
    return slow (n);
}
constexpr int i = fn (10);

https://godbolt.org/z/Yhbqq6K36

P1938R3 представил if consteval который позволяет использовать consteval функции внутри constexpr:

#include <type_traits>

int slow (int);
consteval int fast (int n) { return n << 1; }

constexpr int fn (int n)
{
  if consteval {
    return fast (n); // OK
  } else {
    return slow (n);
  }
}

constexpr int i = fn (10);

https://godbolt.org/z/Kxs6Wjfq6

Заметьте что if consteval требует {} в отличие от обычного if, и что if consteval может быть в обычной не constexpr функции.

  1. auto(x) GCC 12 реализовал P0849 который позволяет auto каст в prvalue
struct A {};
void f(A&);  // #1
void f(A&&); // #2
A& g();

void h()
{
  f(g()); // calls #1
  f(auto(g())); // calls #2 with a temporary object
}

https://godbolt.org/z/x7hn5GKEx

Заметьте что и auto(x) и auto{x} допустимы, хотя decltype(auto)(x) остаётся неверным.

  1. Non-literal переменные в constexpr функциях GCC 12 реализовал P2242R3, который позволяет non-literal переменным, goto, и меткам быть в constexpr функциях если выполнение во время компиляции не доходит до этих мест.
#include <type_traits>

template<typename T> constexpr bool f() {
  if (std::is_constant_evaluated()) {
    return true;
  } else {
    T t; // OK when T=nonliteral in C++23
    return true;
  }
}
struct nonliteral { nonliteral(); };
static_assert(f<nonliteral>());

https://godbolt.org/z/6xnzM46Ej

constexpr int
foo (int i)
{
  if (i == 0)
    return 42;
  static int a;
  thread_local int t;
  goto label;
label:
  return 0;
}

static_assert(foo(0) == 42);

https://godbolt.org/z/PGsErnE4n

  1. Multidimensional subscript operator GCC 12 реализовал P2128R6
struct S {
  int a[64];
  constexpr S () : a {} {};
  constexpr S (int x, int y, int z) : a {x, y, z} {};
  constexpr int &operator[] () { return a[0]; }
  constexpr int &operator[] (int x) { return a[x]; }
  constexpr int &operator[] (int x, long y) { return a[x + y * 8]; }
};

void g ()
{
  S s;
  s[] = 42;
  s[5] = 36;
  s[3, 4] = 72;
}

https://godbolt.org/z/nnGead631

Заметьте что operator[] сейчас не поддерживает аргументов по умолчанию. Рабочая группа рассматривает CWG2507 , и если она примет предложенное решение проблемы, то в будущем такой код будет валиден:

struct X {
  int a[64];
  constexpr int& operator[](int i = 0) { return a[i]; }
};
  1. elifdef и elifndef В С и С++ #ifdef и #ifndef это синтаксический сахар для #if defined(something) и #if !defined(something). Для вариантов с else не было такого синтаксического сахара. Так что его добавили в С++23(и в С2X) и GCC 12: P2334R1
#ifdef __STDC__
/* ... */
#elifndef __cplusplus
#warning "not ISO C"
#else
/* ... */
#endif

https://godbolt.org/z/z4hbj6M7q

  1. Extended init-statement GCC 12 реализовал P2360R0 где расширяются возможности init-statement (в if, for, switch) позволяя им содержать объявление псевдонимов. На практике это означает что теперь валиден подобный код:
for (using T = int; T e : v)
{
    // use e
}

Также можете ознакомиться с описанием исправлений и новыми предупреждениями в GCC 12 в оригинальной статье

>>> Все изменения GCC 12

 ,

fsb4000
()

Хакеры требуют открыть драйверы Nvidia

Новости — Hardware and Drivers
Хакеры требуют открыть драйверы Nvidia
Группа Hardware and Drivers

Несколько дней назад хакерская группа LAPSUS$ проникла во внутреннюю сеть NVIDIA и украла примерно терабайт данных, включая исходные тексты драйверов, DLSS, клиентскую базу. Служба безопасности NVIDIA попыталась вывести из строя компьютеры преступников, зашифровав диски, но те сохранили резервную копию и выложили в открытый доступ несколько десятков гигабайт, включая исходные тексты драйверов под Windows.

Теперь LAPSUS$ требует от NVIDIA перевести драйверы для Windows, macOS и Linux под свободную лицензию, и в дальнейшем не закрывать. В противном случае они опубликуют схемотехнику видеокарт и чипов, включая находящиеся в разработке. Срок — до пятницы.

Скриншот: https://cdn.videocardz.com/1/2022/03/Lapsus-Ransom-NVIDIA.png

>>> Новость на Opennet

 , , открытые драйверы

question4
()

labwc 0.5

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

labwc — композитный менеджер для Wayland с возможностями, напоминающими Openbox. Совместим с темами для Openbox. В основе используется библиотека wlroots.

В этой версии:

  • Добавлена поддержка HiDPI.
  • Добавлена поддержка клиентских меню.
  • Приложениям теперь позволено запускаться в полноэкранном режиме.
  • Добавлена поддержка перемещения развёрнутых окон (они будут считаться unmaximized).
  • Добавлена поддержка жестов (щипок/свайп).
  • Добавлена полноценная поддержка панели sfwbar.
  • Добавлена поддержка переменных окружения WLR_{WL,X11}_OUTPUTS для запуска во вложенном X11 или Wayland.

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

 , , ,

Original
()

Cлужба systemd для работы с nvidia-settings

Форум — Desktop

Добрый день.

Есть скрипт /usr/local/bin/gpuoc.sh

#!/bin/sh
nvidia-settings -a «[gpu:0]/GPUGraphicsClockOffset[3]=200»

есть служба

[Unit]
Description=«gpu»
After=multi-user.target
[Service]
Type=simple
User=myuser
ExecStart=/usr/local/bin/gpuoc.sh
[Install]
WantedBy=multi-user.target"

Запихиваю службу в /home/myuser/.config/systemd/user, стартую ее systemctl --user start gpuoc и меняется частота видеочипа.
Но если положить службу в /etc/systemd/system, и сказать systemctl start gpuoc то получаю ошибку:

× gpuoc.service - «gpu»
Loaded: loaded (/etc/systemd/system/gpuoc.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2021-12-14 01:20:57 MSK; 7s ago
Process: 4723 ExecStart=/home/rsnorlax/.config/gpuoc.sh (code=exited, status=1/FAILURE)
Main PID: 4723 (code=exited, status=1/FAILURE)
CPU: 15ms
дек 14 01:20:57 SN-DT systemd[1]: Started «gpu».
дек 14 01:20:57 SN-DT gpuoc.sh[4724]: ERROR: The control display is undefined; please run nvidia-settings –help for usage information.
дек 14 01:20:57 SN-DT systemd[1]: gpuoc.service: Main process exited, code=exited, status=1/FAILURE
дек 14 01:20:57 SN-DT systemd[1]: gpuoc.service: Failed with result ‘exit-code’.

Судя по тому что по этому же принципу не работатет софтина nvfancontrol запущенная службой из /ets/systemd/system, подозреваю, что они пытаются запуститься от рута, но что-то идет не так. Помогите разобраться.

 , , ,

rsnorlax
()

Mold 1.0

Новости — Разработка
Группа Разработка

Mold (a modern linker) — новый высокоскоростной компоновщик для Unix-подобных платформ (i386 и x86-64) от автора LLVM lld.

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

Согласно проведённым замерам производительности, новый компоновщик в разы быстрее LLVM lld и на порядок быстрее GNU gold, будучи при этом совместим с ними.

Проект написан на C++20 и распространяется под лицензией GNU AGPL v3. Автор заявляет о возможности приобретения коммерческой лицензии для организаций, которых не устраивают условия AGPL, а также о поиске спонсора, который может купить у него права на проект и сменить лицензию на более пермиссивную.

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

 

anonymous
()

Новый формат изображений быстрее PNG в десятки раз

Новости — Мультимедиа
Новый формат изображений быстрее PNG в десятки раз
Группа Мультимедиа

Доминик Саблевски представил новый и невероятно простой в реализации формат изображений QOI (Quite OK Image). По представленным тестам, при сжатии изображений QOI производительнее PNG в 20–30 раз, а при распаковке — в 3–4 раза.

Доминик признаётся, что не является экспертом в области сжатия изображений. Идея создать новый простой и эффективный формат изображений пришла к нему во времена работы с MPEG-1. Его целью была скорость и простота.

Файлы QOI больше по размеру, чем PNG на 10–50 % в зависимости от картинки, поэтому QOI стоит применять, когда необходима скорость.

Исходный код на C, состоящий из одного универсального файла, доступен на GitHub.

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

Также доступны реализации на Zig, Rust, Go, TypeScript, Python, C#. Поддержка QOI добавлена в библиотеку SAIL.

Для пользователей Arch Linux в AUR доступен пакет qoi-git.

>>> Замеры скорости и размеров изображений

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

 , , , qoi

former_anonymous
()

Опубликован исходный код NVIDIA Image Scaling

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

В корпорация NVIDIA сообщила об открытии исходого кода Image Scaling SDK (NIS).

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

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

В обсуждении на Reddit пользователи провели параллели с аналогичным анонсом от компании AMD, которая опубликовала исходный код FidelityFX Super Resolution (FSR) на платформе GPUOpen в июле этого года.

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

 , ,

NeTC
()

2 вопроса: Audio через HDMI и Video на Hyperv_drm

Форум — Desktop

Здравствуйте.

У меня кончились мысли.

Сначала по поводу Проблемы с AMDGPU (комментарий) вот этого комментария - стал смотреть как дела в других дистрибутивах, и обнаружил что в VoidLinux нормально всё играет в телевизоре без подмены EDID. В ArchLinux, например, так и не играет. Смотрел в cat /proc/asound/card1/eld\#0.3 и в pactl list sinks на обоих, сравнивал - никакой разницы не вижу. Но разница должна же где-то быть. Где ещё искать места почему в Void звук слышен всегда, а в Arch только при подмене EDID?

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

Потом практически ровно наоборот - линуксы у меня умеют, как с железа стартовать, так и под Hyper-V. Начиная с 5.14 в Linux добавили hyperv_drm и он прекрасен. В ArchLinux всё замечательно теперь показывает без hyperv_fb. Не могу заставить Void делать также. Сравнивал Xorg.0.log на обеих - в ArchLinux есть такие строчки:

[     4.399] (==) Automatically adding devices
[     4.399] (==) Automatically enabling devices
[     4.399] (==) Automatically adding GPU devices
[     4.399] (==) Automatically binding GPU devices
а в Void последней строчки нет. Что это за binding? Как заставить X в Void тоже «Automatically binding»? Второе большое отличие - Void ругается на open /dev/dri/card0: No such file or directory. А с этим как бороться осознано? В интернетах решения уровня «переустановил пакет такой-то и заработало».

Может есть у кого какие-нибудь комментарии по обоим квестам?

 , , , ,

Toxo2
()

Выпуск Weston 2.0

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

С небольшим отставанием от протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.13, подготовлен релиз параллельно развиваемого композитного сервера Weston 2.0. Смена номера значительной версии в Weston 2.0 обусловлена изменениями в новом API управления выводом, нарушающими совместимость c libweston на уровне ABI. Все штатные бэкенды портированы на новый API для настройки вывода.

В новой версии также добавлена поддержка EGL-расширения EGL_KHR_swap_buffers_with_damage, реализованного в проприетарном драйвере NVIDIA. В бэкенде GL добавлена поддержка буферов DRM_FORMAT_YUV444. Улучшено позиционирование панелей в desktop-shell. В XWayland приведены в порядок сообщения об ошибках.

Источник

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

 , ,

anonymous
()

ArmorPaint 0.8

Новости — Мультимедиа
ArmorPaint 0.8
Группа Мультимедиа

Выпущена новая версия ArmorPaint — редактора для текстурирования 3D-моделей. Программа распространяется на условиях лицензии zlib/libpng.

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

Готовые сборки программы доступны на Gumroad за 16 €. Исходный код для самостоятельной сборки публикуется на GitHub.

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

 ,

AP
()

Синтезатор речи xVA-Synth 2.0.1

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

xVA-Synth — это программа, занимающаяся синтезом речи на основе данных машинного обучения на файлах озвучки из игр. На данный момент есть полученные данные для синтеза речи для игр Oblivion, Morrowind, Skyrim, Fallout 3, Fallout 4, Fallout New Vegas, Fallout 76, Cyberpunk 2077, Civilization 5, Mass Effect 3, The Witcher 3, HUMANKIND, Overwatch, Dragon Age: Inquisition.

Программа написана на Electron/Javascript и Python. Однако вопрос о возможности запуска xVA-Synth под Linux остаётся открытым.

Изменения по сравнению с версией 2.0:

  • Исправлено редактирование .json загружающее выдачу и иногда не показывающее это.

  • Предотвращено обновление ARPAbet при установке флажков для включения/отключения слов.

  • Добавлено предупреждение для включения массового ARPAbet.

  • Исправлено меню 3D-визуализатора, не завершающее регенерацию.

  • Добавлено обновление интерфейса по Ctrl+R, чтобы избежать перезапуска всего приложения, если это необходимо для выдачи внешнего интерфейса.

  • Добавлено много голосов, созданных с помощью нейросетевой системы Tacotron2. Это убрало ограничения на длину записи голоса. Для других голосов, если озвученный текст был больше определённой длины (5 секунд) или меньше определённой (2 секунды), он искажается. У голосов с Tacotron2 такой проблемы нет.

  • Добавлено много других голосов., например, голоса Геральта, Цири, Мартина Септима, Валерики, Алдуина, Партунакса, Одавинга.

Как это выглядит

Здесь можно скачать голоса для Обливиона

Здесь можно скачать голоса для Скайрима

>>> исходники

 , , xva-synth

misteralter
()

Большой цветной экран на электронных чернилах диагональю 25,3"

Новости — Hardware and Drivers
Группа Hardware and Drivers

В свет выходит один из первых цветных экранов, произведенных по технологии ACeP (Advanced Color ePaper), поддерживающий 32000 цветов (напомним что ранее была доступна лишь глубина цвета в 12 бит или 4096 цветов, 32000 цветов это чуть меньше цветности в 15 бит). Комплект с разрешением 3200x1800 при диагонали 25,3 дюймов стоит 1500 долларов без налогов и требует наличия Raspberry Pi 3.

https://shopkits.eink.com/product/luvia-with-25-3%cb%9d-acep-display-ac253tt1-%e3%80%90glass%e3%80%91/

Для работы также требуется управляющая плата Luvia (Tcon board) w/ Mini-LVDS FFC стоимостью 500 долларов без налогов.

https://shopkits.eink.com/product/luvia-driving-board/

Но если верить фото товара, пока что по предзаказу на панель действует скидка 35%.

Также можно понаблюдать демонстрацию работы матрицы

https://www.youtube.com/embed/W1JaFAUa2Ys

 , ,

anonymous
()