LINUX.ORG.RU

Проблема с i3 Xorg на Arch

 , ,


0

1

Добрый день, поставил Arch на ноутбук, решил попробовать тайловый оконный менеджер. Поставил командой:

sudo pacman -S i3lock i3status i3-wn nvidia xorg-server xorg-xinit
Предлагается выбор между libglvnd и nvidia-340xx-utils. Выбрал по умолчанию первый. Перезагрузил систему, проверил командой:
lspci -k | grep -A 2 -E "3D|VGA"
Kernel driver in use: nvidia
Следовательно дрова встали. Создал в корневой папке .xinitrc со следующим содержимым:
exec i3
Запускаю startx окно повисает и ничего не происходит. В чем может быть проблема?

.xinitrc надо не созавать, а копировать

# cp /etc/X11/xinit/xinitrc ~/.xinitrc
после чего закомментировать 5 строк снизу и добавить строку exec i3

выбор между libglvnd и nvidia-340xx-utils

это не то что ты думаешь - дровишки ставятся отдельно, полезная ссылка https://sites.google.com/site/amdamdsoft/Home/arch-i3-cut

amd_amd ★★★ ()

Пробовал переустановить и выбрать nvidia-340xx-utils, выдало

warning removing nvidia-utils from target list because it conflicts with nvidia-340xx-utils
error failed to prepare transaction (could not satisfy dependencies)
unable to satisfy dependency nvidia-utils=418.56 required by nvidia

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

поставил xf86-video-nouveau, lib32-nouveau-dri не нашел, копировал конфиг, закомментил, добавил, запустил через sudo. Вылезло:

arch linux waiting for xserver to shut down (ii) server terminated successfully (0). closing log file.erm: command not foundxinit: connection to X server lostc: line 52 xclock: command not found /etc/X11/xinit/xinitrc: line 53: xterm
Он проигнорировал копированный получается конфиг

ReiB0T ()

У меня уже скорее всего конфликт проприетарного драйвера nVidia и открытого. И nvidia-utils и nvidia и xf86-video-nouveau стоит. Мне по идее нужен проприетарный, но у него проблема с переключением с видеокарты Intel на NVIDIA и обратно. Может быть нужно еще xf86-video-intel ставить?

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

Сказал бы сразу, что у тебя гибридная графика.

pacman -Rscn xf86-video-nouveau

pacman -S xf86-video-intel intel-ucode nvidia nvidia-utils nvidia-settings cuda bbswitch libva-vdpau-driver libva-intel-driver vulkan
yay -S nvidia-xrun

touch ${HOME}/.nvidia-xinitrc
echo "exec i3" > ${HOME}/.nvidia-xinitrc
echo "export VK_ICD_FILENAME=/usr/share/vulkan/icd.d/nvidia_icd.json" >> ${HOME}/.nvidia-xinitrc

Про intel-ucode

На другом TTY (ctrl+alt+F1) авторизируешься и запускаешь nvidia-xrun если нужно запустить, что-то на нвиде.

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

ну нифига себе, ну ты и советчик! У меня 1050Ti c бамблби (проприетарный нвидиа+интел) и всего этого говна нету. Я с цифры аж прифигел...

% yay -S vulkan-icd-loader vulkan-intel vulkan-headers vulkan-validation-layers vulkan-tools xf86-video-intel intel-ucode nvidia nvidia-utils nvidia-settings cuda bbswitch libva-vdpau-driver libva-intel-driver nvidia-xrun
[sudo] пароль для fehhner: 
предупреждение: vulkan-icd-loader-1.1.101-1 не устарел -- переустанавливается
предупреждение: vulkan-headers-1:1.1.102-2 не устарел -- переустанавливается
предупреждение: xf86-video-intel-1:2.99.917+863+g6afed33b-1 не устарел -- переустанавливается
предупреждение: nvidia-418.56-6 не устарел -- переустанавливается
предупреждение: nvidia-utils-418.56-1 не устарел -- переустанавливается
предупреждение: bbswitch-0.8-209 не устарел -- переустанавливается
предупреждение: libva-vdpau-driver-0.7.4-4 не устарел -- переустанавливается
разрешение зависимостей...
проверка конфликтов...

Пакеты (15) libxnvctrl-418.56-1  bbswitch-0.8-209  cuda-10.1.105-6  intel-ucode-20190312-1  libva-intel-driver-2.3.0-2  libva-vdpau-driver-0.7.4-4  nvidia-418.56-6  nvidia-settings-418.56-1  nvidia-utils-418.56-1
            vulkan-headers-1:1.1.102-2  vulkan-icd-loader-1.1.101-1  vulkan-intel-19.0.1-2  vulkan-tools-1.1.102-1  vulkan-validation-layers-1.1.100-2  xf86-video-intel-1:2.99.917+863+g6afed33b-1

Будет загружено:  1476,07 MiB
Будет установлено:  3971,61 MiB
Изменение размера:  3755,93 MiB

:: Приступить к установке? [Y/n] 
А ТСу явно читать и устанавливать по шагам: https://wiki.archlinux.org/index.php/Bumblebee_(Русский)
На форуме ещё тема где-то была хорошая, пусть поищет.

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

Все сделал как сказали, но не запускается графика.

unloading nvidia_drm module
unloading nvidia_modeset module
unloading nvidia module
Turning off nvidia GPU
tee: /proc/acpi/bbswitch: No such file or directory
OFF
Current state of nvidia GPU: cat: /proc/acpi/bbswitch: No such file or directory

ReiB0T ()
Ответ на: комментарий от ReiB0T
sudo modprobe bbswitch

## Автодобавление модуля
sudo touch /etc/modprobe.d/bbswitch.conf
sudo echo "options bbswitch load_state=0 unload_state=1" > /etc/modprobe.d/bbswitch.conf

sudo touch /etc/modules-load.d/bbswitch.conf
sudo echo "bbswitch" > /etc/modules-load.d/bbswitch.conf 
flappyright ()
Последнее исправление: flappyright (всего исправлений: 1)
Ответ на: комментарий от flappyright

P.S советовать шмеля, та ну, перестань.

А как быть с гибридной графикой? У меня тоже мобильная версия видеокарты и есть особенность. В обычном состоянии работает интел и ноут идеально тихий, а как только переключаюсь на нвидиа - кулер начинает крутиться как оголтелый. Но я не замечаю, т.к. использую почти только в играх.

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

В вики написано, что он умеет только в отдельную сессию иксов, но производительность выше, чем у шмеля. Я всё равно стим думаю запускать от отдельного пользователя на отдельном tty теперь в своей сессии (как и виртуалки отдельно). А как обстоит дело с подключением hdmi монитора? На шмеле это настроить - настоящая боль в заднице.

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

В вики написано, что он умеет только в отдельную сессию иксов

Да, только в отдельной сессии. Но можешь например в .nvidia-xinitrc написать exec openbox, и настроить себе чисто «геймерский» openbox. Или тот же i3 c другим конфигом. По мне так даже лучше.

Я всё равно стим думаю запускать от отдельного пользователя на отдельном tty

Nvidia-xrun может пускать приложения сразу, без WM. Но к сожалению steam (Big Picture вроде как работает, только падает иногда) в этом плане не работает. Можно извратиться и поставить steamwn, но я не заморачивался, тем более я не только стим на невидии использую.

А как обстоит дело с подключением hdmi монитора?

Все из коробки (xrandr \ arandr), можешь использовать мой вариант через dmenu.

flappyright ()
Ответ на: комментарий от fehhner
предупреждение: vulkan-icd-loader-1.1.101-1 не устарел -- переустанавливается
предупреждение: vulkan-headers-1:1.1.102-2 не устарел -- переустанавливается
предупреждение: xf86-video-intel-1:2.99.917+863+g6afed33b-1 не устарел -- переустанавливается
предупреждение: nvidia-418.56-6 не устарел -- переустанавливается
предупреждение: nvidia-utils-418.56-1 не устарел -- переустанавливается
предупреждение: bbswitch-0.8-209 не устарел -- переустанавливается
предупреждение: libva-vdpau-driver-0.7.4-4 не устарел -- переустанавливается

7 пакетов у тебя уже есть.

vulkan-intel vulkan-validation-layers vulkan-tools

нормальная работа vulkan

nvidia-settings

Разгон, профили и т.д

cuda

Приславутый пакет на 1.4гб, который тебя пугает. После установки занимает тем самых 4гб. Можешь не ставить, но у твоей карты есть эта функция, глупо не использовать.

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

Но можешь например в .nvidia-xinitrc написать exec openbox, и настроить себе чисто «геймерский» openbox.

У меня для виртуалки так и сделано, чтобы на отдельном тту запускалась. В фуллскрин не хотела без ВМ, не долго думая опенбокс и поставил (ибо весит 1Мб). Можно прямо в xinitrc несколько сессий прописать по аналогии с этим. Но заметил проблему, на второй сессии иксов у меня иногда CPU #5 freezed for n seconds, когда сижу на основной. И на виртуалке все приложения засыпают (например, если браузер что-то грузил, то он на этом моменте и висит на паузе, пока не перключусь обратно). А на основной сессии иногда плазма начинает падать (или даже sddm чаще), хотя без второй сессии она уже год не падала у меня. Пока лень разбираться с этим было.

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

nvidia-xrun не конфиктит с шмелем. Можешь просто установить с аура пакет, замодпробить bbswitch и запустить, сравнить производительность.

Если виртуалка на невидии, то на nvidia-xrun таких проблем нету.

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

Если виртуалка на невидии, то на nvidia-xrun таких проблем нету.

На интеле родном виртуалка.

nvidia-xrun не конфиктит с шмелем. Можешь просто установить с аура пакет, замодпробить bbswitch и запустить, сравнить производительность.

Да придётся место освобождать. У меня система на ssd 256Гиг и он почти забит, а большая часть хомяка симлинками к гибриднику на 1Тб прибита. Весь не стал переносить, чтобы конфиги быстро грузились. Надо посмотреть, что я там нахламил опять.

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

Опять ты к cuda прицепился :D Это опциональная зависимость, можешь не ставить)

 ~ :s pacman -S xf86-video-intel nvidia nvidia-utils nvidia-settings libva-vdpau-driver libva-intel-driver vulkan-headers vulkan-tools vulkan-validation-layers vulkan-icd-loader vulkan-intel
[sudo] пароль для flappy: 
предупреждение: xf86-video-intel-1:2.99.917+863+g6afed33b-1 не устарел -- переустанавливается
предупреждение: nvidia-418.56-6 не устарел -- переустанавливается
предупреждение: nvidia-utils-418.56-1 не устарел -- переустанавливается
предупреждение: nvidia-settings-418.56-1 не устарел -- переустанавливается
предупреждение: libva-vdpau-driver-0.7.4-4 не устарел -- переустанавливается
предупреждение: libva-intel-driver-2.3.0-2 не устарел -- переустанавливается
предупреждение: vulkan-headers-1:1.1.102-2 не устарел -- переустанавливается
предупреждение: vulkan-tools-1.1.102-1 не устарел -- переустанавливается
предупреждение: vulkan-validation-layers-1.1.100-2 не устарел -- переустанавливается
предупреждение: vulkan-icd-loader-1.1.101-1 не устарел -- переустанавливается
предупреждение: vulkan-intel-19.0.1-2 не устарел -- переустанавливается
разрешение зависимостей...
проверка конфликтов...

Пакеты (11) libva-intel-driver-2.3.0-2  libva-vdpau-driver-0.7.4-4  nvidia-418.56-6  nvidia-settings-418.56-1
            nvidia-utils-418.56-1  vulkan-headers-1:1.1.102-2  vulkan-icd-loader-1.1.101-1  vulkan-intel-19.0.1-2
            vulkan-tools-1.1.102-1  vulkan-validation-layers-1.1.100-2
            xf86-video-intel-1:2.99.917+863+g6afed33b-1

Будет установлено:  255,93 MiB
Изменение размера:    0,00 MiB

:: Приступить к установке? [Y/n] 
Название             : nvidia-xrun
Версия               : 0.3-0
Описание             : Script to run dedicated X server with discrete nvidia graphics
Архитектура          : x86_64
URL                  : https://github.com/Witko/nvidia-xrun
Лицензии             : GPL
Группы               : Нет
Предоставляет        : Нет
Зависит от           : xorg-server  xorg-xinit  xorg-xrandr  nvidia  mesa-libgl  bbswitch
Доп. зависимости     : Нет
Требуется            : Нет
Опционально для      : Нет
Конфликтует с        : Нет
Заменяет             : Нет
Установленный размер : 5,00 KiB
Сборщик              : Unknown Packager
Дата сборки          : Вс 07 апр 2019 20:47:42
Дата установки       : Вс 07 апр 2019 20:47:44
Причина установки    : Явно установлен
Установочный скрипт  : No
Проверен             : Нет
flappyright ()
Последнее исправление: flappyright (всего исправлений: 1)
Ответ на: комментарий от flappyright

40Мб доставил. Насчёт этой куды, у меня сомнения

The kernel module and CUDA «driver» library are shipped in nvidia and opencl-nvidia. The «runtime» library and the rest of the CUDA toolkit are available in cuda.

Я как понимаю, сам одноимённый пакет для разработки только нужен и кучу сорцов и примеров тянет:

Development
The cuda package installs all components in the directory /opt/cuda. For compiling CUDA code, add /opt/cuda/include to your include path in the compiler instructions. For example this can be accomplished by adding -I/opt/cuda/include to the compiler flags/options. To use nvcc, a gcc wrapper provided by NVIDIA, just add /opt/cuda/bin to your path.

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

Не совсем могу понять формулировку. Модуль ядра и драйвер Cuda идут в пакетах, а в том монстре весь тулкит с примерами для сборки и runtime библиотека. Не нагуглил ничего на этот счёт.

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

Сделал откат к чистой системе, установил:

pacman -S xf86-video-intel intel-ucode nvidia nvidia-utils nvidia-settings cuda bbswitch libva-vdpau-driver libva-intel-driver xorg-server xorg-xinit
cuda не стал ставить. Поставил yay:
pacman -S git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Поставил nvidia-xrun. Параметры при установки по умолчанию.
yay -S nvidia-xrun
Выполнил:
touch ${HOME}/.nvidia-xinitrc
echo "exec i3" > ${HOME}/.nvidia-xinitrc
echo "export VK_ICD_FILENAME=/usr/share/vulkan/icd.d/nvidia_icd.json" >> ${HOME}/.nvidia-xinitrc

Запускаю

sudo startx
Ошибка:
waiting for X server to shut down (II) Server terminated successfully (0). Closing log file.X server lostc: line 52 xclock: command not found/etc/X11/xinit/xinitrc: line 53: xterm: command not found/etc/X11/xinit/xinitrc: line 55: exec:

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

Перезагрузился повторил

sudo startx
(II)modeset(G0) Initializing kms color map for depth 24, 8 bpc
The XKEYBOARD keymap compiler (xkbcomp) reports:
Warning Unsupported high keycode 372 for name <I372> ignored
X11 cannot support keycodes above 255
This warning only shows for first hight keycode
Internal error: Could not resolve keysym XF86MonBrightnessCycle
Errors for xkbcomp are fatal to the X server
Failed to connect to bus: No such file or directory
dbus-update-activation-enviroment:error: unable to connect to D-Bus: Server adress of type unix was missing argument path or abstract
/etc/X11/xinit/xinitrc: line 53 xterm command not found
/etc/X11/xinit/xinitrc: line 51 xwm command not found
/etc/X11/xinit/xinitrc: line 55 exec: xterm not found
/etc/X11/xinit/xinitrc: line 52 xclock command not found
xinit:connection to X server lost
waiting for X server to shut down (II) Server terminated successfully (0) Closing log file

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

Отредактируй .nvidia-xinitrc , закомментируй вконце ненужные строки с запуском разных xterm. Добавь вконце «exec i3». Попробуй ещё раз, в случае неудачи смотри /var/log/Xorg.n.log

fehhner ★★★★★ ()
Ответ на: комментарий от ReiB0T
sudo rm -rf /usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf

И запускаешь не sudo startx, а nvidia-xrun.

startx - запуск окружения на интеграшке. И почему не используешь DM какой-то, например Slim?

Кстати, не используй права рута для запуска иксов, не камильфо это.

flappyright ()
Последнее исправление: flappyright (всего исправлений: 1)
Ответ на: комментарий от ReiB0T
/etc/X11/xinit/xinitrc: line 53 xterm command not found
/etc/X11/xinit/xinitrc: line 51 xwm command not found
/etc/X11/xinit/xinitrc: line 55 exec: xterm not found
/etc/X11/xinit/xinitrc: line 52 xclock command not found

Вот это странно. Посмотри есть ли у тебя домашнем каталоге пользователя файл .nvidia-xinitrc

UPD: а блин, ничего странного, ты ведь от рута пустил, вот он и дефолтный конфиг использовал.

cat ~/.nvidia-xinitrc

## i3
exec i3
## Support Vulkan
export VK_ICD_FILENAME=/usr/share/vulkan/icd.d/nvidia_icd.json

cat ~/.xinitrc

## i3
exec i3
flappyright ()
Последнее исправление: flappyright (всего исправлений: 2)
Ответ на: комментарий от flappyright

nvidia-xrun не конфиктит с шмелем.

Потестил. Ну может и есть в нём смысл.
Unigine Heaven Benchmark 4.0
primusrun:

  • FPS: 29.6
  • Score: 746
  • Min FPS: 7.5
  • Max FPS: 43.7

nvidia-xrun:

  • FPS: 34.0
  • Score: 857
  • Min FPS: 7.5
  • Max FPS: 72.8

Как видно, прирост в 111 очков скора. Но надо понимать, что не всем удобно держать отдельную сессию, которая пускается именно под нвидия. Нужно и обычную под интел оставить.

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

Все как оказалось проще, я забыл установить i3-wm. Установил, запустил nvidia-xrun, все заработало, правда мелковато, но скорее всего это по дефолту, теперь буду ставить slim. Спасибо всем за помощь.

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

Советую оставить обычную сессию startx, без nvidia-xrun. Сделай по аналогии с ~/.nvidia-xinitrc обычный ~/.xinitrc. Чтобы запускалось на интеграшке интел, экономило ресурс батареи и видеокарты.
А ту оставишь для стима и иже с ними, где производительность видео надо.

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

Ну немного - согласен, но все же прирост есть. Ощутимо именно не в бенчмарке, а наживо.

Я не всегда использую софт который требует nvidia. Когда нужно, сессию на интел вообще не держу.

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

Ну немного - согласен, но все же прирост есть. Ощутимо именно не в бенчмарке, а наживо.

Особенно заметно при изменении настройки в nvidia-settings на Agressive. Тест был на ультра настройках в FullHd. После смены с auto, нигде не стало проседаний до 20фпс (я не сохранил новый отчёт). А на примусе остались. Прирост есть нормальный.

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

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

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

Так, а что там гуглить. В конфиг /etc/X11/nvidia-xorg.conf:

Section "Screen"
  Identifier "nvidia"
  Device "nvidia"
#  Option "AllowEmptyInitialConfiguration" "Yes"
#  Option "UseDisplayDevice" "none"

# Добавить ↓↓↓
   Option "Coolbits" "8"
EndSection

В nvidia-settings, вкладка PowerMizer

Ещё нет монитора под рукой, интересно, при включенном hdmi и переключении на tty1 с обычной сессией, как себя поведёт - вырубит его, наверное.

Так же, как и на интеграшке. Ничего не «вырубит».

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