LINUX.ORG.RU

Сообщения newpson

 

Настройка ввода KDE без использования GUI на Wayland

Форум — Desktop

Это, конечно, здорово, что каждый композитор реализует по-своему (и тем самым ограничивает) настройки ввода, как ему пожелается, но рассмотрим именно KWin. В частности, меня интересует настройка графического планшета, а именно - переключение между несколькими профилями.

Имеем plasma-desktop/kcms/tablet, который не умеет в профили (в отличие от своего X11-прародителя, кстати) и ручное задание значений inputArea (как вообще можно было додуматься сделать полноценный мышиный редактор области, но при этом не дать возможность вбить нужные значения с клавиатуры?!). Некоторое время кое-как выставлял область мышкой, но что-то достало.

На коленке функционал профилей можно реализовать через скрипт, который бы менял какой-то конфигурационный файл и применял бы настройки в KWin. Здорово, есть kwriteconfig6, которым можно переписывать ~/.config/kcminputrc, где и хранятся нужные мне настройки. Но применить их никак без перезапуска.

В дело вступает D-Bus. Исследую дерево, которое выдаёт qdbus6 по команде

qdbus6 org.kde.KWin

получаю хренову тучу настроек, среди них ищу

qdbus6 org.kde.KWin | grep -i input

Заранее посмотрел, какой event* отвечает за перо графического планшета - event21. Делаю

qdbus6 \
    org.kde.KWin \
    /org/kde/KWin/InputDevice/event21 \
    org.freedesktop.DBus.Properties.Get \
    org.kde.KWin.InputDevice \
    inputArea

на что получаю

qdbus: I don't know how to display an argument of type '(dddd)', run with --literal.

C --literal получаю

[Variant: [Argument: (dddd) 0.33137, 0.340447, 0.337261, 0.339013]]

По значениям видно, как я отчаянно пытался мышкой на микроскопическом клочке монитора выставить значения 0.33, 0.33, 0.33, 0.33.

Теперь прикол: получить-то я получил, а вот отправить составной тип (в реальности это QRectF, aka структура из четырёх double) с нужными данными в терминале через dbus-send/qdbus нельзя (если убедите меня в обратном, буду премного благодарен).

Получаем два стула (чтобы сделать возможным хотя бы выставлять вручную нужные размеры и положение области):

  1. доделывать KCM (читай на Qt Quick патчить формочку, добавлять обработчики, собирать, тестить и потом ждать, пока примут PR);

  2. делать консольную утилиту, дублирующую функционал KCM на Си, Плюсах или Питоне (просто чтобы использовать API D-Bus для отправки непримитивных типов); да-да, xsetwacom, который будет работать только с KWin.

Есть ещё варианты кроме использования X11?

 , , ,

newpson
()

HiDPI убивает жизнь на ультрабюджетных ноутбуках?

Форум — Linux-hardware

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

Железо во владении (с подробным описанием, чтобы проникнуться):

  1. Asus EeePC 1001PX (далее «асус»): 2011 год; Intel Atom N450 64bit (1.6 GHz, 1 ядро, 2 потока), прим. gen 4 (Pineview); встройка GMA3150; 1 GB DDR2 667 MT/s одной плашкой; 200 GB HDD; дисплей TFT TN, LVDS, 10.1" 1024x600, VGA выход вплоть до 1920x1080.

  2. Irbis NB64 (далее «ирбис»): 2022 год; (по внутрянке - тупо планшет) Intel Atom x5-z8350 64bit (1.44 GHz, но 1.92 GHz выставлено в биосе, 4 ядра, 4 потока, пассивное охлаждение (моё почтение!)), gen 8 (Cherry Trail/Cherryview); встройка HD Graphics; 2 GB LPDDR3 1066 MT/s одним чипом (Hynix перемаркированный в Samsung), 32 GB EMMC (ноунейм), дисплей TFT IPS, eDP, 13.3" 1920x1080 и HDMI выход вплоть до 1920x1080.

Сразу скажу, что хороший ноут имеется, но из принципа я мучаю старые железки.

Итак, начну со второго, поскольку именно он, будучи купленным за 7000 ₽, нещадно эксплуатировался последние 3.5 года в круге задач (попеременно то на линуксе, то на винде): просмотр pdf, рукописный ввод через графический планшет (в xournal++), набор и компиляция довольно больших латех-документов, набор и компиляция так же довольно больших typst-документов (notepad++, vim, helix), веб-сёрфинг (до 10 не очень жирных вкладок в firefox), просмотр видео в 1080p, прослушивание музыки через наушники, сборка небольшого размера проектов на c++ в qt creator и даже строительство небольших баз в factorio (в 30 fps).

За это время ни оператива, ни emmc сбоев не выдавали (тьфу-тьфу), по ощущениям скорость меньше не стала (но она и не была высокой), малый размер emmc компенсировался засчёт microsd на 64 гига. Батареи, быть может, стало хватать на полчаса-час меньше, сейчас в среднем позволяет работать около 5 часов. Всё доп. железо на борту (звук, wi-fi, bluetooth, контроллеры дисплея, батареи и пр.) работают чётко.

В названии темы я не уточнил ОС, но раз уж я пишу сюда, то и далее буду упрекать линукс. Я привык использовать Arch Linux, дуалбут на таком количестве встроенной памяти вроде и возможен, но имеет ли смысл? Не суть, смена ОС на этом ноуте была от силы раза 3 по настроению. А настроение появлялось тогда, когда тормоза анимаций/прокрутки на линуксе накапливали критическую массу. В винде всё более-менее плавно, иногда хочется ощутить это, но работать долго на ней я не могу по личным обстоятельствам (c).

Возможности ноута по графике:

  • у нас есть аппаратное ускорение декодирования видео h264 (смотрел видосы 1920x1080@60) и ещё нескольких кодеков, но не vp9, но только на иксах можно добиться максимально плавной (до 10 пропущенных кадров на 10 секунд видео) картинки (mpv --vo=gpu-next --hwdec=vaapi) на обоих драйверах modesetting и xf86-video-intel;

  • у нас есть аппаратное ускорение отрисовки графики: opengl 4.6, opengl es 3.2, vulkan 1.2; gpu может забирать хоть всю оперативу себе благодаря настройкам биос; синтетический тест glxgears на дровах xf86-video-intel и modesetting в исках показывает в среднем 1300 и 2000 кадров соответственно, а в wayland-сессии (labwc) целых 2500.

Но всё это бессмыссленно, потому что главная проблема - hidpi, чёрт бы его побрал (но ведь красиво, когда пикселов не видно!). Здесь это 166 dpi, в винде требовало масштабирования 1.5 для комфортной работы, поэтому далее будет использоваться именно такой множитель.

Начнём с иксов, ведь у них, полагаю, больше потанцевала (далее это мнение будет обосновано, не зря же я упомянул асус). Голый wm работать с hidpi нормально не умеет, приходится расставлять костыли в виде переменных среды с коэффициентом масштабирования для каждого тулкита (и не все дробное масштабирование поддерживают), но это ладно, ведь есть же взрослые de. Ну и поставил я kde, без масштабирования всё прекрасно, даже оперативы не так много сжирает, иногда чуть протормаживаются анимашки, но в основном работает плавно. Но стоит только включить масштабирование 1.5 в настройках, чтобы глаза не ломать, как появляются подлагивания на каждый чих. Окей, отключаем вообще анимации и плавную прокрутку - беда подкралась незаметно, ведь панорамирование в pdf-файлах и отрисовка линий при рукописном вводе всё ещё тормозят. Это очень утомляет, когда работаешь целый день с ними.

Хорошо, wayland ведь показал хорошие результаты в синтетическом тесте! Запускаем wayland сессию kde. Снова без масштабирования всё здорово, но стоит только включить, как появляются те же подтормаживания. Ладно, kde всё же - полноценная de. Однако и в hyprland, и в labwc ситуация та же. Без масштабирования - хорошо, с масштабированием - плохо. Хотя, кстати, в hyprland подтормаживает и без всякого масштабирования даже курсор при малейшей нагрузке на gpu.

Более того, в wayland я не могу должным образом настроить графический планшет. Самые простые настройки сделать можно, а вот, скажем, установить порог силы нажатия, при котором срабатывает, собственно, «нажатие», уже нельзя (сам libinput вроде позволяет это сделать, но ни один композитор не реализует такой функционал). У меня на графическом планшете плёнка наклеена, она немного волнами пошла, эти волны совсем чуть-чуть задевает перо, а на экране появляется тонкая линия, поэтому в иксах я отрезаю нижнюю четверть значений чувствительности через параметр Threshold.

Окей, ирбис не может похвастаться хорошим решением всех этих проблем из-за пресловутого hidpi, так бы я просто сидел на иксах. На сцене появляется асус. 117 dpi, никакого масштабирования не нужно. Никаких надежд я не питал, всё-таки больше 10 лет ноуту (а он уже на тот момент позиционировался, как ультрабюджетник), просто по приколу решил попробовать делать те же задачи на нём. И первая хорошая нововсть - именно на линуксе (по слухам) поддерживался opengl 2.1 и opengl es 2.0 соответственно, что сразу приободряет. В предвкушении, я накатил по-быстрому арч. И действительно. Поддерживается. Настоящий core profile! Правда на последней mesa его поломали, пришлось на пару месяцев назад откатиться. Синтетика glxgears выдаёт аж 430 кадров в секунду, причём что на wayland (labwc), что на иксах (openbox, драйвер xf86-video-intel, поскольку ускорение glamor, применяемое в modesetting выдаёт glamor requires at least 128 instructions 64 reported, мб это можно пофиксить, но, наверное нет смысла).

Я накатил firefox и xournal++. Каково же было моё удивление, когда этот одноядерный обрубок с одним гигом оперативы (из которого ещё подъедает видеочип) показал мне максимально плавную прокрутку, панорамирование и анимации. Я не скажу, что с hdd и памятью ddr2 он работает прям уж отзывчиво, но я предпочту подождать на несколько секунд дольше при открытии приложений и страниц в браузере, чем ощущать подтормаживающий скроллинг. Как я до этого три с половиной года использовал ирбис? Со слезами на глазах.

Может быть выставить на ирбисе разрешение поменьше, скажем, 1280x720? Не, мыло утомляет не меньше, чем тормоза. Я поступил по-другому. Просто к асусу подключил по VGA-кабелю монитор с разрешением 1920x1080, чтобы «битва» с ирбисом была честной. Это было бы слишком странно, если бы асус как ни в чём не бывало проглотил бы такое разрешение, но благо фреймрейт прокруток и панорамирования всё-таки стал поменьше, по ощущениям примерно раза в полтора. Но не настолько, чтобы это вызывало дискомфорт, как при масштабировании на ирбисе.

Выяснил, что батарею он в средней нагрузке (а у него, напомню, активное охлаждение и крутящийся жёсткий диск) держит 4 часа, чего вроде хватает для моих нужд. Скорость компиляции (чего угодно: latex, typst, c++, rust) меньше, но она не является бутылочным горлышком. Подумываю над тем, чтобы сделать его основным ноутом.

Напоследок лишь спрошу, как бы вы попытались решить проблему с масштабированием на hidpi-дисплеях, не прибегая к покупке другого ноута? Кстати, Android x86 и BlissOS я ставить пробовал, они тоже подтормаживают (при этом аппаратное ускорение точно есть).

 , , , ,

newpson
()

При включённом композитинге иногда FPS падает

Форум — Linux-hardware

Есть Arch Linux + KDE + Nvidia GTX 1060 + Xorg + проприетарные дрова (нужна CUDA). Всё обновлено (проблема уже давно). Обычно всё работает плавно, но в случайный момент (экспериментально выяснено, что это не связано с запуском каких-либо приложений или сервисов, в логах никто не кричит, видюха чиллит, процессор тем более) FPS падает с 75 (vsync) до 35-38. Потом через некоторое время тоже в случайный момент снова всё становится плавно.

В сеансе Wayland всё работает плавно (но не работает nvidia-settings и контролировать видеокарту не предоставляется возможным, но это не единственная причина). И ранее, когда был установлен GNOME, на Xorg тоже всё работало плавно.

Всякие форскомпозитинги, триплобуферы, флипы и пр. тыкал, эффекта нет. Перезапуск композитора не даёт эффекта.

Время пропатчить KWin под Nvidia? Или в чём ещё может быть проблема?

 , , ,

newpson
()

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