LINUX.ORG.RU

NixOS + Radeon R9 270 + Tearing

 , ,


0

1

Дано: есть машина с NixOS и с видеокартой Radeon R9 270. Надумал я, наконец, настроить NixOS, подружить с видеокартой и попытаться избавиться от тиринга.

Долго искал, оказалось, что в настроечном файле «/etc/nixos/configuration.nix» для значения «services.xserver.videoDrivers» можно указывать и «radeon». Хотя этого нет в руководстве «man configuration.nix». Это для того, чтобы X.org подгрузил требуемый драйвер.

Теперь по-поводу тиринга: избавиться от него помогло указание

  services.xserver.deviceSection = ''
Option "TearFree" "true"
'';

Весь мой конфигурационный файл:

> cat /etc/nixos/configuration.nix

{ config, pkgs, ... }:

{
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
      <home-manager/nixos>
    ];

  boot.loader.grub.enable = true;
  boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
  boot.initrd.kernelModules = [ "amdgpu" ];
  boot.supportedFilesystems = [ "ntfs" ];

  # Enable the X11 windowing system.
  services.acpid.enable = true;
  services.xserver.videoDrivers = [ "radeon" ];
  services.xserver.deviceSection = ''
Option "TearFree" "true"
'';
  services.xserver.enable = true;
  services.xserver.desktopManager.mate.enable = true;

  # Enable sound.
  sound.enable = true;
  hardware.pulseaudio.enable = true;

  programs.adb.enable = true;
  programs.fish.enable = true;

  time.timeZone = "Europe/Moscow";
  # Define a user account. Don't forget to set a password with ‘passwd’.
  users.users.czan = {
     isNormalUser = true;
     extraGroups = [ "wheel" "adbusers"]; # Enable ‘sudo’ for the user.
     shell = pkgs.fish;
     packages = with pkgs; [
       firefox
       emacs
       gcc
       sakura
       dmenu
       xmobar
       zathura
       mc
       mpv
       qbittorrent
       rustup
       anki
       xorg.xmodmap
       gdb
       minicom
       openocd
       usbutils
       git
       eltclsh
       nethack
       sbcl
       libreoffice-qt
       hunspell
       hunspellDicts.ru_RU
       hunspellDicts.en_US
       (retroarch.override {
        cores = with libretro; [
          genesis-plus-gx
          snes9x
          beetle-psx
        ];
       })
      p7zip
      unrar-wrapper
      wineWowPackages.stable
      winetricks
     ];
   };

 environment.systemPackages = with pkgs; [
   vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
   wget
   jetbrains.idea-community
   pavucontrol
 ];

  system.stateVersion = "22.11"; # Did you read the comment?
}


Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Надо же, борьба с тирингом, и всё просто и по делу!

kirill_rrr ★★★★★
()

Надумал я, наконец, настроить NixOS, подружить с видеокартой

NixOS’ники настолько суровы, что даже видяхой начинают пользоваться в 10ю очередь.

Это для того, чтобы X.org подгрузил требуемый драйвер.

как оно там, в ~2005м?

mrjaggers
()
Последнее исправление: mrjaggers (всего исправлений: 1)

Свят! свят! свят!

*перепрестился и плюнул через левое плечо.

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

разрабы билда

Какого билда? Движка Build?

считают, что по дефолту тиринг ок

вангую, они считают, что по дефолту пользователь не является Благочестивым Прихожанином Церкви Свидетелей Судного Тиринга.
ЕМНИП опция включает тройную буферизацию.

Характерно, что тот факт (если судить по ОП), что в 2023м «разрабы» не считают нужным автоматически подгружать нужный драйвер для видяхи, вопросов не вызывает.
Красноглазие, оно такое.

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

Может они просто обжигались на гибридной графике и/или парвиртуалках, там подгружать драйвер автоматом - плохая идея.

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

Тиринг был проблемой либо говножелеза, либо эстетов. Вайланд там или не вайланд, работает он на условно приемлимом уровне или не работает, один хрен борьба с тирингом не стоит потери ~10% фпс. Даже если это просто анимации в композиторе.

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

Ктож захочет мириться с тирингом? Он не просто мешает, а даже очень.

Дерьмовая карта онборд как раз на большинстве ноутах и установленна. Не, я рад, что одной большой проблемой лично для меня стало меньше.

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

У меня была только одна дерьмовая карта с реальной проблемой тиринга - интеграшка материнки на core 2 duo, GMA чего то там с чисто формальными характеристиками. Вот там рвало экран по диагонали в оконном режиме.

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

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

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

Иксы себя если не изжили, то все равно недалеко от пенсии. Тиринг неактуален

А чем они могут себя изжить? Расскажи, что решает Wayland? Как он живёт сейчас в LTS дистрибутивах? А, ты же не пробовал завести… Ну ничего, ходи по темам и оставляй на заборе не свои высказывания, надеясь на таких, как я, что клюнут и тебедаже нечего будет написать. ОЙ, забыл! Ты ещё можешь величаво игнорировать вопросы и давить тупизной ;)))))

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

Те разрабы билда считают, что по дефолту тиринг ок?))

Скорее считают, что за это отвечает композитор. Включать «TearFree» в иксах имеет смысл в нишевых ситуациях, когда используется wm без композитора или у композитора какие-то проблемы с vsync-ом.

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

На большинстве ноутов установлена нормальная карта. Даже производительности убогой 620HD хватает выше крыши, не говоря про современные Iris и Radeon.

Qui-Gon ★★★★★
()
Ответ на: комментарий от kirill_rrr

Борьба с тирингом от железа зависит только в контексте поддержки требуемых композитором возможностей со стороны драйвера видюшки. Типа отсутствия vsync-а у мате без поддержки dri3.

Сама проблема же с тирингом под иксами в невозможности сделать приемлемое поведение из коробки с удобным унифицированным способом контролировать синхронизацию кадров. Разные комбинации железа/DE/wm имели свои способы управления vsync-ом со своими побочными эффектами. А если еще два монитора с разной частотой, то пердолинг гарантирован.

Проблемы с тирингом под иксами будут всплывать до тех пор, пока на них не останутся исключительно привыкшие к X-косякам люди. Они решаемы в рамках отдельных пользователей со своими компромиссами, но из коробки и для большинства всегда будут присутствовать.

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

Проблемы с железом также возможны в 2 других случаях: если карта такое дно, что там в принципе нет dri, v-sync и вообще ничего что прилично бы работало, и если карта слабее навешанной на неё задачи и вот тогда борьбу с тирингом лучше отключить, это по определению просадка производительности.

А по поводу борьбы с тирингом в вайланде - я не в курсе какие там допущены косяки (кроме того, что вайланд не работает) потому что не особо интересуюсь вайландом и тотальной борьбой с тирингом.

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

Борьба с тирингом от железа зависит только

тем, что только от него и зависит на 99%.

остальной 1% это фантазии красноглазиков с О_МОЙ_10bit_ОНИМЭ_ПРИЧЁСКА_НЕ_ТАК_ТРЯСЁТСЯ

но этот 1% просто очень vocal.

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

А по поводу борьбы с тирингом в вайланде - я не в курсе какие там допущены косяки (кроме того, что вайланд не работает) потому что не особо интересуюсь вайландом и тотальной борьбой с тирингом.

Один косяк есть - кто-то посчитал, что без иксовых проблем тиринг надо убирать в любой ситуации. Проблема незначительная, но создана на пустом месте.

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

тем, что только от него и зависит на 99%.

Железо никак не влияет на проблемы как у ТС-а.

У него типичная иксовая ситуация, когда композитора нет или vsync в нем не завелся.

Обойти это можно включив тройную буферизацию через опцию драйвера. Для intel/amd это tearfree, для nvidia это была бы другая опция со своими эффектами.

И подобный хаос под иксами всегда был и будет. У одних композитор с vsync-ом, но полноэкранные приложения пускает мимо. В другом все приложения через него проходят с большей задержкой и низкой производительностью, приходится гасить композитор для отдельных приложений. У третьего вообще два монитора с разной частотой. Приходится бегать и подбирать костыли под свою комбинацию.

Слава богу в этом больше нет необходимости и можно использовать вейленд.

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

Я пробовал для интереса сравнивать производительность игр в KDE на Wayland и иксах. Под вяленым все работало хуже, как раз из-за неотключаемого V-Sync. А в иксах кдеешный композитор просто отключался при запуске игры, и всё работало.

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

Под вяленым все работало хуже, как раз из-за неотключаемого V-Sync.

VSync там отключается (кроме нвидия, там баг обещали в 545 драйвере поправить). Но без vsync-а будет тройная буферизация. С ней нет тиринга, на производительность она негативно не влияет, но это доп. задержка относительно игры с тирингом (до +1 кадра). Если фпсов игра выдает мало, то +1 кадр становится уже ощутимой проблемой.

Из-за возможности свободно включать/выключать композитор в kde и привык к этой DE. Костыльно, всплывающие окна перестают нормально работать, альтабы долгие, но позволяло подстроиться под ситуацию. В одних играх композитор мешал, в других играх встроенный vsync был ужасен или его вообще не было, да и за пределами игр удобнее жить с композитором.

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

Приходится бегать и подбирать костыли под свою комбинацию.

Не приходится. Вероятно, это если херней не заниматься.

МАТЕ что без компо, что с picom (с unredirect) ни тиринга ни тормозов.

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

подобный хаос под иксами всегда был и будет

Он вообще в принципе вегда был и всегда будет. Это только эппл может себе позволить работать только вот на этих железках только в этих версиях и варианты можно по пальцам пересчитать. А у остальных есть десятки тысяч комбинаций и их все надо поддерживать.

Да, Х сильно фрагментирован и тянет легаси, но ведь вайланд тоже сильно фрагментирован и там конкурируют несовместимые реализации со своими собственными надстройками и результат предсказуемо хаотично-дерьмовый. Что под капотом в винде хз, но временами вылезают (и ещё чаще вылезали раньше) всякие кривые конфигурации где так же приходилось бороться с чем то. А в андроиде вообще только 10-20% аппаратно-программных комплексов работают достаточно вменяемо чтобы всё поддерживать, не лагать и не фризить.

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

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

Но в разрезе вертикальной синхронизации и вывода картинки на экраны в целом там всё предсказуемо и нормально работает из коробки.

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

Ну не знаю... Я вайланда пока видел только в гноме и там не нормально. Тиринга конечно нет, но видеокарты под минималки Скайрима в вайне хватает только на вывод 2 окошек в панораму, с 3-его просаживается фпс (а если я заметил значит куда то в район 20-30). Для сравнения у kwin/Х11 в тех же условиях можно в панораме столов с кучей окон смотреть видео в плеере, фризы незначительны, фпс не проседает.

Кстати, о гноме и вайлнде. Принципиально отрыв графического сервера и композитора с эффектами даёт положительный эффект. Если в композиторе что то лагает, то в окне - совсем не обязательно. А в том же гноме видео в плеере встаёт пока не подгрузится/отрисуется/завершится какой нибудь эффект. Например просто тупо открытие менюшки из трея - в том же гноме, но на Х11 нету.

З.Ы. Собственно в КДЕ тоже не нормально, потому что у меня оно просто не стартует.

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

МАТЕ что без компо, что с picom (с unredirect) ни тиринга ни тормозов.

У меня тоже Mate, если вы не обратили внимание:

services.xserver.desktopManager.mate.enable = true;

Пробовал и без композитора, и с Marco, и с picom. Везде был тиринг.

Это, видимо, вам так повезло или мне не повезло.

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

Compiz 0.9 — плюсовая убунтовская ветка на Launchpad, а Compiz Reloaded 0.8 — продолжение оригинального сишного Compiz'а от проекта Compiz Reloaded на GitLab.

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