Manjaro XFCE Edition
   1124

xfce + compton + nvidia = лютые тормоза

Всем привет!

Я в мире юникс-систем относительно недавно, можно сказать, нуб. Столкнулся с такой проблемой:
Имеются две машины — стационар с Gigabyte GTX770 4GB на борту и ноут со встроенной графикой от Intel. На обеих машинах стоит Manjaro XFCE. По причине жуткого тиринга пришлось отказаться от xfwm4 в пользу compton. На ноуте с интеловской графикой комптон ведёт себя безукоризненно — VSync работает, окна ведут себя запредельно плавно, никаких проблем. Но вот в связке Compton + Nvidia наблюдаются серьёзные проблемы с производительностью — VSync работает, но окна перемещаются и ресайзятся рывками, прямо пропорциональными количеству одновременно открытых окон, ощущаются сильные тормоза, отсутствует плавность. Сначала использовал проприетарный драйвер последней версии, устанавливал и настраивал строго по этой инструкции. После смены драйвера на nouveau ситуация значительно улучшилась — окна стали перемещаться идеально плавно, но вот ресайзятся они по-прежнему с сильными рывками. Вот мой compton.conf:
Спойлер!
shadow = false;
no-dnd-shadow = true;
no-dock-shadow = true;
clear-shadow = true;
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-opacity = 0.7;
shadow-red = 0.0;
shadow-green = 0.0;
shadow-blue = 0.0;
shadow-exclude = [ «name = 'Notification'», «class_g = 'Conky'», «class_g ?= 'Notify-osd'», «class_g = 'Cairo-clock'» ];
shadow-ignore-shaped = false;
menu-opacity = 1.0;
inactive-opacity = 1.0;
active-opacity = 1.0;
frame-opacity = 1.0;
inactive-opacity-override = false;
alpha-step = 0.06;
inactive-dim = 0.0;
blur-kern = «3x3box»;
blur-background-exclude = [ «window_type = 'dock'», «window_type = 'desktop'» ];
fading = false;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [ ];
backend = «glx»;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
vsync = «opengl-swc»;
dbe = false;
paint-on-overlay = true;
focus-exclude = [ «class_g = 'Cairo-clock'» ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
glx-copy-from-front = false;
glx-swap-method = «undefined»;
wintypes:
{
tooltip:
{
fade = true;
shadow = false;
opacity = 0.75;
focus = true;
};
};

Что можно попробовать предпринять для решения проблемы?
Спасибо!

14 комментариев

avatar
Решение проблемы крайне простое. Итак:
1. Выбрасываем compton в топку.
2. Ставим из AUR xfwm4-git (в процессе установки предложит удалить xfwm4 — соглашаемся).
3. Перезагружаемся и наслаждаемся системой без тиринга, в том числе со включенным композитингом.
Объясняю, в xfwm4-git народные умельцы сделали вывод через OpenGL, соответственно, вертикальная синхронизация работает посредством видеокарты, а не программного рендера. Мне помогло это на ноуте с Nvidia (только дискретная видеокарта, встроенной не предусмотрено). Как со шмелем или праймом себя поведет — не знаю. Но говорят, что и там все отлично работает.
P.S.: ещё можно решить проблему, просто отключив композитинг. Тут и compton можно удалить, и xfwm4-git не ставить — тиринга не будет. Но вместе с ним и красивостей тоже, по типу прозрачности панели задач и теней под окнами. Лично я так и сделал себе. В Manjaro крыса и так отлично выглядит без всей этой глупости, как по мне. Но на вкус и цвет, как говорится. Выключается композитинг в настройках «Диспетчер окон (Дополнительно)», там последняя вкладка и галка «Включить эффекты» — её снять нужно.
Последний раз редактировалось
+1
avatar
AntonZaloilo, Спасибо за ответ!

Установил xfwm4-git — Nvidia с проприетарным драйвером по-прежнему какого-то чёрта тормозит, но с nouveau всё значительно лучше, перешёл на nouveau. Композитинг выключить мне так и не удалось — нвидия с выключенным композитингом выдаёт некоторые артефакты при манипуляциях с окнами, а на интеле VSync работает только с композитингом и галочкой «Synchronise drawing to the vertical blank».
В общем, сейчас окна перемещаются плавно, но ресайз всё равно очень дёрганый, по сравнению с комптоном улучшений нет, ощущаю себя вновь за своим 90-м пнём(да будет земля ему пухом), не думал, что буду иметь проблемы с производительностью 2D графики в такой среде, как крыса.
Последний раз редактировалось
0
avatar
сейчас с нвидией довольно непростая ситуация
существует 4 ветки драйверов: nvidia, nvidia-304xx, nvidia-340xx, nvidia-lts
поумолчательно ставится nvidia, недавно оттуда убрали поддержку некоторых видеокарт.
можно попробовать установить nvidia-304xx или vidia-340xx и замерять производительность при помощи теста glxgears
+1
avatar
TrubaShatal, спасибо, попробую — отпишусь о результатах.
0
avatar
Попробовал — к сожалению, не помогло. Использование любого проприетарного драйвера от нвидии приводит к низкой производительности оконного менеджера. Устанавливал так:
sudo mhwd -r pci video-nvidia
sudo mhwd -i pci video-nvidia-340xx

Приемлемая производительность наблюдается только при использовании драйвера nouveau. Что я потеряю в случае отказа от проприетарного драйвера в пользу nouveau?
Последний раз редактировалось
0
avatar
В общем, парни, спасибо за участие в теме, нашёл я виновника проблемы. Им оказался хромиум. Я сам баран — когда я игрался с окнами(перемещал и ресайзил их), на заднем плане всегда был открыт хромиум. При этом любые манипуляции с окнами приводили к снижению FPS(при использовании проприетарного драйвера). Но, если хромиум закрыть или отключить в нём аппаратное ускорение, проблема с торможением окон тут же исчезает.
Вывод — аппаратное ускорение в хромиуме отжирает приличное количество видеоресурсов при использовании с проприетарным драйвером Nvidia. По крайней мере, на моём конфиге.
0
avatar
Не, всё-таки не хромиум виноват, при относительно большом количестве открытых окон(>5) всё равно начинаются тормоза(
0
avatar
а если ставить обычным способом
sudo pacman -S video-nvidia-340xx
и после ребута замерить фпс, какие цифры получаются?
+1
avatar
TrubaShatal, У меня ни pacman, ни yaourt не находят драйвера нвидии, ставятся они только через mhwd(может, репозитории какие подключить надо?).
Что касается замеров фпс, то в 3D-тестах, таких как unigine-heaven и т.д., проприетарные дрова показывают, в принципе, одинаковые цифры и не то чтобы значительно превосходят открытый драйвер, а просто делают его неконкурентоспособным — разница коллосальная в пользу, естественно, проприетарщины. Однако, в 2D-режиме при работе с оконными менеджерами, причём любыми, драйвер nouveau показывает значительно лучшие результаты, хотя при ресайзе окон всё же наблюдаются рывки.
0
avatar
не может быть!

$ sudo pacman -Ss nvidia

core/mhwd-nvidia 1:367.44-1 [установлен]
MHWD module-ids for nvidia 367.44
core/mhwd-nvidia-304xx 304.131-1 [установлен]
MHWD module-ids for nvidia 304.131
core/mhwd-nvidia-340xx 340.96-1 [установлен]
MHWD module-ids for nvidia 340.96
extra/libvdpau 1.1.1-2 [установлен]
Nvidia VDPAU library
extra/libxnvctrl 370.23-1
NVIDIA NV-CONTROL X extension
extra/linux310-nvidia 1:367.44-1 (linux310-extramodules)
NVIDIA drivers for linux.
extra/linux310-nvidia-304xx 304.131-7 (linux310-extramodules)
NVIDIA drivers for linux.
extra/linux310-nvidia-340xx 340.96-7 (linux310-extramodules)
NVIDIA drivers for linux.
extra/linux310-nvidiabl 0.88-7 (linux310-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
extra/linux312-nvidia 1:367.44-1 (linux312-extramodules)
NVIDIA drivers for linux.
extra/linux312-nvidia-304xx 304.131-9 (linux312-extramodules)
NVIDIA drivers for linux.
extra/linux312-nvidia-340xx 340.96-9 (linux312-extramodules)
NVIDIA drivers for linux.
extra/linux312-nvidiabl 0.88-9 (linux312-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
extra/linux314-nvidia 1:367.44-1 (linux314-extramodules)
NVIDIA drivers for linux.
extra/linux314-nvidia-304xx 304.131-13 (linux314-extramodules)
NVIDIA drivers for linux.
extra/linux314-nvidia-340xx 340.96-13 (linux314-extramodules)
NVIDIA drivers for linux.
extra/linux314-nvidiabl 0.88-13 (linux314-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
extra/linux316-nvidia 1:367.44-1 (linux316-extramodules)
NVIDIA drivers for linux.
extra/linux316-nvidia-304xx 304.131-9 (linux316-extramodules)
NVIDIA drivers for linux.
extra/linux316-nvidia-340xx 340.96-9 (linux316-extramodules)
NVIDIA drivers for linux.
extra/linux316-nvidiabl 0.88-10 (linux316-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
extra/linux318-nvidia 1:367.44-1 (linux318-extramodules)
NVIDIA drivers for linux.
extra/linux318-nvidia-304xx 304.131-11 (linux318-extramodules)
NVIDIA drivers for linux.
extra/linux318-nvidia-340xx 340.96-11 (linux318-extramodules)
NVIDIA drivers for linux.
extra/linux318-nvidiabl 0.88-13 (linux318-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
extra/linux41-nvidia 1:367.44-1 (linux41-extramodules)
NVIDIA drivers for linux.
extra/linux41-nvidia-304xx 304.131-12 (linux41-extramodules)
NVIDIA drivers for linux.
extra/linux41-nvidia-340xx 340.96-12 (linux41-extramodules)
NVIDIA drivers for linux.
extra/linux41-nvidiabl 0.88-14 (linux41-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
extra/linux44-nvidia 1:367.44-1 (linux44-extramodules)
NVIDIA drivers for linux.
extra/linux44-nvidia-304xx 304.131-20 (linux44-extramodules)
NVIDIA drivers for linux.
extra/linux44-nvidia-340xx 340.96-20 (linux44-extramodules)
NVIDIA drivers for linux.
extra/linux44-nvidiabl 0.88-20 (linux44-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
extra/linux46-nvidia 1:367.44-1 (linux46-extramodules)
NVIDIA drivers for linux.
extra/linux46-nvidia-304xx 304.131-6 (linux46-extramodules)
NVIDIA drivers for linux.
extra/linux46-nvidia-340xx 340.96-6 (linux46-extramodules)
NVIDIA drivers for linux.
extra/linux46-nvidiabl 0.88-6 (linux46-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
extra/linux47-nvidia 1:367.44-1 (linux47-extramodules)
NVIDIA drivers for linux.
extra/linux47-nvidia-304xx 304.131-2 (linux47-extramodules)
NVIDIA drivers for linux.
extra/linux47-nvidia-340xx 340.96-2 (linux47-extramodules)
NVIDIA drivers for linux.
extra/linux47-nvidiabl 0.88-2 (linux47-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
extra/nvidia-304xx-utils 304.131-1
NVIDIA drivers utilities and libraries, 304xx legacy branch
extra/nvidia-340xx-utils 340.96-1
NVIDIA drivers utilities
extra/nvidia-utils 1:367.44-1
NVIDIA drivers utilities
extra/opencl-nvidia 1:367.44-1
OpenCL implemention for NVIDIA
extra/opencl-nvidia-304xx 304.131-1
OpenCL implemention for NVIDIA, 304xx legacy branch
extra/opencl-nvidia-340xx 340.96-1
OpenCL implemention for NVIDIA
extra/xf86-video-nouveau 1.0.12-0.1 (xorg-drivers xorg)
Open Source 2D acceleration driver for nVidia cards
community/bumblebee 3.2.1-14
NVIDIA Optimus support for Linux through Primus/VirtualGL
community/bumblebee-openrc 3.2.1-9
NVIDIA Optimus support for Linux through Primus/VirtualGL
community/conky-lua-nv 1.10.2-1
An advanced system monitor for X based on torsmo with lua and nvidia enabled
community/cuda 7.5.18-4
NVIDIA's GPU programming toolkit
community/linux-rt-lts-manjaro-nvidia 1:367.44-1 (linux-rt-lts-manjaro-extramodules)
NVIDIA drivers for linux.
community/linux-rt-lts-manjaro-nvidia-304xx 304.131-3 (linux-rt-lts-manjaro-extramodules)
NVIDIA drivers for linux.
community/linux-rt-lts-manjaro-nvidiabl 0.88-3 (linux-rt-lts-manjaro-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
community/linux-rt-manjaro-nvidia 1:367.44-1 (linux-rt-manjaro-extramodules)
NVIDIA drivers for linux.
community/linux-rt-manjaro-nvidia-304xx 304.131-8 (linux-rt-manjaro-extramodules)
NVIDIA drivers for linux.
community/linux-rt-manjaro-nvidiabl 0.88-8 (linux-rt-manjaro-extramodules)
Driver to adjust display backlight on modern mobile NVidia graphics
adapters.
community/nvdock 1.02-5
A tray icon for easy launching of the NVIDIA control panel
community/nvidia-cg-toolkit 3.1-4
NVIDIA Cg libraries
community/nvidia-utils-openrc 20160528-1 (openrc-video)
OpenRC nvidia-smi init script
community/pycuda-headers 2016.1.2-1
Python wrapper for Nvidia CUDA
community/python-pycuda 2016.1.2-1
Python wrapper for Nvidia CUDA
community/python2-pycuda 2016.1.2-1
Python wrapper for Nvidia CUDA
multilib/lib32-libvdpau 1.1.1-2
Nvidia VDPAU library
multilib/lib32-nvidia-304xx-utils 304.131-1
NVIDIA drivers utilities (32-bit)
multilib/lib32-nvidia-340xx-utils 340.96-1
NVIDIA drivers utilities (32-bit)
multilib/lib32-nvidia-cg-toolkit 3.1-5
NVIDIA Cg libraries
multilib/lib32-nvidia-utils 1:367.44-1
NVIDIA drivers utilities (32-bit)
multilib/lib32-opencl-nvidia 1:367.44-1
OpenCL implemention for NVIDIA (32-bit)
multilib/lib32-opencl-nvidia-304xx 304.131-1
OpenCL implemention for NVIDIA (32-bit)
multilib/lib32-opencl-nvidia-340xx 340.96-1
OpenCL implemention for NVIDIA (32-bit)
+1
avatar
Да, надо было пакмановским поиском воспользоваться — при установке через пакман драйвер называется по-другому. В общем, поставил драйвер, соответствующий моей версии ядра, а именно — linux44-nvidia-340xx. Теперь при перезагрузке наблюдаю чёрный экран и тишину. Загрузиться могу только в режиме командной строки. Такое у меня бывало, когда при использовании закрытого драйвера в файле /etc/mkinitcpio.conf была строчка " MODULES=«nouveau» ". Сейчас эта строчка выглядит так: MODULES="", но рабочий стол не загружается.
0
avatar
да, намудрили манжаровцы с драйверами…
а этот ставится?
off-driver.ru/download/315-gigabyte-geforce-gtx-770/12-linux-64-bit
его как раз в консольном режиме нужно ставить

хотя лучше удалить этот linux44-nvidia-340xx
и попробовать поставить другой, «особым манжаровским методом»
sudo mhwd -i pci video-nvidia-304xx
Последний раз редактировалось
+1
avatar
TrubaShatal, попробовал все варианты — с любым проприетарным драйвером окна тормозят. Со свободными дровами производительность 2D-графики гораздо лучше, но тоже не идеальна.
В любом случае, спасибо за время, потраченное на то, чтобы мне помочь.
0
avatar
С радостью сообщаю, что окна чудесным образом перестали тормозить после обновления до Manjaro 16.08 Ellada.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.