LINUX.ORG.RU

Сообщения safocl

 

Vulkan-HPP sType must be VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER

делаю тестовый рендерер на вулкане через офф плюсовую обертку vulkan-hpp — встретился с интересными сообщениями от слоя валидации — одна из которых «sType must be VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER» для структуры vk::ImageMemoryBarrier — хотя там оно должно само подставляться при инициализации, если верить словам разработчиков.

почему ента ошибка возникает?

сам код

лог сообщений слоя валидации

 ,

safocl
()

page allocation failure — ошибка драйвера nvidia 455?

имеется Archlinux, i3wm, gtx1650
какое то время назад начала появляться такая ошибка. При ентом граф система просто зависает, хотя иногда звуковая система и система ввода продолжает нормально работать, однако замечаются некоторые фризы в системе ввода — например NumLock переключается спустя пару секунд и подобное, но может продолжать идти звук от видео и реагировать на паузу и продолжение.

Вначале я грешил на picom (compton) — но потом методом тыка выяснил, что енто драйвера nvidia 455ой версии.
Откатившись некоторое время назад на предыдущую версию проблема разрешилась.

Позавчера обновившись я понадеялся, что в драйвере починили данную трабблу и обновил и сей драйвер так же. Но увы, сегодня после сна я не смог пробудить компьютер из режима выключенного экрана (гибернизация и сон отключены) — система просто не реагировала ни на что — ни NumLock (ни др. локи) никак не реагировали вообще, пробовать перейти в другой VT я не стал — сразу ребутнул систему полностью, а по загрузке уже узрел предоставленный выше лог.

Так в чем причина? Енто действительно драйвера nvidia 455 версии багованы — или енто какие то изменения были сделаны в Xorg и терь они стали косячными для ентой версии дров? Или какая то другая часть графической подсистемы?
Енти фризы появляются и на lts версии ядра — так что енто не оно виновно.

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

`--> pacman -Qs nvidia
local/cuda 11.1.1-1
    NVIDIA's GPU programming toolkit
local/egl-wayland 1.1.5+2+g9c9c4c6-1
    EGLStream-based Wayland external platform
local/lib32-libvdpau 1.4-1
    Nvidia VDPAU library
local/lib32-nvidia-utils 455.38-1
    NVIDIA drivers utilities (32-bit)
local/lib32-opencl-nvidia 455.38-1
    OpenCL implemention for NVIDIA (32-bit)
local/libvdpau 1.4-1
    Nvidia VDPAU library
local/libxnvctrl 455.38-1
    NVIDIA NV-CONTROL X extension
local/nvidia-dkms 455.38-1
    NVIDIA drivers - module sources
local/nvidia-settings 455.38-1
    Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 455.38-1
    NVIDIA drivers utilities
local/opencl-nvidia 455.38-1
    OpenCL implemention for NVIDIA


п.с. указанная ошибка происходит не только с Xorg — она происходила еще и с picom (compton) из-за чего я и подумал на него.

 , , ,

safocl
()

Vulkan API — (vkEnumeratePhysicalDevices() == VK_ERROR_INITIALIZATION_FAILED) = true

имеется видяха gtx1650 и такой код — и он по непонятной мне причине выдает VK_ERROR_INITIALIZATION_FAILED при попытке заполнить массив VkPhysicalDevice'ов:

`--> ./src/vulkan_xcb
Detected devices: 1
terminate called after throwing an instance of 'std::runtime_error'
  what():  In Devices::PhysicalDevices() vkEnumeratePhysicalDevices returned VK_ERROR_INITIALIZATION_FAILED
zsh: abort (core dumped)  ./src/vulkan_xcb


п.с. при ентом первый прогон с nullptr указателем все же находит 1 девайс, что правда.
п.п.с система арч.

 , , , ,

safocl
()

XCB либа — ужасный недокументированный монстр — как сделать рендер?

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

интересует вопрос — как именно отправить готовый рендер на вывод?
допустим, я получаю графические контексты со всех видимых окон, делаю с ними композитные манипуляции и рендерю через вулкан, и тут я готов отправить кадр на вывод. — как енто сделать?

 , , , ,

safocl
()

XCB — как неизведанный зверь, или как узнать количество элементов в списке intern atom-ов?

имеется арч, в принципе последние пакеты, XCB...

имеется такой код — в нем я достаю из системы айдишники всех окон в системе.
однако возник вопрос, на который я не нашел ответа в офф доках — как узнать количество элементов в intern atom-е, если он представляет из себя массив?
так в функции

xcb_get_property()
последний аргумент количество элементов, пробовал различные функции для его определения, в том числе
xcb_intern_atom_sizeof()
 — но оно выдает значение «8» для атома _NET_CLIENT_LIST, вне зависимости от количества открытых окон. Но я передавал туда значение возвращаемое функцией
xcb_intern_atom_reply()
 — возможно енто и не верно, но в доках ничего не указано — а там вообще принимается void*.

может ктото юзал енту либу и вычислял енто значение?
пока что у меня енто значение прямо указано в 1000 — однако енто логически неверно.

ответ тут и далее по теме

 ,

safocl
()

Firefox 80 не прогружает некоторые части сайтов

имеется арч, i3-wm, nvidia, intel i5-3330.

решил вновь опробовать лисицу в качестве основного браузера и люто пришел в негодование!
вновь как и раньше багуются разные сайты — иногда не прогружаются некоторые элементы — потипу вот такого

пробовал полностью отключать все блокеры — и ublock и встроенный — эффекта ноль.

может кто знает магию настройки? или енто чистый баг?

`--> pacman -Qs firefox
local/firefox 80.0.1-1
    Standalone web browser from mozilla.org

 ,

safocl
()

C++ Gtkmm spinbutton не может в вертикальную ориентацию?

не могу понять, как сделать вертикальную ориентацию у данной сущности в gtkmm?
через билдер вроде делается, через код не могу познать каким образом.

решения:

тут

тут

тут

тут

 ,

safocl
()

MinGW-w64 на шинде отказывается распознавать библиотеки в папке проекта.

имеется проект который отказывается линковаться на шинде...
ошибка говорит, что не находятся библиотеки для линковки. Если вконце названия библиотек убрать суффикс (вместо libatk-1.0-0.dll сделать libatk-1.0.dll), то библиотека находится при сборке, но отказывается находиться при запуске скомпилированной проги — надо подсовывать с ентими суффиксами.
однако эти же библиотеки с такими же названиями (с ентими же суффиксами) успешно находятся если установить их с помощью msys2.
как сделать магию которую делает msys2 по поиску названий?

вначале устанавливаю msys2, потом в нем ставлю тулчейн mingw.
версия mingw-w64_x86_64 устанавливается 10.1.0

апд... — тему можно воспринимать как вопрос о том, как собрать прогу под шиндой с линковкой для gtkmm3 и sdl2_mixer, с применением cmake?

ответ тут
и тут

 , , ,

safocl
()

циклическая зависимость между mingw-w64-poppler и mingw-w64-cairo — как ее разрешить?

имеется archlinux

не могу поставить себе gtkmm minGW_64 версии из AUR...
столько мучений и ожидания и тут обнаружилась неразрешимая циклическая зависимость:
mingw-w64-poppler зависит от mingw-w64-cairo для запуска,
а mingw-w64-cairo зависит от mingw-w64-poppler для компиляции...

и второе не может произойти потому чо mingw-w64-poppler не может запуститься без mingw-w64-cairo...

что за бред?

gtkmm
cairo
poppler

 , ,

safocl
()

Gtk::grid плюс Gtk::label равно segfault

archlinux...
делаю будильник+таймер+логгер на gtkmm3, столкнулся с проблемой, что на сетке grid не отображается label — который я хотел использовать как разделитель ":" между spinButton — часы минуты секунды...

исходники :
clockentity.hpp

clockentity.cpp
если аттачить к grid данный delimiter то он не отображается и spin_buttton располагаются вплотную, вдобавок прога сегфолтится периодически при запуске.

как сделать красиво в данном случае?
https://i.imgur.com/c3CljDZ.png
вот тут необходимо между spinButton сделать разделители ":".


p.s. ответ найден — проблема была в ошибке в коде — инициализация строки была позже инициализации Gtk::Label — из-за чего последний инициализировался в конструкторе мусором.
ссылки на решение:
[тут](Gtk::grid плюс Gtk::label равно segfault (комментарий))
[или тут](Gtk::grid плюс Gtk::label равно segfault (комментарий))

 ,

safocl
()

C++ специализация шаблона для значения параметра шаблона своего типа

не могу понять, как сделать специализацию шаблонного метода нешаблонного класса (либо просто функции) по значению параметра шаблона своего типа?

пример:

enum class myType { FF, DD, GG }

template < myType >
void foo () {};

template <>
void foo < myType::DD > () {
...
}


так не получается — грит ошибка: идентификатор шаблона «getNumRemainedCards<lp::Board::boardState::RIVER>» для «constexpr int8_t lp::Deck::getNumRemainedCards( » не соответствует никакой декларации шаблона

 ,

safocl
()

GRUB2 и LUKS == долгая расшифровка /boot раздела

имеется арч, диск разделен на boot раздел (500М) и остальное — на все разделы накатаны LUKS (на boot естествено LUKS1, на остальной раздел LUKS2), поверх всех LUKS разделов налито LVM...
диск размечен MBR, материнка на обычном BIOS.

при запуске компа выпадет спрос пароля для GRUB2 и после его ввода комп тупит минуту в среднем — точно не засекал.

почему так долго расшифровывает, если тот же диск в загруженной системе расшифровывается за считанные секунды?

формат LUKS1 на разделе boot:

LUKS header information for /dev/sda2

Version:       	1
Cipher name:   	aes
Cipher mode:   	xts-plain64
Hash spec:     	sha512
Payload offset:	4096
MK bits:       	512

 , , , ,

safocl
()

Ошибки в qt5 при сборке с std=c++17

а енто нормально, что мне выдет такую ошибку при сборке:

/usr/include/qt/QtCore/qmetatype.h:1416:41: error: cannot cast 'Module' to its protected base class 'QObject'
        enum { Value = sizeof(checkType(static_cast<T*>(nullptr))) == sizeof(yes_type) };


т.е. qt не собирается с std=c++17?

 , , ,

safocl
()

QMPlay2 приведение кода к стандарту c++17

не пойму, как правильно реализовать логику, описанную тут
сам смысл понимаю — полиморфизм, — однако тут получается при таких кастах кастрация наследника, верно?
но создать родительский класс из выделенной памяти под дочерний не получается из-за отсутствия необходимого конструктора...

может кто то сталкивался с такими трабблами при наследовании от QThread?

 , ,

safocl
()

QT — размеры в int  — что за бред оО? Или я чего то не понимаю?

тут копался в чужом коде — куча несостыковок по типам — то беззнаковый в знавковый переводится, то обратно...

проект на QT, ходил много раз в либы ентого фреймворка и смарел, как в нем размеры хранятся в int...

но внимание вопрос — как размер может быть отрицательным?
зачем тогда использовать знаковый тип, если можно использовать беззнаковый?

 , , ,

safocl
()

GTKmm и отслеживание перемещения окна

В общем и целом вопрос таков — каким образом отслеживать перемещение окна?
Класс кона унаследован или не унаследован от Gtk::window.

т.е. не могу найти эвент отслеживающий перемещение окна.
может что то недосмотрел, но вроде все эвенты проверил по офф докам и ничего не нашел — так ли енто?

 

safocl
()

Tar отказывается исключать директории при создании архива

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

tar cf file.tar --exclude '/home/user/.cache' /home/user
отказывается исключать /home/user/.cache из архива (все равно ее архивирует)
как то не так понимаю использование?

исправил опечатку в команде (добавил в конце архивируемую директорию)

 ,

safocl
()

eCryptfs — где указать опции алгоритма шифрования?

имеется арч, решил зашифровать некие данные (в основном для опыта), все нормально получилось, однако не могу понять — где указать необходимый мне алгоритм шифрования?
шифрую данные в каталоге пользователя, без участия рута.
Пользовался постом и постом.
нигде не нашел информации о том, как указать при таком способе алгоритм шифрования, — нет ни в манах, ни в вики.
если монтировать от рута либо из fstab то, как предполагается такую опцию указать можно через опцию

ecryptfs_cipher=aes

однако опции монтирования не поддерживаются при монтировании не от рута.
в файле конфига ~/.ecryptfs/secret.conf в конце строки
$HOME/.secret $HOME/secret ecryptfs
пробовал указать
-o ecryptfs_cipher=aes
,однако
`--> mount.ecryptfs_private secret
Mount options are not supported here


Как указать нужный алгоритм шифрования?

 , , ,

safocl
()

Авто-сон при бездействии

Как реализовать сон при бездействии?
имеется арч, systemd как инит.
имеются ли инструменты для такой реализации?

мне подошел данный ответ.

 , ,

safocl
()

C++ Описание вложенного класса в другом файле

не могу понять, как описать вложенный класс в другом хедере?
если это не возможно, то сделаю в одном, однако, удобнее их все же разделить файлово.

 , , ,

safocl
()

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