Дано: Arch, KDE, ноут с гибридной графикой (AMD/Nvidia, Prime не Optimus, драйвера проприетарные), телевизор, используемый как монитор.
Проблема: не перегружался два дня, сегодня перегрузился и на втором мониторе все подтормаживает. Например что-то печатаю, текст позже появляется, с прокруткой в окошках так же так же, видео фризит. ТЕ все настроено и работало, пока я не перезагрузился.
Я сначала думал, что у меня видеокарта накрылась. Я даже винду завел, накачал торрентов с играми. Запускал 4K-видео на телевизоре (внешнем мониторе), волосатый бублик, игры. Пробовал делать на обоих мониторах одинаковую картинки. В Windows никаких тормозов нет, значит причина в Linux.
Пробовал ставить ядро lts. НЕ помогает. Пробовал просто даунгрейдить драйвера nvidia. Сейчас попробую снести все конфиги KDE.
Че я подумал-то что видеокарта накрылась. Я запускал эти ублюдские числодробилки, те баловался нейронынми сетями для генерации голых анимешных девочек.
Странность такая: когда мы водим мышкой, то фризов нет, когда перемещаем окна фризов нет, но если вводим текст либо прокручиваем что-то, либо запускаем видео…
Нашел такую ошибку:
(kscreen_osd_ser) of user 1000 dumped core
# ...
plasma-kscreen-osd.service: Failed with result 'core-dump'.
Я думаю это проблема с конфигами
- Удаление всех конфигов не помогло.
- Удаление кеша не помогло.
А эта ошибка:
[379]: nvidia: Process '/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'' failed with exit code 1.
Отсюда:
~
❯ cat /usr/lib/udev/rules.d/60-nvidia.rules
# Make sure device nodes are present even when the DDX is not started for the Wayland/EGLStream case
KERNEL=="nvidia", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'"
KERNEL=="nvidia", RUN+="/usr/bin/bash -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/mknod -Z -m 666 /dev/nvidia$${i} c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) $${i}; done'"
KERNEL=="nvidia_modeset", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'"
KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'"
KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 1'"
~
❯ yay -Qo /usr/lib/udev/rules.d/60-nvidia.rules
/usr/lib/udev/rules.d/60-nvidia.rules is owned by nvidia-utils 530.41.03-1
Я вчера этого не заметил, но на втором мониторе (телеке) все фризится КОГДА ТЫ ПЕРЕСТАЕШЬ ДВИГАТЬ МЫШКОЙ, пока ты ей двигаешь колеса крутятся, видео проигрывается и тп. Курсор должен перемещаться на втором мониторе. Я даже не знаю как сформулировать запрос в Гугле. И не смотря на то что картинка на внешнем мониторе статична, nvtop показывает, что дискретка честно обрабатывает графику, загрузка 7% и 27 ватт потребляет. Это по-ходу кедопроблемы. Впервые что-то серьезное за долгое время.
Я эту проблему решить не смог. Я просто врубил сессию Wayland… Там все нормально работает.