LINUX.ORG.RU

Ubuntu 21.04 fractional scaling tearing

 , ,


0

2

Пытаюсь разобраться с tearing-ом в Ubuntu 21.04 на Honor Magicbook с графикой Intel Iris Xe graphics. Проблема проявляется при масштабировании в 150%. В Wayland даже с масштабированием тиринга нет, но из-за бага с FF с обрезкой меню, отсутствием заголовка окна в Slack и размытым VLC и Viber для моих задач такое решение подходит со скрипом. Отказаться от проблемного софта я, к сожалению, не могу. Починить сам тоже не могу в силу закрытости некоторой части используемого софта. Ждать, когда выпустят фиксы, как показывает практика, можно очень долго.

Смотрел в сторону Xorg. Пытался применить решения с askubuntu - не помогло: в разных комбинациях AccelMethod, TearFree и DRI либо ничего не меняется, либо еще хуже - экран начинает артифачить. Все что я находил в интернете в том или ином роде повторяло решение с askubuntu.

Судя по тому, что в Wayland проблемы нет, рискну предположить что решение возможно и в Xorg. Быть может кто-то сталкивался с похожей проблемой, поделитесь, пожалуйста, полезной ссылкой с возможным решением?

Опция TearFree работает только с драйвером intel, который включается принудительно (Driver «intel»). На драйвере modesetting она не работает.

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

Все верно, я использую такую секцию в /etc/X11/xorg.conf.d/20-intel.conf

Section "Device"
    Identifier  "Intel Graphics"
    Driver      "intel"
    Option      "TearFree" "true"
EndSection

и ловлю артефакты: различные куски от окон и линии, которых не должно быть.

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

Иксы постепенно забрасывают, тот же Intel:

https://www.phoronix.com/scan.php?page=news_item&px=XServer-Abandonware

a prominent Intel open-source developer has conceded that the X.Org Server is pretty much «abandonware» with Wayland being the future

Возможно решения никогда уже не будет. Стоит попробовать перейти на Wayland и отрепортить те баги, которые всплыли и мешают нормальному использованию программ.

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

Все баги давно известны и зарепорчены, но, к сожалению, для многого пользовательского софта Linux - неприоритетная платформа, поэтому баги если и исправляются, то по остаточному принципу. Возможно баги починят, возможно даже в этом году, но до этого мне бы хотелось как-то пользоваться софтом, желательно без боли.

Я понимаю, что X.Org умирает, понимаю что за Wayland будущее, но ровно та же ситуация была год назад, и 3 года назад, и 5 лет назад. Сколько иксы будут еще мучиться - непонятно.

Goganchic ★★
() автор топика
Ответ на: комментарий от zemidius
[  1935.445] (II) LoadModule: "intel"
[  1935.446] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[  1935.446] (II) Module intel: vendor="X.Org Foundation"
[  1935.446]    compiled for 1.20.10, module version = 2.99.917
[  1935.446]    Module class: X.Org Video Driver
[  1935.446]    ABI class: X.Org Video Driver, version 24.1
[  1935.446] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
        i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
        915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
        Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
        GM45, 4 Series, G45/G43, Q45/Q43, G41, B43
[  1935.447] (II) intel: Driver for Intel(R) HD Graphics
[  1935.447] (II) intel: Driver for Intel(R) Iris(TM) Graphics
[  1935.447] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
[  1935.447] xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
[  1935.447] (II) intel(0): Using Kernel Mode Setting driver: i915, version 1.6.0 20201103
[  1935.447] (II) intel(0): SNA compiled: xserver-xorg-video-intel 2:2.99.917+git20200714-1ubuntu1 (Matthias Klose <doko@ubuntu.com>)
[  1935.447] (II) intel(0): SNA compiled for use with valgrind
[  1935.471] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[  1935.471] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics
[  1935.471] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3, sse4.1, sse4.2, avx, avx2; using a maximum of 4 threads
[  1935.471] (II) intel(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[  1935.471] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[  1935.471] (==) intel(0): RGB weight 888
[  1935.471] (==) intel(0): Default visual is TrueColor
[  1935.471] (**) intel(0): Option "DRI" "3"
[  1935.471] (**) intel(0): Option "TearFree" "true"

Видимо драйвер версии 2.99.917, если я правильно понимаю. Да, интел 11-го поколения: i7-1165G7

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

intel(0): Using Kernel Mode Setting driver: i915, version 1.6.0 20201103

Насколько я понимаю - сие может означать, что всё-таки не intel, а modesetting используется, а для него действительно TearFree не работает.

Я тут поигрался - у меня после xrandr --output HDMI1 --scale 1.2 (например) и правда был виден tearing. После указания Option «TearFree» «true» пропадает.

Т.е., на мой взгляд, два вывода: 1) опция работает 2) у вас не intel драйвер (не поддерживает вашу видеокарту).

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

[ 1935.445] (II) LoadModule: «intel» [ 1935.446] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so

Да нет, у него точно xf86-video-intel используется.

intel(0): Using Kernel Mode Setting driver: i915, version 1.6.0 20201103

А эта строчка про ядерный драйвер i915.

Kron4ek ★★★★★
()

не помогло: в разных комбинациях AccelMethod, TearFree и DRI либо ничего не меняется, либо еще хуже - экран начинает артифачить.

А DRI2 пробовал вместо DRI3?

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

Да, я ошибся.

Порылся в исходниках xf86-video-intel, там есть такие буквы:

DBG(("%s: DRI3 protocol cannot support TearFree frontbuffers\n", __FUNCTION__));
Т.е. ваш совет про DRI2 очень похож на хороший вариант.

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

Попробовал вот так:

Section "Device"
    Identifier  "Intel Graphics"
    Driver      "intel"
    Option      "TearFree" "true"
    Option      "DRI"      "2"
EndSection

Тиринга вроде нет, но анимации немного дерганные (хотя, быть может, это мое субъективное впечатление) и периодически при запуске glxgears или окна Settings -> About возникают артефакты в виде черной однопиксельной обводки окна.

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

А встроенный в GNOME композитор не решает проблему? Я имею в виду если вообще TearFree отключить, или даже xorg-modesetting попробовать. Или у тебя не GNOME, а какое-то другое окружение рабочего стола?

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

У меня максимально дефолтная Ubuntu 21.04, соответственно Gnome 3. modesettings пробовал - тиринг.

На всякий случай вот выхлоп inxi по графике:

  Device-1: Intel TigerLake GT2 [Iris Xe Graphics] vendor: QUANTA 
  driver: i915 v: kernel bus ID: 00:02.0 
  Device-2: Quanta ov9734_techfront_camera type: USB driver: uvcvideo 
  bus ID: 1-6:2 
  Display: x11 server: X.Org 1.20.11 driver: loaded: intel 
  resolution: 2560x1440~60Hz 
  OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) v: 4.6 Mesa 21.0.1 
  direct render: Yes 
Goganchic ★★
() автор топика
Последнее исправление: Goganchic (всего исправлений: 1)
Ответ на: комментарий от Kron4ek

Вот как бы еще понять в каком месте проблема: судя по тому, что в wayland ее нет - дело не в i915, т.е. это либо xserver-xorg-video-intel, либо gnome-shell. Пожалуй, как время будет, попробую другие окружения, например xfce или kde, чтобы посмотреть, воспроизводится ли проблема там.

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

Попробовал разные среды:

  • Xfce (Xubuntu 21.04, Manjaro) - какой-то кривой scaling: если ставлю 1.5 - то все становится меньше, а не крупнее, если ставлю 0.7 - то все становится крупнее, но очень размыто.
  • Cinnamon (Linux Mint) - там нет fractional scaling, можно отмасштабироваться только на 200% и на 300%. Для меня это не подходит: слишком крупно.
  • KDE (Kubuntu 21.04) - все отлично работает, без тиринга и артефактов.
  • Elementary OS - нет fractional scaling, можно только изменить размер шрифтов. Это не то, что я хочу.

Есть подозрение, что дело не в Xorg и не в intel-драйверах, а в Gnome Shell или где-то между Xorg и Gnome Shell. Буду копать дальше.

Upd. нашел интересное обсуждение проблемы fractional scaling на reddit. Вроде звучит логично и многое объясняет, но что с этим делать все еще неясно.

Goganchic ★★
() автор топика
Последнее исправление: Goganchic (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.