четверг, 1 августа 2024 г.

Nvidia 650 kernel-open vs steam .

Steam и NVIDIA drivers 650.

Открытые nvidia модули доступны с 2022 года, скоро будут "по умолчанию". В Gentoo для компилияции открытых модулей есть USE флаг kernel-open (подробнее см вики).

$ cat /proc/driver/nvidia/version

NVRM version: NVIDIA UNIX Open Kernel Module for x86_64  560.28.03  Release Build  (portage@localhost)  Wed Jul 31 10:48:51 AM MSK 2024
GCC version:  gcc version 14.1.1 20240720 (Gentoo 14.1.1_p20240720 p4) 

Все что будет ниже справедливо для KDE-6 сессии wayland.

Запуск сессии exec dbus-launch --exit-with-session startplasma-wayland

"важные" переменные (у меня определены .bash_profile) но разумнее использовать $HOME/.config/plasma-workspace/env/


# fix: kwin_wayland_drm: atomic commit failed: Invalid argument
export WLR_DRM_NO_ATOMIC=1

#bug: QT_QPA_PLATFORMTHEME not set: transparency performance issues (disable 560)
#export QT_QPA_PLATFORMTHEME=qt6ct

# High DPI Support in Qt
export QT_AUTO_SCREEN_SCALE_FACTOR=1
export QT_QPA_PLATFORM=wayland

export XDG_CURRENT_DESKTOP=KDE
export XDG_SESSION_DESKTOP=KDE
export XDG_BACKEND=wayland


#kwin:  Q подтормаживает;  O2ES - нет курсора? wtf.
export KWIN_COMPOSE=O2

#VSYNC DISABLE
export KWIN_X11_NO_SYNC_TO_VBLANK=1
export KWIN_X11_FORCE_SOFTWARE_VSYNC=1

# https://community.kde.org/KWin/Environment_Variables#KWIN_USE_BUFFER_AGE
# export KWIN_USE_BUFFER_AGE=0

# nVidia Explicit Sync с 555 .
export KWIN_EXPLICIT_SYNC=1

#gsync
export __GL_GSYNC_ALLOWED=0
#gsync flipping
export __GL_VRR_ALLOWED=0



#EAC for apex:
export SDL_VIDEODRIVER='wayland,x11,windows'

так же должны быть созданы и определены XDG_CACHE_HOME XDG_RUNTIME_DIR XDG_RUNTIME_DIR

специфичные nvidia настройки.

в /etc/modprobe.d/nvidia.conf

  • options nvidia-drm modeset=1
  • options nvidia-drm fbdev=1
  • blacklist nouveau

зависимости:

  • DRM KMS must be enabled (см вики).
  • Xwayland с c468d34c коммита.
  • libxcb => 1.13
  • egl-wayland => 1.1.7

подробнее тут

$ bzcat /usr/share/doc/nvidia-drivers-560.28.03-r3/README.txt.bz2


steam

С чем столкнулся:

GLib-GIO-WARNING **: Can't find module 'dconf' specified in GSETTINGS_BACKEND

см багрепотр

решение: GSETTINGS_BACKEND=keyfile steam

Если игре нужен ЕАС, то помимо переменной SDL_VIDEODRIVER='wayland,x11,windows' нужно пересобрать sys-libs/glibc-2.40 c USE-флагом hash-sysv-compat

В 560 игра не запускается (хотя без проблем работала в 555, правда без открытых модулей).

Можно "запустить" с PROTON_USE_WINED3D=1 %command% будет хорошее слайдшоу и беда с текстурами


В итоге запускает в gamescope все без проблем работает.

Ещё потребуются:

  • games-util/gamemode
  • gui-wm/gamescope

launch options:

gamemoderun gamescope -W 1920 -H 1080 -r 144 --fullscreen --force-grab-cursor --grab --steam %command%

Если нужно несколько языков в чате то еще придется добавить примерно такое (у меня по клавише L-super) XKB_DEFAULT_LAYOUT=us,ru XKB_DEFAULT_OPTIONS=grp:lwin_toggle

для других вариантов: grep grp /usr/share/X11/xkb/rules/evdev.lst