LINUX.ORG.RU

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


0

1

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



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

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

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

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

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

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

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

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

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

u5er
() автор топика

ли способ обойти это малой кровью

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

vbcnthfkmnth123 ★★★★★
()
Ответ на: комментарий от 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)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.