LINUX.ORG.RU

Сообщения PPP328

 

Как установить wine32 в виде изолированного окружения?

Ubuntu 18.04, ни руками ни через playonlinux wine32 вставать не хочет:

Следующие пакеты имеют неудовлетворённые зависимости:
 wine32:i386 : Зависит: libwine:i386 (= 3.0-1ubuntu1) но он не будет установлен
 libwine:i386 : Зависит: libgphoto2-6:i386 (>= 2.5.10) но он не будет установлен
                Зависит: libgphoto2-port12:i386 (>= 2.5.10) но он не будет установлен
                Рекомендует: libsane1:i386 (>= 1.0.24) но он не будет установлен

 libgphoto2-port12:i386 : Зависит: libusb-1.0-0:i386 (>= 2:1.0.8) но он не будет установлен
 kio : Зависит: libkf5notifications5 (>= 4.96.0) но он не будет установлен
       Зависит: libkf5wallet-bin но он не будет установлен
 libkf5wallet5 : Зависит: libkwalletbackend5-5 (= 5.44.0-0ubuntu1) но он не будет установлен

…ну и так далее на половину системы ругается. При этом стим свой proton 32х битный поставил без проблем.

Просто хочу в Diablo II погонять.

 ,

PPP328 ()

Как открыть PDF в Libre Office картинками?

Хочу напечатать книгу. Раньше, когда я сам ее верстал в libre - то печатал через галку «брошюра» и печатал по 8 страниц на двусторонней печати - выходило классно, вкусно и полезно.

Теперь у меня есть PDF, но в Atril (который использует системный диалог печати) нет галки «брошюра», она есть только в LibreOffice (который системный диалог печати не использует).

Вопрос:

Как мне импортировать PDF в LibreOffice Writer постранично картинками? Почему именно картинками - если открыть как текст через LibreOffice Draw - то всё форматирование плывёт, куски текста пропадают, а диаграммы уходят вправо.

Вариант №2 (более сложный) - найти утилиту которая мне каким-то волшебным образом подготовит PDF к печати двусторонними тетрадками по 8 страниц.

 , , ,

PPP328 ()

Как отключить связывание процессов xfce4-terminal?

При запуске первого процесса xfce4-terminal он порождает независимый процесс с родителем установленным как тот, кто его породил (другой терминал, иксы, QtCreator и пр.) Всё круто, всё хорошо.

Если при этом запустить вторую копию, то, несмотря на настоящего родителя процесс будет привязан к первому терминалу. Т.е. Если я первый процесс запустил через хоткей и получил родителем X, то у второго процесса, который я запущу, например через QtCreator родителем будет Х. В данном случае проблемы нет, однако если первый процесс запустить в QtCreator, а второй - через хоткей, то у обоих процессов родителем будет QtCreator, что приводит к проблеме - среда разработки грохает процесс, который породила, закрывая тем самым второй терминал, который к ней не имеет никакого отношения. Жутко неудобно, когда открываешь кучу процессов для отладки или инфы, закрываешь дебаг сессию в QtCreator и у тебя дропаются ВСЕ терминалы в системе.

Как не давать им слипаться?

 

PPP328 ()

Баг newlocale?

#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <locale.h>

int main(void) {

    locale_t loc = newlocale(LC_ALL_MASK, "en_US.utf8", NULL);
    if (loc == 0) {
        printf("NEW: %d %s\n", errno, strerror(errno));
        return 1;
    }
     if (uselocale(loc) == 0) {
        printf("USE: %d %s\n", errno, strerror(errno));
        return 1;
    }

    for (int i = 0; i < 50; i++)
        printf("%d %s\n", i, strerror(i));
        
    freelocale(loc);
    return 0;
}
$ ./error.elf 
0 Выполнено
1 Операция не позволена
2 Нет такого файла или каталога
3 Нет такого процесса
4 Прерван системный вызов
5 Ошибка ввода/вывода
...

ЧЯДНТ?

$ locale --all
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
ru_RU.utf8
ru_UA.utf8

 , ,

PPP328 ()

Steam обновил мне flatout 2 и теперь я без игры

Поучительная история:

Играл во flatout 2 через стим на онтопике. Два дня назад ещё всё было хорошо. Сегодня при запуске мне выдает «недопустимая платформа». В магазине поддержку Linux тоже убрали. Чем им помешала игра, которой уже 15 лет - я не знаю.

Мораль, пасаны, пользуйте gog или пиратку. Иначе завтра ваш дистр превратится в тыкву.

 

PPP328 ()

А как бы вы оттранкейтили начало файла, в который пишет процесс?

Есть достаточно нетривиальная задача, если найдется решение хотя бы для linux - было бы уже неплохо.

Есть процесс, запущенный через fork() + close(1, 2) + open(file1, file2) + execve. Соответственно он пишет свой stdout/err в файл.

Что нужно - периодически чекать размер файла в другой программе (тривиально) и если он больше чем N (пусть будет 10 МБ) - отрезать ему M байт (пусть будет 5 МБ) с начала (не тривиально). Оставив таким образом только последние 5 МБ её выхлопа.

Не тривиально, потому что этот же файл всё еще пишется запущенной исходной программой.

Да, можно в теории поступить по-другому - открыть файл, скопировать его в другой, сохранить как .log.1, затранкейтив полностью исходный. Но есть проблема в том, что таких «пишущих» процессов будет что-то около 50 и засирать каталог очень не хочется (тем более, что практика показала, что искать что-то одновременно в log.1 … log.9 не очень удобно (особенно когда это что-то попадает куском в первый файл, а куском во второй)).

logrotate не доступен, потому что это условно-portable сервис + его надо запускать под виндами, желательно не переписав его на 90%.


UPD:
В общем на чем сейчас остановились: перехватывать на себя выхлоп через пайпы - не вариант, нужно плодить миллион (80 шт) нитей чтобы обслуживать все запущенные сервисы (40 шт).
Сейчас рассматриваем вариант с одной нитью и работать как logrotate - делать log.1, log.2 для всех разом. Непенятно только как заставить каретку в программе переехать на начало, ведь если работающий сервис не сделал close - то его позиция каретки зафикшена и если после моего truncate файла будет write со стороны программы - то там будет не 0, а файл, размером N МБ + добавка последней записи.
Кто расскажет, какую магию делает logrotate и logrotatewin? https://pastebin.com/ewDukJJx

 , ,

PPP328 ()

Интересные книги, оказывается, выходят

Object Oriented Programming with C++, Second Edition by Richard Johnsonbaugh

1.4 C++ AS A SUPERSET OF C PROGRAMMING LANGUAGE C++ has inherited all the strong points of C. It has tried to remove certain weaknesses. Object orientation has added a totally new dimension to the language. You can make use of code and reuse it to the hilt. C++ is a superset of C. All your C programs will work without any modification in this environment. However, we recommend that you get accustomed to new styles and techniques of C++ from day one.

2012

А потом к нам на должность С-программиста стучатся люди, которые никогда не кодили на си, но зато чо-то там делали на Qt/boost

 ,

PPP328 ()

Требуется: Программист С, Ростов-на-Дону

Требуемый опыт работы: 1–3 года
Полная занятость, полный день

З\п:

  • От 80 000, верх не запаян.

От тебя потребуется:

  • Опыт разработки на С/С++ на Linux от года (C в приоритете);
  • Опыт разработки сетевых приложений, знание сетевого стека;
  • Базовые знания устройства *nix систем;
  • Умение работать со скриптовыми языками;
  • Знание системы контроля версий.

Плюсом будет:

  • Опыт работы с удаленными устройствами через TCP+binary/HTTP/SOAP/MODBUS;
  • Опыт работы с Perl;
  • Умение соответствовать стандартам безопасности MISRA C/NASA JPL;
  • Умение работать с системами отладки и анализа (GDB, Callgrind, Memcheck, Valgrind, CPPcheck, scan-build);
  • Умение работать с SQL базами;
  • Опыт разработки Windows приложений.

Гарантируем:

  • Интересные задачи, простую и прозрачную систему организации работы;
  • Стабильно высокую заработную плату, постоянные индексации;
  • Оплачиваемое обучение, участие в профильных конференциях;
  • Годовую премию, ДМС;
  • Гибкий график работы;
  • Дружный коллектив единомышленников;
  • Перспективы профессионального и карьерного роста;
  • Оформление по ТК РФ с первого дня;
  • Своя кухня, чай/кофе, печеньки, мюсли для приятного и уютного перерыва;
  • Корпоративные праздники и спортивные тренировки;
  • Современный офис в самом центре с панорамным видом на город;
  • Рабочее место, оборудованное всем необходимым для продуктивной работы.

Связь:


От себя добавлю:

  • Лояльное отношение начальства (надо куда-то свалить - ок, потом отработаешь, либо договоримся если работа завершена в срок)
  • Возможна работа удаленно с редкими визитами в офис (сейчас из всего отдела в офисе работает только один потому что там стоят тестовые стенды с оборудованием, как только закупят вторую партию отправится работать из дома)
  • Конференции и поездки за счет работодателя (сейчас с поездками хуже, рассосется ковидла - будет лучше, до ковидлы каждый месяц кто-то куда-то уезжал, онлайн сейчас в приоритете)
  • Курсы повышения квалификации за счет работодателя
  • В отделе есть человек 81го года, проблем нет, возраст не помеха.
  • Интересные задачи разной направленности - управление кинооборудованием, спутниковая передача данных, работа с кассовым оборудованием, работа с авиационными системами.

 , ,

PPP328 ()

Портирование асма на оффтопик

Неожиданно столкнулся с тем, что ассемблер под mingw чутка отличается от gcc’шного (хотя при этом у нас уже много чисто асмовых модулей, например sha2, на которых граблей не было, нужно было только экспортные имена поменять).

У нас есть код:

.section .rodata
      .global <symbolname>
      .type   <symbolname>, @object
      .align  4
<symbolname>:
      .incbin "./files/<symbolname>.ext"
      .byte 0
<symbolname>_end:
      .global <symbolname>_size
      .type   <symbolname>_size, @object
      .align  4
<symbolname>_size:
      .int    <symbolname>_end -<symbolname>

После чего мы генерим такой файл:

#ifndef <SYMBOLNAME>
#define <SYMBOLNAME>

extern const char <symbolname>[];
extern const u32 <symbolname>_size;

#endif /* <SYMBOLNAME> */

Как выяснилось, gcc это кушает хорошо, в вот mingw жрать не хочет:

<symbolname>_gen.s: Сообщения ассемблера:
<symbolname>_gen.s:3: Предупреждение: Псевдооперация .type используется вне .def/.endef: игнорируется.
<symbolname>_gen.s:3: Ошибка: мусор в конце строки, первый нераспознанный символ «m»
<symbolname>_gen.s:10: Предупреждение: Псевдооперация .type используется вне .def/.endef: игнорируется.
<symbolname>_gen.s:10: Ошибка: мусор в конце строки, первый нераспознанный символ «m»

Помогите, пожалуйста портировать эту засаду под mingw/win32.

Суть в автоматическом встраивании внешних файлов в бинарь. Например у нас есть JSON-файл со схемой валидации. Вместо того чтобы таскать его с собой, открывать на чтение и проч. просто используем условный myjson[].

 ,

PPP328 ()

Расскажите, пожалуйста, за шрифты

Я не специалист по шрифтам, но мне нужно узнать ответ на следующий вопрос:

Положим есть пиксельный шрифт (не векторный, не в курсе как они правильно называются - я ж не специалист). У этого шрифта положим есть буква «А». Так вот вопрос в следующем:

Предположим, что мы средствами например браузера или терминала используем эту букву этого шрифта. Возможно ли если я выставил букве красный цвет средствами только шрифта сделать так чтобы например перекладина в «А» была другого цвета или хотя бы оттенка (темнее\светлее)?

Или рендер абсолютно всех шрифтов всегда происходит на черно-белой канве впоследствии окрашиваясь с используя канву как альфа-маску?

 

PPP328 ()

А ipsec умеет отдавать инфу в машиночитаемом виде?

$ sudo ipsec statusall
Status of IKE charon daemon (strongSwan 5.3.4, Linux 4.4.14, x86_64):
  uptime: 4 days, since Feb 08 21:28:27 2021
  malloc: sbrk 2297856, mmap 0, used 280192, free 2017664
  worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 4
  loaded plugins: charon aes des rc2 sha1 sha2 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem fips-prf gmp xcbc cmac hmac attr kernel-netlink resolve socket-default stroke updown xauth-generic
Listening IP addresses:
  xxx.xxx.xxx.xxx
  xxx.xxx.xxx.xxx
Connections:
        xxx:  %any...xxx.xxx.xxx.xxx  IKEv2
        xxx:   local:  [pro2269] uses pre-shared key authentication
        xxx:   remote: [xxx.xxx.xxx.xxx] uses pre-shared key authentication
        xxx:   child:  dynamic === 0.0.0.0/0 TUNNEL
Security Associations (1 up, 0 connecting):
        xxx[108]: ESTABLISHED 36 minutes ago, xxx.xxx.xxx.xxx[hostname]...xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]
        xxx[108]: IKEv2 SPIs: 2c027681f7a9917f_i* 5502946723f0484b_r, pre-shared key reauthentication in 16 minutes
        xxx[108]: IKE proposal: AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048
        xxx{431}:  INSTALLED, TUNNEL, reqid 108, ESP in UDP SPIs: c2ca3a8c_i c587179c_o
        xxx{431}:  AES_CBC_128/HMAC_SHA1_96, 9525 bytes_i (88 pkts, 0s ago), 7977 bytes_o (62 pkts, 6s ago), rekeying in 7 minutes
        xxx{431}:   xxx.xxx.xxx.0/32 === xxx.xxx.xxx.0/27

Как мне получить имя xxx и сколько секунд назад (bytes_i Ns ago) пришел последний пакет без того, чтобы парсить это всё вприсядку регэкспами в надежде что не сменится алгоритм? Есть у ipsec какой-нибудь адекватный машиночитаемый выхлоп?

Ставить новые пакеты нельзя.

 ,

PPP328 ()

MeddleMonkey отключено во всех браузерах

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

Для тех кто в танке что это:

MeddleMonkey (fork Violentmonkey with some features) is the most popular user script manager, with over 4 million users, which supports for Chromium-based browsers like Opera and Chrome.

 

PPP328 ()

Значение переменной при динамической линковке и инициализаторе.

Дано:
Динамическая линковка с libxml2. Гружу символ xmlMalloc:

__typeof__(xmlMalloc) xmlMalloc;

static void _init_xmlMalloc(void) __attribute__((constructor));
static void _init_xmlMalloc(void) {
    void * obj = lok_library_func(library, "xmlMalloc");
    xmlMalloc = * (__typeof__(xmlMalloc) *)obj;
}

В lok_library_func обычный dlsym с проверкой на нашел\не нашел. При не нашел - падаем.

Грузит, находит по адресу. Но xmlMalloc == NULL. Т.е. переменная не присвоена. Окей, обращаемся к коду libxml:

#if defined(DEBUG_MEMORY_LOCATION) || defined(DEBUG_MEMORY)
<...>
xmlMallocFunc xmlMalloc = (xmlMallocFunc) xmlMemMalloc;
<...>
#else
<...>
/**
 * xmlMalloc:
 * @size:  the size requested in bytes
 *
 * The variable holding the libxml malloc() implementation
 *
 * Returns a pointer to the newly allocated block or NULL in case of error
 */
xmlMallocFunc xmlMalloc = malloc;

Точно известно, что DEBUG_MEMORY_LOCATION и DEBUG_MEMORY не установлены. Значит переменная должна быть инициализирована при загрузке библиотеки (что и происходит при dlopen).

Вопрос - почему переменная NULL?

Из-за того, что она NULL происходит падение при первом же выделении памяти внутри самой либы (например на LIBXML_TEST_VERSION).

 ,

PPP328 ()

Как поставить wine без засирания системы?

xUbuntu 18.04. Раньше, когда устанавливал wine он добавлял свои «хвосты» просто везде - в меню приложений, в контекстное меню, заменяя «открыть как» своим списком.

Хочу просто поставить бинари чтобы они никуда ничего не писали меняя в меню. Запускать буду через xxx/wine app.exe отдельным скриптом.

Как? Скачать и разархивировать ubuntu deb-пакет в какой-нибудь /opt? Или есть нормальный метод?

 ,

PPP328 ()

Как заставить работать Flash Player Stand Alone на Ubuntu 18.04?

Если запускать на файл, то падает:

:/opt/flash_player_sa_linux.x86_64$ file flashplayer 
flashplayer: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 2.6.24, BuildID[sha1]=47d8ae3f68ab157106d8b75f62c168faff673f0c, stripped



$ ./flashplayer ~/downloads/file.swf 
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0

(flashplayer:11697): GLib-GObject-WARNING **: 10:26:43.637: instance with invalid (NULL) class pointer

(flashplayer:11697): GLib-GObject-CRITICAL **: 10:26:43.637: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

В интернетах говорят что оно пытается грузить libcurl3.

Если его попытаться поставить, то он хочет удалить много чего нужного:

Следующие пакеты будут УДАЛЕНЫ:
  cmake curl gimp-gmic libcurl4 libcurl4-openssl-dev
Следующие НОВЫЕ пакеты будут установлены:
  libcurl3

Как заставить проигрывать работать? Может можно перепаковать в новые(тм) крутые(с) безотказные(r) appimage?

 , ,

PPP328 ()

Почему Deluge p2p-шит когда нет раздач?

Запустил deluge, скачал раздачу, выбрал «удалить торрент», получил пустой список.

Запустил VPN до ProtonVPN, через минуту получаю выкидывание на страницу «мы зафиксировали p2p трафик, остынь 5 минут, паренек или купи дорогой тариф». Перезапустил соединение, еще пара минут - снова та же страница. Проверил, в Deluge пустой список. Выключил deluge полностью - не выбрасывает на эту страницу.

Что deluge p2p-шит когда нет раздач?

 , , ,

PPP328 ()

Здравствуйте, это канал про Linux?

…Посоветуйте аниме без сисек.

Не, ну реально, весь этот фансервис во всех современных тайтлах убивает желание смотреть что-либо на корню. В то время как ishuzoku reviewers прорывают очередное дно в индустрии аниме, стирая грань между хентаем и аниме (до такой степени что оказались забанены на стриминговых сервисах) сердце и душа просит чего-то доброго и вечного типа Slayers (хотя и там тоже периодически фансервисили по самое не хочу).

В общем поделитесь чем-то, что можно посмотреть бородатому дяде под 30 и где не будет мелькающих трусов или сисек. Такое вообще всё еще делают? Или такие тайтлы навсегда остались в 80х?

Список того, про что я веду речь:

  • Slayers
  • Ginga Eiyuu Densetsu
  • Ano Hi Mita Hana no Namae o Bokutachi wa Mada Shiranai (Ano Hana)
  • Ascendance of a Bookworm
  • Girls’ Last Tour
  • One Punch Man
  • Sleepy Princess in the Demon Castle
  • Battleangel Alita
  • To aru kagaku no railgun – этакое «анимешное чёрное зеркало» – сюжетки про чудеса техники и то как они могут повлиять. Не слишком научно достоверно в деталях, но задуматься можно
  • Dr Stone – анимешный научпоп. Главная его задача (помимо развлечения) – показать что наука это круто
  • Yakusoku no Neverland – майндгейм, ангст. В конце, вроде как, намёк на антивойну, но не уверен - не дождавшись главы дропнул.
  • School Live – поведение ОЯШкольниц в зомбоапокалипсисе. Довольно трогательно пытаются сохранить модели поведения старого мира, понимая при этом (нуу.. почти все) ситуацию.

 ,

PPP328 ()

Начал подлагивать звук в VLC

Пробовал делать mv ~/.config/vlc, начиная с чистых настроек. Всё равно периодически подлагивает. Файлы mp3, SSD, раньше такого не было.

Как диагностировать?

Инфа по диску:

Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       6646
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       170
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       6
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   066   048   000    Old_age   Always       -       34
195 Hardware_ECC_Recovered  0x001a   200   200   000    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x003e   100   100   000    Old_age   Always       -       0
235 Unknown_Attribute       0x0012   099   099   000    Old_age   Always       -       5
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       8616181633

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      6646         -

$ sudo smartctl -i /dev/sda
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.0.0-37-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     Samsung SSD 860 EVO 1TB
Serial Number:    S4FMNF0M808306B
LU WWN Device Id: 5 002538 e998026fe
Firmware Version: RVT03B6Q
User Capacity:    1 000 204 886 016 bytes [1,00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   Unknown(0x09fc), ACS-4 T13/BSR INCITS 529 revision 5
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue Nov 24 01:59:52 2020 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

 

PPP328 ()

Как подобрать совместимый геймпад?

У моего noname-китайца начали глючить контроллеры кнопок.
Как подобрать геймпад, который будет 100% совместим с Linux без плясок с бубном?
Пожелания:

  • Цена до 2000р
  • Форм-фактор Ps2-3 (привык к нему)
  • Сиськи нужны
  • Провода. У меня есть тенденция забывать батарейки внутри, прошлый беспроводной я так и погубил.

 ,

PPP328 ()

Насколько OpenGL deprecated?

Сижу на Ubuntu 18.04 (intel карточка).

Попробовал скомилить и запустить вулкановский пример - компилится но сегфолтится на init. Вычитал что надо ставить отдельный драйвер (!) чтобы заработали vulkan приложения.

mesa-vulkan-drivers/bionic-updates 20.0.8-0ubuntu1~18.04.1 amd64
  Mesa Vulkan graphics drivers

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

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

Всвязи с этим вопрос - а насколько разработка под OpenGL ныне считается deprected?

А то получается как в «12 стульях» - немое кино уже не актуально, а кина со звуком еще нет.

 , ,

PPP328 ()

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