LINUX.ORG.RU

Fedora(31-32) GNOME + Wayland + qt5 (держу в курсе!)

 , , ,


2

2

Либо я пропустил, либо все сидят на иксах. Почему никто не жалуется, что qt-шные проги в вейдланде выглядят и ведут себя как говно?

Я это заметил, когда поставил WS и Silverblue с нуля, основная система самосборная из Everything, поэтому я не заметил этот косяк, ибо у меня в /etc/dnf/dnf.conf есть строка install_weak_deps=False.

Кароче, когда ставишь qt5-программы, то по «слабым зависимостям» прилетает пакет qt5-qtwayland, и благодаря ему такие программы работают нативно под вейландом, что превращает их в неюзабельное днище, пакет надо удалить, тогда они будут работать под Xwayland, и всё будет пучком.

Один вопрос, вот нахера пихать в зависимости полуработающие пакеты, когда без них можно обойтись, ведь кому надо секса с компом, найдут себе проблемы без посторонней помощи!

Кароче, когда ставишь qt5-программы, то по «слабым зависимостям» прилетает пакет qt5-qtwayland, и благодаря ему такие программы работают нативно под вейландом, что превращает их в неюзабельное днище, пакет надо удалить, тогда они будут работать под Xwayland, и всё будет пучком.

У меня в раче установлен пакет extra/qt5-wayland, при этом использую qbittorrent постоянно. Никакого днища не заметил, запускал его в вейландовской сессии гнома. Уж не знаю под вейландом он запускается или иксами.

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

Если qt5ct из терминала, то без пакета работает отлично с таким выхлопом:
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
Иначе с таким:
QSocketNotifier: Can only be used with threads started with QThread

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

Попробуй с env QT_WAYLAND_DISABLE_WINDOWDECORATION=1 . Похоже, Wayland-композитор Gnome (Mutter) заставляет рисовать client side decorations все приложения, которые могут их рисовать. Поскольку в Qt их поддержка есть, но сделана по остаточному принципу - получается вот так.

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

У меня ещё хуже они выглядят в исковых кедах

По скрину не понятно, что за «они».

От шрифтов глаза вытекают.

sudo ln -s /usr/share/fontconfig/conf.avail/11-lcdfilter-default.conf /etc/fonts/conf.d/

Остальное в ~/.config/fontconfig/fonts.conf

У меня в фоксе шрифты огонь, несмотря на старый задрипаный уже моник, могу кинуть конфиг, правда везде Roboto.

papin-aziat ★★★ ()
Ответ на: комментарий от bvn13
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <edit name="antialias" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hintstyle" mode="assign">
            <const>hintslight</const>
        </edit>
        <edit name="rgba" mode="assign">
            <const>rgb</const>
        </edit>
        <edit name="autohint" mode="assign">
            <bool>false</bool>
        </edit>
        <edit name="lcdfilter" mode="assign">
            <const>lcddefault</const>
        </edit>
        <edit name="dpi" mode="assign">
            <double>96</double>
        </edit>
    </match>
  <alias>
    <family>serif</family>
    <prefer><family>Roboto Slab</family></prefer>
  </alias>
  <alias>
    <family>sans-serif</family>
    <prefer><family>Roboto</family></prefer>
  </alias>
  <alias>
    <family>sans</family>
    <prefer><family>Roboto</family></prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer><family>Roboto Mono</family></prefer>
  </alias>
  <match>
    <test name="family"><string>Arial</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Verdana</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Tahoma</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Comic Sans MS</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto Condensed</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Times New Roman</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto Slab</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Times</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto Slab</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Courier New</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto Mono</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Georgia</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto Slab</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Palatino Linotype</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto Slab</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Arial Black</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto Black</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Impact</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto Condensed Medium</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Lucida Sans Unicode</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Trebuchet MS</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Lucida Console</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Roboto Mono</string>
    </edit>
  </match>
</fontconfig>

Только либо поменяй на свои любимые ширфты, либо поставь Roboto:

sudo dnf install -y \
google-roboto-fonts.noarch \
google-roboto-mono-fonts.noarch \
google-roboto-slab-fonts.noarch \
google-roboto-condensed-fonts.noarch

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

Я себе еще 10-hintfull врубил, стало четче.

Единственное чего понять не могу, почему эти настройки хинтинга вообще на что-то влияют - по идее должно хватать пользовательских настроек, устанавливаемых гномом/кедами.

Midael ★★★★★ ()
Ответ на: комментарий от papin-aziat

https://imgur.com/a/LFJFZSP

В двух вариантах, можно в фулскрине пощелкать туда-сюда, оценить разницу.

Скрины с виртуалки, живую не обновлял еще. (кстати wayland сессия в vmware внезапно не только работает, но и намного быстрее чем иксовая сессия)

Честно говоря оба варианта неидеальны, если сравнивать с виндовым рендерингом, есть немного мыльца и там и там, а при полном хинтинге некоторые вещи похоже ломаются (дефис в нике, например)

ЗЫ, Да, разница только в firefox, и правда

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

Ну у меня 1920х1080. Картинки можно скачать или открыть каждую в отдельной вкладке браузера и отскроллить в левый верхний угол. Разница очень заметна, в том числе в кернинге.

Покрутил еще - между medium и фулл разницы вообще не увидел.

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

а при полном хинтинге некоторые вещи похоже ломаются (дефис в нике, например)

Да, полный не вариант, я пытался его освоить, не идет(или не смог), ну и кириллица у кантарелля жуткая :-)

papin-aziat ★★★ ()

Вот спасибо! Помогло привести к нормальному виду qt-приложения на Fedora 32. Вот бы ещё кто подсказал как заставить работать графическую тему GRUB2. В /etc/default/grub gfxterm и gfxmode настроил, конфиг через grub2-mkconfig обновил, а при загрузке вместо темы всё равно чёрный экран. Самое неприятное, что я как-то это настраивал, а сейчас не помню, что тогда сделал.

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

Вот бы ещё кто подсказал как заставить работать графическую тему GRUB2.

Дык, если система(WS or Silverblue) одна на компе(не знаю как в других вариантах), то это уже не актуально, меню должно скрываться и сразу переходить к загрузке дефолтного ядра, если не произошло каких-то особых случаев или юзверь сам не активировал меню(уже забыл какими клавишами).

papin-aziat ★★★ ()