LINUX.ORG.RU

Как уйти от XRender

 , ,


0

2

KDE 5 на Gentoo. NVidia GT-550Ti. Драйвер NVidia, OpenGL и OpenCL оба установлены на NVidia. Дров собран так:

x11-drivers/nvidia-drivers-378.13::gentoo was built with the following:
USE="X driver kms multilib tools -acpi -compat -gtk3 -pax_kernel -static-libs -uvm -wayland" ABI_X86="32 64 -x32"

Проблема в том, что плазма очень медленная, например KMenu появляется только через 2 секунды после клика на иконку. Такая же задержка и с меню добавления виджетов на панель, и с календарём и с Show Hidden Icons. В общем всё, что связано с панелью. Обнаружил, что все эти тормоза пропадают, если Rendering Backend переключить в OpenGL 2.0 (или 3,0). Менюшки появляются мгновенно. Вот только на OpenGL пропадают рамки окон. Получается либо быстро, но без рамок (OpenGL), либо медленно но с рамками (XRender).

Почему нет рамок у окон при рендеринге через OpenGL? И как их вернуть?

★★★

Почему нет рамок у окон при рендеринге через OpenGL?

Потому что драйвер – говно? Постмотри к какому-нибудь .xsession-errors нет ли ошибок. Вообще в логе опенжля смотреть надо, то его-то нет

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

Драйвер обновлялся раз 5 или 6, все версии говно что-ли? .xsession-errors пустой.

Думал, что после перезагрузки при старте иксов что-нибудь отобразится в xsession-errors - переключил рендеринг в OpenGL и перезагрузился. Приехали :) черный экран и курсор. Ничего более. Xorg,0.log чистый, никаких варнингов или ероров. Даже не предполагал таких фатальных последствий от переключения рендеринга.

Интересно, в каком файле отображается переключение рендеринга, чтобы исправить его на XRender?

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

Оказалось, что только плазма порушилась. Программы через Alt+F2 запускаются. Запустил systemsettings и вернул все настройки Compositor Settings в defaults, но по-прежнему рабочего стола нет.

Как восстановить эту плазму? Пробовал пользовательские конфиги удалить - не помогло.

Chord ★★★
() автор топика

поясните кто втеме что там с gles2 творится. Сейчас выставил -gles2 пробую пересобрать пласму9999

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

Это фигня для мобильников, зачем она тебе.

anonymous
()
Ответ на: комментарий от deity

Я вчера собирал мир с gles2 => композитинг не работает (только через Xrender), kwin говорит

апр 21 22:24:26 gentoo kwin_x11[2289]: kwin_core: ShaderManager self test failed
апр 21 22:24:27 gentoo kwin_x11[2289]: kwin_core: Failed to initialize compositing, compositing disabled
По багам ищется что-то такое, но мне стало недосуг разбираться, так что просто отключил этот gles2. Драйвер amdgpu-1.3.0 (свободный), карта R9 380X.
TC: надо бы ещё посмотреть, как собраны Mesa, xorg-server, да и kwin тоже.

Nirvandil
()
Ответ на: комментарий от Kroz

plasmashell запускает/перезапускает если все исправно. Мне пришлось переустановить пакет plasma-desktop, чтобы рабочий стол появился снова.

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

Мне пришлось переустановить пакет plasma-desktop, чтобы рабочий стол появился снова.

Так может проблема не в плазме/драйверах?
Ты glibc и gcc когда в последний раз апгрейдил?

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

так я и не утверждаю, что драйвер виноват. Система актуальная, сегодня обновлялся. Виновата плазма или нет - не знаю. Определенно могу сказать, что при использовании OpenGl вместо XRender элементы плазмы рисует мгновенно. Правда проблемы с рамками окон и черный экран при последующей перезагрузке.

Chord ★★★
() автор топика
Ответ на: комментарий от Chord
USE="-gles2" emerge -avuDN world

решило проблему. Теперь и с XRender плазма (панелька) реагирует быстро.

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

Система актуальная, сегодня обновлялся.

Я к тому, что если ты не следуешь определенным правилам при апдейтах, могут возникать глюки разного рода. Среди этих правил - при обновлении gcc и glibc пересобирать мир (а при gcc - еще и ядро), при рядовых апдейтах иногда требуется perl-cleaner, python-updater и аналоги, emerge @preserved-rebuild, @x11-module-rebuild; другие рекомендации emerge тоже должны быть выполнены.
Мир пересобираешь при обновлениях glibc?

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

По отдельности я glibc и gcc не обновляю. Все обновления по

emerge -avuDN world
ну и потом на всякий случай revdep-rebuild / emerge --depclean и прочие preserved-rebuildы

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

По отдельности я glibc и gcc не обновляю. Все обновления по
emerge -avuDN world

Если прилетит апдейт gcc или glibc, то вот тебе источник возможных проблем.
gcc требует особой процедуры: https://wiki.gentoo.org/wiki/Upgrading_GCC
Про glibc единого мнения нет о том, нужно ли обновлять мир, в сети встречал и аргументы в пользу, и аргументы против. Я обычно перестраховываюсь.

ну и потом на всякий случай revdep-rebuild / emerge --depclean и прочие preserved-rebuildы

А это? https://wiki.gentoo.org/wiki/Gentoo_Cheat_Sheet#After_installations_or_updates
Хотя, emerge обычно подсказывает.

emerge -avuDN world

Вот моя формула ежедневного апдейта:

$ emerge -avuND --with-bdeps=y --complete-graph=y --backtrack=30 --keep-going --verbose-conflicts   --exclude gentoo-sources --exclude firefox --exclude libreoffice --exclude chromium --exclude glibc --exclude perl --exclude python --exclude gcc world

Остальное (типа @revdep-rebuild) - по надобности.
Пакеты в exclude - когда найду время (например, поставить на ночь).

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

Из того, что я там прочитал, после обновления GCC в обязательном порядке need to be rebuilt только libtool.

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

Если вкратце, то сначала собираешь gcc, потом меняешь версию на новую, потом пересобираешь libtool, потом опять gcc. И еще они говорят, что иногда есть пакеты, у которых в требования быть собранными одной версией gcc. То есть ситуация аналогична glibc - лучше пересобрать мир.

Kroz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.