LINUX.ORG.RU

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

Наборы патчей расширения функционала Mesa 24.2 (OpenGL и EGL)

Новости — Hardware and Drivers
Наборы патчей расширения функционала Mesa 24.2 (OpenGL и EGL)
Группа Hardware and Drivers

13 июня вышел набор из 12 патчей для поддержки расширений сжатия OpenGL/EGL с постоянной степенью сжатия. Патчи разрабатывались четыре месяца.

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

>>> Подробности на странице проекта freedesktop.org

 , , , ,

NeTC
()

Выпуск патчей RKVDEC2 для Rockchip RK3588

Новости — Open Source
Выпуск патчей RKVDEC2 для Rockchip RK3588
Группа Open Source

14 июня Детлев Казанова (Detlev Casanova) опубликовал патчи RKVDEC2. Цель проекта RKVDEC2 заключается в поддержке декодирования видео для Rockchip RK3588, который сочетает в себе четырехъядерный процессор Arm Cortex-A76, четырехъядерный процессор Arm Cortex-A55 с графикой Mali-G610 MC4, базовым NPU и ускоренным декодированием видео для H.264/H.265/AV1/AVS2.

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

>>> Подробности на официальном ресурсе рассылки kernel.org

 , ,

NeTC
()

Набор патчей для ускорения шифрования/дешифрования AES-GCM

Новости — Ядро Linux
Набор патчей для ускорения шифрования/дешифрования AES-GCM
Группа Ядро Linux

2 июня Эрик Биггерс (инженер из Google) представил новые реализации AES-XTS для гораздо более высокой производительности процессоров Intel/AMD с помощью новых наборов кода AES-NI + AVX, VAES + AVX2, VAES + AVX10/256 и VAES + AVX10/512.

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

>>> Подробности в официальной рассылке разработчиков ядра

 , , ,

NeTC
()

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
()