Так мне же надо несколько терминалов проверять
И ещё надо zsh ставить и настраивать "цветной" промпт, чтобы оно проявилось (prompt adam1 в .zshrc)
Артефакты же не по всему терминалу А только в рамках "цветного" промпта
Модератор: Модераторы разделов
Так мне же надо несколько терминалов проверять
Так достаточно проверить просто xfce-terminal, зачем все проверять.
Там по умолчанию цветная консоль для bash, разве этого не достаточно?
Shell
$ sudo emerge -av zsh
Ради научного интереса
Если "покрутить" размер шрифта - артефакты появляются и в xfce4-terminal, и в tilda.
Код: Выделить всё
#!/usr/bin/sh
while true; do reset; echo -e "\e[44mliya@archlinux ~ %\e(B\e[m "; sleep 0.2; done
Код: Выделить всё
#!/usr/bin/sh
while true; do reset; echo -e "\e[44mliya@testte ~ %\e(B\e[m "; sleep 0.2; done
Код: Выделить всё
Option "TearFree" "true"
Option "SWCursor" "True"
Не помогает (Xorg.0.log проверила)
Unigine Superposition - успешно
Shell
[ 32.485] (==) AMDGPU(0): AsyncFlipSecondaries: disabled
Не помогает, на всех мониторах отображается с артефактами
The X11 GDK backend can be influenced with some additional environment variables.
GDK_SYNCHRONIZE
If set, GDK makes all X requests synchronously. This is a useful option for debugging, but it will slow down the performance considerably.
Ну тогда ни что не мешает просто сделать эту переменную глобальной. По идее должно хватить добавить файл /etc/profile.d/xx.sh, с глобальной переменной:
Shell
export GDK_SYNCHRONIZE=1
Код: Выделить всё
GDK_RENDERING=image
Код: Выделить всё
GDK_RENDERING=recording
Попробую посмотреть в сторону Pixmaps - почему же они вызывают артефактыGDK_RENDERING
If set, selects the way how GDK creates similar surfaces. This affects both the functionality of the function gdk_window_create_similar_surface() as well as the way GDK creates backing surfaces for double buffering. The following values can be used:
similar: Create similar surfaces to the window in use. This is the default behavior when the variable is not set.
image: Always create image surfaces. This essentially turns off all hardware acceleration inside GTK.
recording: Always create recording surfaces. This causes bare rendering to the backend without the creation of intermediate surfaces (Pixmaps in X) and will likely cause flicker.
Это ещё хуже чем GDK_SYNCHRONIZE=1, так как отключает аппаратное ускорение и нагружает процессор. Т.е. как раз это очень сильно замедляет процессор по сравнению с GDK_SYNCHRONIZE=1.
Ну да, это там написано
Скорее всего это не ошибка. Просто при использовании нескольких мониторов на одной видеокарте, отключается вертикальная синхронизация в иксах. Как результат в некоторых приложениях могут быть артефакты. Если подключен всего лишь один монитор, у вас скорее всего артефакты не возникают. Wayland скорее всего нормально отображает, по тому, что рендеринг осуществляет композитор, а в иксах композитор поверх иксов.
Я сейчас как раз на Arch Linux тестирую с vte-2.91
Код: Выделить всё
if (other->backend->create_similar)
surface = other->backend->create_similar (other, content, width, height);
Не помогает.
Оно на всех современных карточках +/- так. Ускорение отрисовки 2D выкинули где-то в середине предыдущего десятилетия.
Оно glamor называется, и работает до сих пор
Кстати, если его отключить:[ 32.485] (II) AMDGPU(0): glamor X acceleration enabled on AMD Radeon RX 7600 (radeonsi, navi33, LLVM 18.1.8, DRM 3.57, 6.10.9-amd64)
[ 32.485] (II) AMDGPU(0): glamor detected, initialising EGL layer.
...
[ 32.531] (II) AMDGPU(0): [DRI2] Setup complete
[ 32.531] (II) AMDGPU(0): [DRI2] DRI driver: radeonsi
[ 32.531] (II) AMDGPU(0): [DRI2] VDPAU driver: radeonsi
...
[ 33.577] (II) AMDGPU(0): Use GLAMOR acceleration.
Код: Выделить всё
Option "AccelMethod" "none"
артефакты тоже исчезаютOption "AccelMethod" "string"
Setting this option to none disables use of the glamor acceleration architecture. In that case, all 2D rendering is done by the CPU, but 3D and video hardware acceleration can still work. This is mainly useful for OpenGL driver bring-up. The default is to use glamor.
Нет. glamour это ускорение отрисовки 2D средствами примитивов OpenGL. И да, оно то работает. Но это уже не совсем то.
Ну вот видите - выкидывали аппаратное ускорение 2D, мол оно только всё усложняет. Ща мы вам glomor запилим, оно вам всем 2D поверх 3D нарисует.
У меня вообще эта опция не используется в настройках - AccelMethod. Соответственно по умолчанию glamor отключён. Когда то пробовал включал его, но тоже были проблемы с отображением на моём драйвере, по этому просто эту строчку удалил. А у вас что прописано это было?:
Код: Выделить всё
Option "AccelMethod" "glamor"
По умолчанию если AccelMethod не указан то AccelMethod - glamorormorph писал(а): ↑21.09.2024 18:41У меня вообще эта опция не используется в настройках - AccelMethod. Соответственно по умолчанию glamor отключён. Когда то пробовал включал его, но тоже были проблемы с отображением на моём драйвере, по этому просто эту строчку удалил. А у вас что прописано это было?:
Посмотрите в /var/log/Xorg.0.log на предмет упоминания glamorThe default is to use glamor.
Код: Выделить всё
[ 17.494] (II) AMDGPU(0): glamor detected, initialising EGL layer.
[ 17.533] (II) AMDGPU(0): Set up textured video (glamor)
Ага...
А пардон, я переписал было на:
Код: Выделить всё
Option "AccelMethod" "sna"