LINUX.ORG.RU

Сообщения Loki13

 

Приоритет шрифтов

Установил я недавно себе шрифты со значками - AwesomeFonts, чтобы сделать свой Hyprland покрасивее. И всё бы хорошо, но этот шрифт пытается влезать где его не просят. В частности у меня на ЛОРе стали «джва чая» и «улыбочка» стрёмными. Я уже в браузере выставил шрифт DefaVu Nerd Font по умолчанию и всё равно пролезают как-то значки из Awesome. Если я этот шрифт сношу, то всё возвращает к норме. Но я ради пары значков, всё же хочу его оставить.

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

 ,

Loki13
()

Самораспаковывающийся tar.gz

Делаю установщик для продукта. Сам продукт распространяется в архиве, который распаковывается в /opt. Решил, что для пользователя будет удобно, если будет не архив с архивом и скриптом установки, а что-то вроде .run файла драйверов проприетарных. Нагуглил как это делается:

#!/bin/bash
sed '0,/^#EOF#$/d' $0 | tar zx; exit 0
#EOF#
How to use:
# create sfx
cat selfextract.sh data.tar.gz >example_sfx.sh
# unpack sfx
bash example_sfx.sh

Но при попытке запустить распаковку, получаю:

gzip: stdin: Unexpected end of file

tar: Child returned status 1
tar: Error is not recoverable

Вопрос. Что я делаю не так? Может ли это быть из-за того что архив размером больше 2х гигабайт? (а иногда и больше 6)

Есть мысль, что это из-за того что бинарник содержит \0 внутри и не передается нормально на вход. Но судя по комментариям на SOF, у других всё работает.

PS: В будущем вероятно это будет в deb\rpm\etc, но пока что нет ресурсов делать пакеты для разных ОС.

 ,

Loki13
()

Непонятки с QCamera и QImageCapture

Пишу кроссплатформенную софтинку для получения и обработки картинки с камеры. Для разработки выбрал Qt6, чтобы лишний раз не вставать. И только, можно сказать начал, как уже столкнулся со странными вещами.

1. Под дебаггером GDB, тупо зависает на QImageCapture::setFormat. Причем этот же бинарник запущенный без дебаггера - работает. И даже при сборке Clang'ом и под LLDB - тоже работает.

2. У QCamera есть возможности некоторой «обработки» на стороне камеры так сказать. Установка баланса белого, выдержки, фокуса. И вот тут я был вообще удивлен. В нашем родном линуксе вот эта вот предобработка на камере доступна, а под вендой богомерзкой ничего не доступно. Это как так может быть? Ведь поддержка железа на венде всегда считалась эталонной драйверами, а тут всё наоборот. И ладно если одна камера какая-то для микроскопа, что даже не гуглится, то другая logitech с драйверами родными под венду и тоже нифига недоступно.

Так я о чем? Это я тупой или это Qt такой кривой? Версия Qt 6.6.1

И в догонку, может кто знает. В Qt6 исчезли brightness, contrast и saturation из QVideoWidget. Их просто выпилили(в Qt5 они были) или их чем-то можно заменить?

 

Loki13
()

SIGSEGV при закрытии приложений KDE

Перехожу на Hyprland с KDE и столкнулся с непонятной проблемой(даже нагуглить не выходит толком, чтобы у кого-то тоже было). Падают KDE приложения при закрытии с помощью Meta-C. Причем как я понимаю, это касается только KDE приложений, а не Qt(тот же телеграм не падает).

На примере kcalc:

GDB

Thread 1 "kcalc" received signal SIGSEGV, Segmentation fault.
0x00007ffff57aea3e in ?? () from /usr/lib64/libwayland-client.so.0

Valgrind

==471313== Invalid write of size 8
==471313==    at 0x7057A3E: ??? (in /usr/lib64/libwayland-client.so.0.22.0)
==471313==    by 0x7052ECC: ??? (in /usr/lib64/libwayland-client.so.0.22.0)
==471313==    by 0x70533B1: wl_proxy_marshal_array_flags (in /usr/lib64/libwayland-client.so.0.22.0)
==471313==    by 0x70535D4: wl_proxy_marshal_flags (in /usr/lib64/libwayland-client.so.0.22.0)
==471313==    by 0x103B0819: ??? (in /usr/lib64/libnvidia-egl-wayland.so.1.1.13)
==471313==    by 0x103B1BAD: ??? (in /usr/lib64/libnvidia-egl-wayland.so.1.1.13)
==471313==    by 0x103B752D: ??? (in /usr/lib64/libnvidia-egl-wayland.so.1.1.13)
==471313==    by 0x118AD4DF: ??? (in /usr/lib64/libEGL_nvidia.so.545.29.06)
==471313==    by 0x118A329F: ??? (in /usr/lib64/libEGL_nvidia.so.545.29.06)
==471313==    by 0x657F5E4: __run_exit_handlers (in /usr/lib64/libc.so.6)
==471313==    by 0x657F739: exit (in /usr/lib64/libc.so.6)
==471313==    by 0x65679D0: (below main) (in /usr/lib64/libc.so.6)
==471313==  Address 0x34 is not stack'd, malloc'd or (recently) free'd
==471313== 
19 -- exe=/usr/bin/kcalc
14 -- appname=kcalc
17 -- apppath=/usr/bin
10 -- signal=11
11 -- pid=471313
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = kcalc path = /usr/bin pid = 471313
KCrash: Arguments: /usr/bin/kcalc 
KCrash: Attempting to start /usr/lib64/libexec/drkonqi
kf5idletime_wayland: This plugin does not support polling idle time
fish: Job 4, 'valgrind kcalc' has stopped

Самое смешное, что после падения пытыется запуститься drkonqi и тоже падает, но уже на старте. И вся эта чепуха уходит в вечный цикл пока не грохну killall drkonqi.

По логам выше можно было бы подумать, что проблема в Wayland, но эти же приложения запущенные в Wayland-сеансе плазмы, работают нормально.

Такое ощущение, что не хватает чего-то от кед, но чего, не могу понять.

Также если кто-то использует KDE приложения(тому же Okular замены не вижу) в Hyprland и при этом имеет Nvidia с проприетарным драйвером, проверьте пожалуйста.

 , ,

Loki13
()

Помощь в написании красивого скрипта

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

Хочу сделать следующее, в waybar выводить кастомным модулем значок используемого в данный момент выхода(Sink) и его громкость. И если с громкостью проблем никаких нет, то вот распарсить на баше то что выдает wpctl, для меня довольно сложно оказалось.

Audio
 ├─ Devices:
 │      40. HDA NVidia                          [alsa]
 │      41. Webcam C310                         [alsa]
 │      42. Jabra EVOLVE 20 MS                  [alsa]
 │      43. Starship/Matisse HD Audio Controller [alsa]
 │  
 ├─ Sinks:
 │      50. Jabra EVOLVE 20 MS Аналоговый стерео [vol: 0.80]
 │  *   52. Starship/Matisse HD Audio Controller Цифровой стерео (IEC958) [vol: 1.00]
 │  
 ├─ Sink endpoints:
 │  
 ├─ Sources:
 │  *   51. Jabra EVOLVE 20 MS Моно         [vol: 0.76]
 │  
 ├─ Source endpoints:
 │  
 └─ Streams:

Вот из приведенного выше куска, хочу достать во-первых оба синка, хотя бы до первого пробела(Jabra и Starship/Matisse), айдишник каждого(для переключения между ними по клику), ну и пометку какой из них активный в данный момент. Тогда я смогу по синку выводить значок соответствующий(колонка или наушники), а также по клику смогу их переключать между собой.

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

PS: В принципе можно и на питоне, но текущая версия на баше, поэтому думал так и продолжать.

 , ,

Loki13
()

Отключить в масштабирование для определенного окна или workspace

Постепенно перехожу на wayland(в лице hyprland) и по факту осталась одна серьезная проблема. Суть в следующем:

Мой экран:

monitor=DP-3,3840x2160,auto,1.75,bitdepth,10

Мне для работы нужно подключение по rdp, а xfreerdp довольно глючен. Нашел следующие способы как-то работать:

0. Ничего не делать. xfreerdp мерцает, wlfreerdp(и sdl-freerdp) мылят.

1. Выставить XWAYLAND_NO_GLAMOR=1, xfreerdp работает отлично, но не запускается steam(поиграть после работы). Приходится для стима менять сессию после работы.

2. Поставить масштаб 1.0, вместо 1.75. Тогда wlfreerdp работает хорошо, но всё остальное мелко.

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

Пока что вижу решением(но не знаю как сделать), отключать как-то глобальное масштабирование для одного окна\воркпейса. Ну либо найти как заставить стим работать с XWAYLAND_NO_GLAMOR.

Может кто подскажет насколько это реально? Или время писать фичреквесты в hyprland и/или засылать баг в xfreerdp(тут они очень не шустрые по issues, судя по багтрекеру)?

Вот нашел что-то в багтрекере xfreerdp, но либо я ничего не понял, либо в моем случае не помогает, либо они просто отписку написали.

https://github.com/FreeRDP/FreeRDP/issues/7608

PS: Кстати, bitdepth,10 в настройках экрана, это чтобы с невидией шаринг экрана работал. С большим трудом нагуглил решение, вдруг кому понадобится.

 , , ,

Loki13
()

Отличие исполняемых wine и wine64

В последнее время по работе плотно использую WINE и заметил, что в wine/bin/ есть 2 исполняемых файла, wine и wine64. По большей части они работают для меня одинаково, но в некоторых приложениях(например msvsmon) и на некоторых дистрибутивах(RedOS) при запуске через wine работает, а wine64 нет.

Возник вопрос, а в чем между ними разница? Пробовал гуглить, но все ответы что находил, касались либо сборок вайна x86 и x64, либо префиксов вайна. А меня интересует именно разница этих бинарников в x86_64 сборке вайна. И что я теряю не используя wine64?(это мне важно, т.к. софт очень прожорливый по памяти)

PS: Есть подозрение, что wine64 это та версия, что переводит вызовы x86 в x64(и которая сырая), но я не уверен что правильно понимаю.

Перемещено hobbit из general

 

Loki13
()

Вопрос по клавиатурам

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

Нашел клавиатуры где лгбт подсветкой можно управлять из онтопика. В частности линейку Razer Blackwidow. Хотел бы спросить у обладателей, правда ли что можно с помощью OpenRazr и cli утилитки, менять подсветку одной командой? И работает ли это в BlackWidow V3?

Также с удовольствием услышу отзывы про Green и Yellow свичи от этой компании.

PS: Если кто посоветует как сделать красную рамку(пикселей в 5) вокруг рабочего стола(плазма, но ради этого готов и поменять), когда включена русская раскладка - тоже буду очень благодарен.

 ,

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

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