LINUX.ORG.RU

Графические программы засыпают при переключении терминала


0

4

Например, на tty1 запущены иксы и в них запущены различные программы. Если я переключусь на tty2, то эти программы через 5-10 секунд перестанут работать до тех пор, пока не переключусь обратно на tty1. Есть ли способ обойти это малой кровью без накатываний патчей на ядро?

★★

Последнее исправление: u5er (всего исправлений: 1)

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

firkax ★★★★★
()
Ответ на: комментарий от firkax

Ядро тут ни при чём.

Там вроде как сделано таким образом, что видеодрайвер в ядре может держать активной только одну tty одновременно, поэтому и возникает описанная ситуация. Хотя я могу ошибаться.

конкретно те на которые ты жалуешься

А на какие я жалуюсь? Я в шапке не приводил примеров.

попытался пофиксить сами проги

Слишком накладно. Прог много и среди них есть такие, как qemu и chromium.

u5er ★★
() автор топика
Ответ на: комментарий от vbcnthfkmnth123

<offtop>Слишком мелко берёшь. Бери крупнее - почему бы просто не использовать несколько компов+kvm-свич. Хаха.</offtop>

По делу есть что предложить?

u5er ★★
() автор топика
Ответ на: комментарий от vbcnthfkmnth123

Почему просто не использовать несколько рабочих столов в одних иксах?

Я например подобное пытался сделать. У меня на отдельном tty была запущена отдельная сессия под другим пользователем. Получается крайне удобная изолированная среда с возможность раздавать удалённое подключение например.

Решения не нашёл, везде предлагают использовать второй монитор или что-то в этом духе. Походу надо идти изучать архитектуру работы графики в Линуксе и от этого уже плясать, смотреть что конкретно прерывает работу сессии и накладывать патчи, либо какие-то костыли делать.

Dr64h ★★★
()
Ответ на: комментарий от firkax

Всм в каком? Запускаю винду таким скриптом

#!/bin/bash
qemu-system-x86_64 \
-name "Win10-min" \
-smp 12,cores=6,threads=2,sockets=1 -cpu host,kvm=off \
-machine accel=kvm \
-boot menu=on \
-rtc base=localtime \
-nic none \
-device virtio-gpu-pci \
-device vfio-pci,host=00:19.0 \
-device vfio-pci,host=00:1f.2 \
$*

Запускаю в винде нужное мне по, переключаю tty и через несколько секнд виртуалка не алё. Переключаюсь обратно - продолжает работать.

u5er ★★
() автор топика
Ответ на: комментарий от u5er

Состояние процесса это например sleep, ожидание диска, останов по сигналу STOP, выполнение, ожидание свободного проца, ожидание мютекса итд. Приблизительно показывается в колонке STAT команды ps axu. Ещё можно strace подключиться и посмотреть не висит ли на каком сисколле.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

Сам Х11 полностью не стопорит невидимые клиенты и сам раком не встаёт.

Я тоже так думал, но когда я перед переключением tty перехожу на пустой workspace в i3wm, то ситуация не меняется.

u5er ★★
() автор топика
Ответ на: комментарий от u5er

Так а какой стандартный композитор и какой тестовый? А то может наоборот, сработает какой нибудь Kwin с эффектом панорамы и опцией «всегда обновлять все миниатюры»?

kirill_rrr ★★★★★
()
Ответ на: комментарий от u5er

Ну тогда ВМ отвечает за композицию окон. Кто то же должен их расположить по экрану, иначе будет как на голом Х11, видели наверное то чудо.

Попробуйе что нибудь типа kwin/компиз, чтобы с режимом панорамы и миниатюр, когда есть наобходимость всегда рисовать все окна даже если они скрыты. Описанное поведение мне кажется ненормальным для окружений на Х11, может я просто не работал в окружениях де отрисовка стопорится.

kirill_rrr ★★★★★
()

У меня похожая проблема, только в tty1 у меня hyprland, а в tty2 у меня иксы с игрульками. При смене tty падают только иксы и их содержимое.

UPD: Иксы не падают, только содержимое. UPD2: Падают только игры.

xaTa ★★★★
()
Последнее исправление: xaTa (всего исправлений: 2)
Ответ на: комментарий от xaTa

в сессии wayland ничего не падает

У меня в cage waydroid запускается. Иногда получается так, что после сменты tty в нём перезапускается весь waydroid. Происходит не очень часто.

u5er ★★
() автор топика
Ответ на: комментарий от firkax

Хмм, похоже, это фича, а не баг. Попробовал на своём ПК - примерно то же самое. Запускаю меса-колёса vblank_mode=0 glxgears - загрузка ЦП 109%. Перехожу на другой виртаульный терминал - загрузка ЦП падает почти до 0.
ps -aux показывает:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
pelewin    14503 35.7  0.2 376184 43304 pts/1    Sl+  13:11   1:39 glxgears
PeleWin
()
Ответ на: комментарий от xaTa

«Не игры» у меня на вейланде крутятся.

И «игрулечки» не работают, ага

Ну на мой взгляд это проблема иксов

Проблема иксов в том, что на вяленом не работают игрулечки? У мсье раздвоение личности?

PPP328 ★★★★★
()