LINUX.ORG.RU

Сообщения Loki13

 

Вот как переходить на открытые форматы, если всё вот так?

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

Требования были следующие: Легковесная C++ библиотека для записи\чтения ods или xlsx файлов. Так для xlsx я нашел таких сразу 2(OpenXLSX и xlnt) и ещё одну зависимостью от Qt. А для ods всего одну библиотеку и ту с безальтернативными Qt(так ещё и полудохлую с 16 звездами на гитхабе). И я хоть и не тулкитофоб, но тащить Qt исключительно ради чтения ods - это перебор.

Ну и вопрос - Доколе? И как в такой ситуации поддерживать открытые форматы?

 , ,

Loki13
()

Пытаюсь перейти на Вейланд

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

Вот решил написать в пятницу, с одной стороны поговорить(и услышать что nvidia не для вяленного), а с другой вдруг кто-то что-то посоветует полезного.

Основная проблема в каком-то странном моргании некоторых поверхностей у приложений запущенных в Xwayland. Можно увидеть в стиме, на примере всплывающих окон, он появляются с эффектом моргания. С этим можно было бы и смирится, если бы такой же эффект не был в xfreerdp, и там это прямо проблема, потому что кроме моргания, добавляется ещё эффект того что картинка не обновляется вовремя или обновляется с промаргиванием как-будто предыдущих кадров.

wlfreerdp пробовал, но там тоже есть задержка обновления(хоть и без моргания), плюс также добавляется жуткое мыло и куча других глюков отрисовки.

Ну и проблемы из мелочей, типа разного размера курсоров и не там появляющиеся контекстные меню.

А вообще, мне Hyprland для рабочих целей очень зашел и если бы не этот досадный баг с freerdp, то я бы наверное уже и переходил(сейчас кедами пользуюсь) понемногу.

 , ,

Loki13
()

Ограничить частоту кадров в xscreensaver

Заметил, что когда включается хранитель экрана, то охлаждение процессора начинает немножечко гудеть. Начал разбираться и заметил, что он гоняет по частоте кадров без какого либо ограничения(150-250 у меня).

Что хотелось бы, либо ограничить кадры как-то, либо может быть включить vsync, который ограничит кадры. Или может вообще можно ограничить каким-то образом ресурсы CPU для процесса xscreensaver?

Хранитель экрана выключать не хочется, привык я как-то к «звездам» летающим по замысловатым траекториям, они у меня так уже пару лет летают.

 ,

Loki13
()

Не могу переключится на tty

Откуда-то всплыла следующая проблема, перестало работать переключение на tty. Причем sddm запускается успешно(в нём tty уже не работает), плазма запускается тоже успешно. При попытке нажать Alt-Ctrl-F4/F5(я специально нажал и туда и обратно, так видно что он считает что перешел в tty, но ничего не происходит) в журнале появляются следующие записи:

июл 31 12:21:51 home systemd[1]: getty@tty4.service: Deactivated successfully.
июл 31 12:21:51 home systemd[1]: getty@tty4.service: Scheduled restart job, restart counter is at 1.
июл 31 12:21:51 home systemd[1]: Started getty@tty4.service.
июл 31 12:21:54 home systemd[1]: Started getty@tty5.service.
июл 31 12:21:55 home agetty[5097]: tty5: invalid character 0x1b in login name
июл 31 12:22:05 home systemd[1]: getty@tty5.service: Deactivated successfully.
июл 31 12:22:05 home systemd[1]: getty@tty5.service: Scheduled restart job, restart counter is at 1.
июл 31 12:22:05 home systemd[1]: Started getty@tty5.service.
июл 31 12:22:06 home agetty[5095]: tty4: invalid character 0x1b in login name

Если нажать Alt-Ctrl-PrScr-R-E, то всё перезапускается и после этого переключение в tty начинает работать. Беглый гуглёж ничего не дал(если что-то и нашел, то оказалось что не мой случай).

 ,

Loki13
()

Расширить GPU Total memory

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

Начал разбираться и дошел до такого понятия(в nvidia-settings), как Total memory, которое для одинаковых видеокарт и систем почему-то в Windows равно VRAM + 1/2RAM, т.е. 4Гб+16Гб, а в Linux можно в этом поле увидеть только 4Гб родной памяти видеокарты.

Вопрос у меня собственно в чем, есть ли шансы как-то включить в Linux механизм общей памяти для видеокарты, как это работает в Windows или для нас это колдунство недоступно?

 , ,

Loki13
()

Ведьмак 3(2023) с RTX и DLSS

По случаю того, что обновил наконец видеокарточку, решил всё же поиграть в Ведьмака, которого давно откладывал. Ну и если уж играть в него в 2023м году, то конечно с пресловутыми лучами.

Расскажу всё сначала.

Сначала он у меня не запустился, а просто зависал на старте. Нагуглил, что нужен Proton Hotfix. Запустился, но с какими-то жесткими глюками. Поигрался с DX11-DX12 и вроде как в итоге смог запустить его в режиме DX12 и даже с лучами.

Но вот DLSS включить упорно не удается, без которого, с лучами и разрешением 4к, видяха всё же не вытягивает(чай 4070, а не 4090).

Тут решение нагуглить пока не получается. То ли нужен форк dxvk(который мне не совсем понятно как поставить в steam), то ли по другой информации оно вообще работать не будет пока невидия не сделает.

Если у кого получалось активировать DLSS(хотя бы 2й, а лучше и 3й) в сабже, буду премного благодарен.

PS: Также, если у кого был глюк с тем, что прыгает камера в бою, то тоже буду рад услышать как исправить.

 , ,

Loki13
()

Возможно ли использование CUDA из WINE

Хочу использовать CUDA из WINE. Суть в следующем. Есть приложение на С++, которое использует tensorflow. Приложение сугубо под оффтопик и переписывать его особо возможности нет(есть, но очень много работы будет). Есть желание запустить его в WINE, и оно запускается, но при этом не видит GPU. Пока что про приложение решил отложить и просто добиться CUDA из WINE.

Решил проверять с помощью CUDA-Z. CUDA-Z запущенная нативно отлично видит карточку и все хорошо. А вот запущенная через WINE виндовая версия пишет, что No compatible CUDA devices found!

И я уж было отчаялся, что это вообще возможно, но периодически попадаются истории успеха, где людям удалось завести CUDA в таком варианте. Но все эти истории объединяет, то, что они какие-то мутные. Где-то линуксовую so-шку копируют как nvcuda.dll(не работает, т.к. естественно, что она не dll), где-то берут соответствующую dll от wine(но у меня она заглушка на 2,5кб и не работает), где-то заброшенный в 2014м году враппер(который не сильно понятно как использовать), где-то вообще варианты от 2008го года, которые и не могут заработать.

Также есть подозрение, что оно хочет драйвер, который по понятным причинам в вайн не установить(тут есть идея что можно с винды драйверных dll-ек утянуть и подсунуть, но не знаю каких).

В итоге решил попросить помощи от ЛОРа. Ну или хотя бы услышать от экспертов, что это не возможно.

 ,

Loki13
()

Когда кривые руки покоя не дают

Два последних дня потратил в поисках того, почему у меня начали расплываться шрифты в моем линуксе. Причем именно так, что расплывутся, потом мышкой проведешь над ними и они обратно четкие. И произошло это после(но как оказалось не в следствии) обновления, где обновилась куча пакетов. Я уже что только не пробовал, и DP сплиттер отключил и все настройки перекрутил, уже готов был откатывать обновления, как вспомнил! Оказалось что мои неуловимые руки клацнули галочку FXAA в nvidia-settings. И вот после этого все «поплыло».

Мораль. Не стоит тыкать куда попало.

 

Loki13
()

Нужна детская обучающая блокировка

Вводные: Есть пара детей(пока что детсадовский возраст), которые нихрена не хотят учится. И которые подсели на смартфон(мой) и планшет(супруги).

Требование: Программа либо лончер для андроид, котрая будет блокировать всё, допустим, раз в 30 минут, и требовать решить задачу(прочитать слово, сосчитать пример, но задача в зависимости от выбранных настроек должна быть).

Собственно ищу как это сделать. Пока что из вариантов:

1. Найти и купить готовое

2. Найти что-то полуготовое в опенсорсе и допилить

3. Запилить свое и продавать(код оставить в опенсорсе по принципиальным соображениями)

3 конечно красиво и так далее, но делать велосипед, который возможно будет готов, когда уже и дети вырастут очень оптимистично. А если такое уже существует, то и глупо.

Вот собственно ищу!

Loki13
()

Подстановка пути к исходникам из командной строки

Есть у меня проект, и нужно, при деплое дебаг версии, скриптами делать разные вещи. Одна из таких вещей это запуск отладчика с указанием исполняемого файла(или аттача к уже запущенному процессу).

Всё вышеперечисленное я сделал, но столкнулся с проблемой. Дело в том что путь к исходникам сохраняется тот что был на машине сборки, а на отладочной машине исходники лежат по другому пути, хоть и с той же иерархией. Нашел команду set substitute-path, которой можно заменить путь к исходникам на другой. И вроде бы всё хорошо, но как эту команду выполнить из командной строки gdb? У меня что-то никак не выходит и прошу помощи.

Сейчас пытаюсь сделать что-то вроде:

gdb -ex=r --args ./EXECUTABLE «set substitute-path /home/user/Projects/Project ./»

И такой вариант не работает. Причем никаких ошибок не пишет. Просто путь к исходникам не подменяется. Если скопировать и эту же команду выполнить уже внутри gdb, то всё отлично работает.

PS: Каждый раз выполнять после запуска gdb подстановку пути - ну не вариант.

PPS: Уже хочу отчаятся и повторить из скрипта путь к исходникам на машине сборки и сделать оттуда симлинк на каталог с исходниками. Но это как-то уж больно костыльно будет. Хотелось бы без таких костылей обойтись.

 

Loki13
()

переносной hdd для бэкапов

Начало у меня заканчиваться место на смартфоне и встал вопрос, куда девать нажитые непосильным трудом фоточки и видяшечки. Синхронизировал в хомяк, но понимаю, что хомяк находится на не самом надежном носителе NVME SSD(контроллер сдохнет и прощай все данные). Долго думал и решил прикупить внешний диск на 1-2Тб(у меня не так много добра). Смотрю на них и там разница может быть более чем в 2 раза по стоимости. Пришел за советом, что лучше взять, чтобы недорого и надёжно. При этом скорость, защищенность и всякое такое - не важна. Важно, чтобы можно было закинуть бэкап, положить на полку и забыть лет на 10(по этой причине не подходят SSD).

Вот яндекс мне предлагает например

1 ТБ Внешний HDD ADATA HD330, USB 3.2 Gen 1, красный

Всего за 3490р.

А рядом

WD USB 3.0 1Tb WDBUZG0010BBK-WESN Elements Portable

Уже за 5600р

Стоит ли переплатить и что я за это получу? Или может быть есть какие-то варианты, которые будут лучше обоих представленных? Очень жду советов.

PS: Теоретически мне даже внутренний HDD бы подошел, но вроде как нет смысла иметь постоянно подключенным диск, который будет использоваться раз в год. Да и открывать раз в год комп для подключения, тоже будет лень.

PPS: Линукс тут при том, что все действия с диском будут производится с него самого.

 

Loki13
()

DNS_PROBE_FINISHED_NXDOMAIN В отдельно взятом браузере

Есть несколько рабочих ресурсов, находящихся за VPN. Даже за 2мя VPN, один обычный и один cisco, запускаются последовательно. Cisco добавляет свои DNS в resolve.conf.

Несколько месяцев всё работало отлично и вот пару дней назад появилась ошибка DNS_PROBE_FINISHED_NXDOMAIN для адресов за VPN. Я сначала грешил на то что что-то сломали админы на той стороне, но попробовав тот же адрес в Хроме, всё открылось отлично.

Получается что в Хроме адреса открываются, а в Яндекс браузере нет. Запускать в режиме Инкогнито пробовал. Браузер было дело переустанавливал(хотел перейти с yandex-browser-beta на stable, но вернул обратно).

Подскажите, что это вообще может быть и куда копать?

 ,

Loki13
()

Получить значение атрибута exFAT

Пытаюсь найти способ получить значение видндового атрибута Hidden для разных файловых систем. И если с FAT(ioctl) и NTFS(getxattr) довольно не сложно оказалось, то с exFAT что-то никак не идёт.

Как я понял ioctl получения атрибутов для exFAT не реализован ни в яделном модуле, ни в fuse(тут вроде что-то обещают, но только в версии 1.4, которая будет неизвестно когда).

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

static int exfat_getattr(const struct path *path, struct kstat *stat,
			 u32 request_mask, unsigned int flags)
{
	struct inode *inode = path->dentry->d_inode;

	pr_debug("%s entered\n", __func__);

	generic_fillattr(inode, stat);
	stat->blksize = EXFAT_SB(inode->i_sb)->fs_info.cluster_size;

	pr_debug("%s exited\n", __func__);
	return 0;
}

Но вот как дернуть этот вызов из ядерного модуля(и сработает ли это) я совсем пока придумать не могу.

Может есть какой-то общий способ(который я не знаю) как дернуть что-то из ядра? Процедура же статическая.

Надеюсь кто сталкивался с таким и что-нибудь посоветует.

Возможно это лучше в Development перенести. Размещаю в General, т.к. вдруг есть вариант не только из кода, но и какой-нибудь утилитой эти атрибуты вытащить.

 , ,

Loki13
()

Странное поведение Alt-Tab

Последние пол года мучаюсь со странным поведением Alt-Tab в кедах. Когда специально пытаюсь поймать - нифига не получается и всё работает как часы. Суть проблемы такая, если долго сижу в одном окне(например консоль), потом переключаюсь кликом по панели или альтабом в другое окно(например телеграм), то возвращает следующий Альт-Таб не в то окно откуда я переключился, а в другое(часто в скайп например). Пока сейчас пытался отловить это поведение, понял, что возможно это происходит, когда на экране всплывающее уведомление от приложения, то переключение происходит в приложение уведомления, а не в то куда должно. Но точно не уверен, т.к. сложно отловить момент.

Может кто сталкивался с чем-то похожим? И если да, то как лечили?

Хочется классического Alt-Tab, которой кстати и в венде уже сломали несколько лет как, когда переключение только между последними окнами\приложениями происходит, без всяких вспоможений от слишком умных ДЕ.

В толксы, потому что поговорить больше хочу об этом, ну и потому что не могу даже описать нормально проблему.

 ,

Loki13
()

Распаковка zip-архива с русскими именами файлов

Не думал, что столкнусь с такой проблемой в 2022 году, но вот столкнулся. Я конечно не совсем беспомощный и нагуглил даже 2 решения этой проблемы и смог решить проблему на своей домашней тачке(Gentoo).

Мои способы:

unzip -O CP866 -l ./ARCHIVE.zip

7z l -no-utf16 ./ARCHIVE.zip | iconv -f cp866

Во втором варианте задумывалось переименование после распаковки.

Но проблема в том, что решить надо не на сферическом линуксе в вакууме, где можно поставить патченный пакет или прибегнуть к разным другим ухищрениям, а на ванильном Debian 11. На котором пакет p7zip не имеет ключа -no-utf16, а unzip не имеет -О в параметрах командной строки.

Пока что вижу вариант установить патченный unzip из ppa от убунты(криво как-то мне кажется ставить на прод софт из ppa от Васяна) или написать скрипт на питоне, который будет перекодировать имена файлов при распаковке(если честно, то лень, да и питон я знаю не очень).

Всезнающий ЛОР, подскажи, что можно сделать в такой ситуации?

 , ,

Loki13
()

NVIDIA или AMD

С молодости всегда пользовался картами AMD(начиная с ATI Rage Pro). После перехода на линукс, продолжительное время пользовался картой AMD HD 4870 и терпел от этого много боли и страданий(вечные гонки за свежей месой из гита, отсутствие последних расширений OpenGL и т.д.)

В 2016м году, во время очередного обновления видеокарты, решил попробовать Nvidia. И был очень доволен изменениями. Перестал гонятся за свежей месой, следить за тем что в неё завезли в новых выпусках и в что завезли в новые ядра(чтобы наконец нормально заработало управление частотами в простое). И наконец стали работать все(по крайней мере нативные) игры из стима, и без вылетов со странными ошибками(часто из-за того что в месе что-то недореализовано).

И вот прошло 6 лет и пора опять обновлять карту. Из проблем Nvidia вижу плохую поддержку wayland(не критично, но неприятно), переустановку драйверов при каждом обновлении ядра(тоже не критично) и отсутствие kms-консоли(максимум что получается это запустить кривой и заброшенный kmscon) или fbterm(с разрешением 1600х1200). Но тоже не критично. Т.е. я вижу для себя неприятные моменты, хоть и не критичные, но которых не будет на АМД.

А вот по современному АМД есть вопросы и хочу тут вот поспрашивать про текущую ситуацию.

Самый главный вопрос, реализованы ли на текущий момент и для актуальных карт все возможности закрытых драйверов в месе? Или нужна такая же вечная гонка за недореализованными возможностями и за свежей месой? Также интересно, есть ли поддержка FSR2.0? Есть ли поддержка FreeSync? Есть ли декодирование H265 и AV1 на видяхе без особо сложных танцев с бубном?

В общих чертах вот вроде и все вопросы.

Карточку выбираю между 6750XT и 3070(может быть Ti). Невидия немного дороже получается, но и немного быстрее. Так что то на то и выходит. Останавливают только непонятки с заданными выше вопросами.

Заранее благодарен.

cast carasin

 ,

Loki13
()

Выбор дешевого коммутатора

Понадобилось мне поставить в другом конце дома коммутатор, основной роутер tp-link ax55. В будущем ещё планирую mesh wifi сделать и точка будет подключена как раз к этому коммутатору. Выбор на данный момент делаю между:

TP-LINK TL-SG105 TP-Link LS1005G ZYXEL GS1200-5

Разницу между TP-LINK как я понял в наличии «Поддержка 802.1/DSCP QoS и IGMP Snooping». Насколько это вообще нужно и будет ли работать в неуправляемом коммутаторе за 1000р?

Ну и основной вопрос, стоит ли переплачивать в 2 раза за Zyxel?

Также, возможно посоветуете что-нибудь более годное, что я не рассматривал.

Модераторам: Если тема для толксов, то перенесите пожалуйста.

 ,

Loki13
()

Не инициализируются разделы при загрузке

Приветствую!

Приобрел недавно Samsung 980 Pro, начал переезжать на него в следующем порядке:

1. Собрал ядро с поддержкой nvme (дистрибутив - gentoo)

2. Разбил на следующие разделы esp, boot, root, home и data

3. Перенес все данные и уже было обрадовался, но тут

4. Вышел облом после перезагрузки

Сначала я просто ничего не понял, но после пары часов нашел, что вместо 5 разделов в /dev имею только один nvme0n1p1. Еще час гуглежа привел меня к попытке перечитать список разделов и вот оно! Разделы появились.

До sudo partprobe /dev/nvme0n1

alexv@home ~ $ sudo /dev/nvme0 nvme0 nvme0n1 nvme0n1p1

После

alexv@home ~ $ sudo /dev/nvme0 nvme0 nvme0n1 nvme0n1p1 nvme0n1p2 nvme0n1p3 nvme0n1p4 nvme0n1p5

Но радость была не долгой, после перезагрузки разделов опять нет пока не сделаешь partprobe. Соответственно переехать на диск как на основной это не даст.

Может кто сталкивался с подобным или хотя бы направит куда гуглить и что с этим сделать.

PS: Причем в венде с помощью Paragon Linux FS, все эти разделы прекрасно видны без плясок, но толку то. Хотя это натолкнуло на мысль что возможно бага в ядре, но и тут нагуглить не осилил. Ядро последнее 5.11.2.

 ,

Loki13
()

Юридическая безопасность разработчика

По мотивам последних событий с рабмлером, варгеймингом, вроде ещё кто-то был.

Хотелось бы обсудить с заинтересованными лицами, ведь все мы где то работаем, как может обезопасить себя простой программист. Обезопасить конечно имею ввиду заранее, а не когда петух клюнет. А то как видим уже и код под BSD-лицензией не гарантирует.

Не могу сказать что мне лично прямо сейчас это важно, но мне это интересно. И думаю не только мне.

Loki13
()

Покупка ryzen 3900x

Собрался комп обновить и решил что хочу новый ryzen 3900x. 12 ядер для компиляции генты будут очень даже не лишними.

Но вот у нас какие-то совсем не гуманные цены на этот проц, а реклама контекстная соответственно мне стала подсовывать теперь этот проц и наткнулся на магазин(sofi.ru) с очень интересной ценой - 33 900р, а не как в наших магазах по 45тыс.

Но там с доставкой из германии и чуть ли не 2 месяца выходит. В принципе комп не обновлял 10 лет, могу и ещё 2 месяца подождать, но вот надежность магазина(не кинут ли?) остается под вопросом.

Если кто у них покупал что-нибудь с доставкой из германии, расскажите что там как. Или кидайте свои варианту где лучше покупать.

Ну и ещё интересно было бы услышать советов какую материнскую плату взять, чтобы было поменьше проблем с нашими линуксами(например gigabyte с ACPI знаю проблемы есть). Пока что склоняюсь к ASROCK, но у меня их никогда не было, вдруг есть проблемы с линуксом.

 ,

Loki13
()

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