LINUX.ORG.RU

Gentoo, aarch64, после пересборки Мира gtk2 приложения стали тормозить.

 ,


0

2

То есть на экране фрагменты чёрного фона, проц при этом не загружен, а всё висит и мыша тоже. Gtk-3 работает норм. Но основные браузеры, я так понял, собраны на gtk-2.

Кто встречался с подобным? Доселе таких проблем и тормозов не видел совсем.

★★★★★

я так помню, что в firefox gtk2 только для каких-то мелочей, типа adobe flash тянется, а рендер на gtk3.

да, ...default-toolkit=cairo-gtk3...

а у chromium не упоминается gtk2

boowai ★★★★
()
Последнее исправление: boowai (всего исправлений: 3)

Но основные браузеры, я так понял, собраны на gtk-2.

нет

eternal_sorrow ★★★★★
()

фрагменты чёрного фона

Это была врождённая проблема GTK 3. Одна из причин, по которой дефолтную сборку Firefox откатывали с GTK 3 назад на GTK 2. Но этот баг уже давно в GTK 3 подпёрли костылями, примерно года три назад.

i-rinat ★★★★★
()
Ответ на: Оффтоп от Stil

Orange Pi4

burato ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Так вот стало наоборот, gtk3 стал без тормозов и чёрны точек работать, а второй вот это всё

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

я так помню, что в firefox gtk2 только для каких-то мелочей, типа adobe flash тянется, а рендер на gtk3.

Adobe Flash уже не существует, так что GTK+2 вообще не должен тянуться. Проблема лишь в том, что система сборки Mozilla Firefox лютая погань, в которой запутались сами разработчики, поэтому они не могут разобраться сломает ли выкорчевывание GTK+2 из сборочных скриптов что-то или нет.

https://bugzilla.mozilla.org/show_bug.cgi?id=1377445

Но дело потихоньку сдвигается с мертвой точки.

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

Так вот теперь браузер с gtk-3 работает очень хорошо, а с gtk-2 стало вот это с тормозами(без нагрузки на проц) и чёрными точками в углах экрана

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

Причём сейчас запустил браузер на webkit2-gtk4(один из мидори или богоявление) и оно может например на ВК работать норм, лента листается, видео не воспроизводтся(мне это и нужно, за то я эти браузеры и ценю!) комменты пишутся, всё работает. А перейдёшь на сайт DNS-shop или ещё какой авито, так вот это чёрноквадратное говно. До обновления такого ни разу не видел, а вот netsurf-gtk3 очень тормозил(не грузя проц). Юзы не трогал, на gtk точно нет. Теперь netsurf-gtk2 тормозит страшно, а третий стал быстрее второго до пересборки Мира.

burato ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Выше описал. Только в богоявлении и мидори. Вернее пока ещё в других не видел, фэлкон браузер штатно работает

burato ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

ещё раз повторю, юзы не менял, да и нет у них юзов с гтк. Не знаю что произошло, иначе бы не было темы.

Я даже не знаю, как им указать теперь юзы третьего гтк

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

Проблема лишь в том, что система сборки Mozilla Firefox лютая погань, в которой запутались сами разработчики

У тебя все заявления настолько же неадекватные, или ты просто не любишь Firefox?

i-rinat ★★★★★
()
Ответ на: комментарий от burato

ещё раз повторю, юзы не менял, да и нет у них юзов с гтк

ldd /usr/bin/midori | grep gtk

Зачем гадать по юзам, если можно просто посмотреть, какие библиотеки загружает бинарник? Или в /proc/$pid/maps заглянуть у работающего процесса на случай, если он грузит библиотеки самостоятельно.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat
$ ldd /usr/bin/epiphany 
	linux-vdso.so.1 (0x0000ffffb32e2000)
	libephymain.so => /usr/lib64/epiphany/libephymain.so (0x0000ffffb2fb0000)
	libephymisc.so => /usr/lib64/epiphany/libephymisc.so (0x0000ffffb2f58000)
	libgtk-3.so.0 => /usr/lib64/libgtk-3.so.0 (0x0000ffffb275b000)
	libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x0000ffffb2568000)
	libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x0000ffffb24f6000)
	libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x0000ffffb23b3000)
	libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x0000ffffb2242000)
	libhandy-0.0.so.0 => /usr/lib64/libhandy-0.0.so.0 (0x0000ffffb21ce000)
	libnotify.so.4 => /usr/lib64/libnotify.so.4 (0x0000ffffb21b5000)
	libc.so.6 => /lib64/libc.so.6 (0x0000ffffb204d000)
	/lib/ld-linux-aarch64.so.1 => /lib64/ld-linux-aarch64.so.1 (0x0000ffffb32b1000)
	libephysync.so => /usr/lib64/epiphany/libephysync.so (0x0000ffffb2015000)
	libdazzle-1.0.so.0 => /usr/lib64/libdazzle-1.0.so.0 (0x0000ffffb1f10000)
	libgdk-3.so.0 => /usr/lib64/libgdk-3.so.0 (0x0000ffffb1e40000)
	libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x0000ffffb1de8000)
	libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x0000ffffb1dad000)
	libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x0000ffffb1c75000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x0000ffffb1c3c000)
	libjson-glib-1.0.so.0 => /usr/lib64/libjson-glib-1.0.so.0 (0x0000ffffb1c02000)
	libsoup-2.4.so.1 => /usr/lib64/libsoup-2.4.so.1 (0x0000ffffb1b55000)
	libwebkit2gtk-4.0.so.37 => /usr/lib64/libwebkit2gtk-4.0.so.37 (0x0000ffffae7cf000)
	libjavascriptcoregtk-4.0.so.18 => /usr/lib64/libjavascriptcoregtk-4.0.so.18 (0x0000ffffad13a000)
	libgcr-ui-3.so.1 => /usr/lib64/libgcr-ui-3.so.1 (0x0000ffffad0b9000)
	libgcr-base-3.so.1 => /usr/lib64/libgcr-base-3.so.1 (0x0000ffffad006000)
	libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x0000fffface96000)
	libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x0000fffface82000)
	libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x0000fffface65000)
	libX11.so.6 => /usr/lib64/libX11.so.6 (0x0000ffffacd19000)
	libXi.so.6 => /usr/lib64/libXi.so.6 (0x0000ffffaccf9000)
	libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x0000ffffacce3000)
	libcairo-gobject.so.2 => /usr/lib64/libcairo-gobject.so.2 (0x0000ffffaccc9000)
	libatk-bridge-2.0.so.0 => /usr/lib64/libatk-bridge-2.0.so.0 (0x0000ffffacc84000)
	libepoxy.so.0 => /usr/lib64/libepoxy.so.0 (0x0000ffffacb2d000)
	libfribidi.so.0 => /usr/lib64/libfribidi.so.0 (0x0000ffffacb01000)
	libm.so.6 => /lib64/libm.so.6 (0x0000ffffaca59000)
	libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x0000ffffac954000)
	libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x0000ffffac92f000)
	libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000ffffac8d9000)
	libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x0000ffffac812000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x0000ffffac7e4000)
	libz.so.1 => /lib64/libz.so.1 (0x0000ffffac7bd000)
	libmount.so.1 => /lib64/libmount.so.1 (0x0000ffffac74c000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x0000ffffac726000)
	libffi.so.7 => /usr/lib64/libffi.so.7 (0x0000ffffac70d000)
	libpcre.so.1 => /lib64/libpcre.so.1 (0x0000ffffac69a000)
	libdl.so.2 => /lib64/libdl.so.2 (0x0000ffffac686000)
	libicuuc.so.68 => /usr/lib64/libicuuc.so.68 (0x0000ffffac491000)
	libsecret-1.so.0 => /usr/lib64/libsecret-1.so.0 (0x0000ffffac41c000)
	libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x0000ffffac39c000)
	libhogweed.so.6 => /usr/lib64/libhogweed.so.6 (0x0000ffffac344000)
	libnettle.so.8 => /usr/lib64/libnettle.so.8 (0x0000ffffac2f0000)
	librt.so.1 => /lib64/librt.so.1 (0x0000ffffac2d8000)
	libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x0000ffffac2bb000)
	libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x0000ffffac2a0000)
	libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x0000ffffac28d000)
	libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x0000ffffac27a000)
	libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000ffffac257000)
	libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x0000ffffac1e2000)
	libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x0000ffffac1be000)
	libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x0000ffffac17a000)
	libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x0000ffffac167000)
	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x0000ffffac12f000)
	libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x0000ffffac111000)
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x0000ffffac0f5000)
	libGL.so.1 => /usr/lib64/libGL.so.1 (0x0000ffffabffe000)
	libpsl.so.5 => /usr/lib64/libpsl.so.5 (0x0000ffffabfdd000)
	libicui18n.so.68 => /usr/lib64/libicui18n.so.68 (0x0000ffffabcd3000)
	libxslt.so.1 => /usr/lib64/libxslt.so.1 (0x0000ffffabc86000)
	libwoff2dec.so.1.0.2 => /usr/lib64/libwoff2dec.so.1.0.2 (0x0000ffffabc6a000)
	libharfbuzz-icu.so.0 => /usr/lib64/libharfbuzz-icu.so.0 (0x0000ffffabc57000)
	libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x0000ffffabb89000)
	libgstapp-1.0.so.0 => /usr/lib64/libgstapp-1.0.so.0 (0x0000ffffabb69000)
	libgstbase-1.0.so.0 => /usr/lib64/libgstbase-1.0.so.0 (0x0000ffffabae4000)
	libgstreamer-1.0.so.0 => /usr/lib64/libgstreamer-1.0.so.0 (0x0000ffffab986000)
	libgstpbutils-1.0.so.0 => /usr/lib64/libgstpbutils-1.0.so.0 (0x0000ffffab938000)
	libgstaudio-1.0.so.0 => /usr/lib64/libgstaudio-1.0.so.0 (0x0000ffffab8bc000)
	libgsttag-1.0.so.0 => /usr/lib64/libgsttag-1.0.so.0 (0x0000ffffab871000)
	libgstvideo-1.0.so.0 => /usr/lib64/libgstvideo-1.0.so.0 (0x0000ffffab7ce000)
	libgstgl-1.0.so.0 => /usr/lib64/libgstgl-1.0.so.0 (0x0000ffffab754000)
	libgstfft-1.0.so.0 => /usr/lib64/libgstfft-1.0.so.0 (0x0000ffffab73a000)
	libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x0000ffffab6e8000)
	libopenjp2.so.7 => /usr/lib64/libopenjp2.so.7 (0x0000ffffab680000)
	libwebpdemux.so.2 => /usr/lib64/libwebpdemux.so.2 (0x0000ffffab66b000)
	libwebp.so.7 => /usr/lib64/libwebp.so.7 (0x0000ffffab606000)
	libenchant-2.so.2 => /usr/lib64/libenchant-2.so.2 (0x0000ffffab5eb000)
	libseccomp.so.2 => /usr/lib64/libseccomp.so.2 (0x0000ffffab58f000)
	libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x0000ffffab569000)
	libhyphen.so.0 => /usr/lib64/libhyphen.so.0 (0x0000ffffab553000)
	libstdc++.so.6 => /usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libstdc++.so.6 (0x0000ffffab372000)
	libgcc_s.so.1 => /usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/libgcc_s.so.1 (0x0000ffffab34d000)
	libgck-1.so.0 => /usr/lib64/libgck-1.so.0 (0x0000ffffab305000)
	libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x0000ffffab1c6000)
	libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x0000ffffab16c000)
	libatspi.so.0 => /usr/lib64/libatspi.so.0 (0x0000ffffab126000)
	libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x0000ffffab0f4000)
	libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x0000ffffab0bd000)
	libuuid.so.1 => /lib64/libuuid.so.1 (0x0000ffffab0a3000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x0000ffffab082000)
	libblkid.so.1 => /lib64/libblkid.so.1 (0x0000ffffab020000)
	libicudata.so.68 => /usr/lib64/libicudata.so.68 (0x0000ffffa94d0000)
	libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x0000ffffa9343000)
	libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000ffffa932f000)
	libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x0000ffffa9319000)
	libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x0000ffffa92d7000)
	libunistring.so.2 => /usr/lib64/libunistring.so.2 (0x0000ffffa914a000)
	libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x0000ffffa9118000)
	libwoff2common.so.1.0.2 => /usr/lib64/libwoff2common.so.1.0.2 (0x0000ffffa9105000)
	libbrotlidec.so.1 => /usr/lib64/libbrotlidec.so.1 (0x0000ffffa90ea000)
	libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x0000ffffa90b6000)
	libunwind.so.8 => /usr/lib64/libunwind.so.8 (0x0000ffffa9077000)
	libdw.so.1 => /usr/lib64/libdw.so.1 (0x0000ffffa8fce000)
	libelf.so.1 => /usr/lib64/libelf.so.1 (0x0000ffffa8fa5000)
	libgstallocators-1.0.so.0 => /usr/lib64/libgstallocators-1.0.so.0 (0x0000ffffa8f90000)
	libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x0000ffffa8f7e000)
	libbsd.so.0 => /usr/lib64/libbsd.so.0 (0x0000ffffa8f55000)
	libbrotlicommon.so.1 => /usr/lib64/libbrotlicommon.so.1 (0x0000ffffa8f24000)
burato ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

или ты просто не любишь Firefox?

Я использую Firefox и мне нравится этот браузер, но это нисколько не отменяет того, что его сборочная система mach – мутант рожденный соитием autotools’ов и Python’а – полная дрянь.

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

И… твоё оценочное мнение о системе сборки как-то доказывает несостоятельность третьих лиц в контексте разработки ПО?

Кстати, ты очень сильно переврал происходящее в баге 1377445. Там было два разных человека, которые приложили патчи. Патч первого участника влили, но потом откатили, потому что он забыл, что кроме компиляции есть ещё вариант сборки tar.bz2 с готовыми бинарниками. На CI сборка сфейлилась, это приводит к откату патча. Второй участник озаботился особенностями поддержки в GTK 3 различных IME и всяких прочих accessibility. Я вижу там обсуждение проблем динамического связывания в Linux, вижу обсуждение особенностей GTK 3 и особенностей Wayland-сборки, но не вижу обсуждения проблем сборочной системы.

i-rinat ★★★★★
()
Ответ на: комментарий от ananas

причем и autotools и пистон требуются совершенно копролитных версий

Это в каком смысле? Новые выпуски питона ему не нравятся что ли? У меня был опыт только обратный.

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

не буду врать за самые последние релизы, но раньше для сборки был необходим autoconf2.13 и python2. Судя по арчевому билду - с пистоном ситуацию вроде как поправили, но autoconf как был нужен древний, так и остался

ananas ★★★★★
()
Ответ на: комментарий от i-rinat

ну значит оно на третьем так работает

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

но autoconf как был нужен древний, так и остался

Мне стало интересно, и я решил запустить сборку в минимальном контейнере с debian testing. В процессе установки зависимостей я действительно увидел, что мелькает предложение поставить automake и autoconf, но это libgtk2.0-dev порекомендовал debhelper, который и притянул autoconf. Если debhelper не ставить, то и autoconf не ставится. При этом компиляция Firefox вполне себе запускается. У Firefox прямо в дереве исходников есть куски autoconf, которые тянутся с 1998, что ли, года. Ему никакой внешний не нужен.

i-rinat ★★★★★
()
Ответ на: комментарий от ananas

а исходники

Исходники из https://github.com/mozilla/gecko-dev, это git-зеркало основной репы.

явно требует AC_PREREQ(2.13)

У Firefox прямо в дереве исходников есть куски autoconf, которые тянутся с 1998, что ли, года. Ему никакой внешний не нужен.

i-rinat ★★★★★
()
Ответ на: комментарий от iZEN

gcc?

$ eselect gcc list
 [1] aarch64-unknown-linux-gnu-10.2.0 *
 
burato ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.