Учебники (How-To & F.A.Q)

Nvidia Prime Render Offload. Замена Bumblebee.

Тихо и без лишнего шума Nvidia запустила нативную поддержку Prime Render Offload для своих видеокарт, работающих в связке со встроенными видеокартами Intel на лэптопах. Это дает возможность владельцам лэптопов выводить графику через видеокарту Intel, а там, где это необходимо, через карту Nvidia. Также данная штука имеет более высокую производительность, по сравнению с полюбившимся многим Bumblebee.
Ниже инструкция о том, как настроить систему для ее использования. Сразу оговорюсь, что буду считать, что система только что установлена и вы не нуждаетесь в удалении предыдущих конфигураций Xorg, Bumblebee и прочего. Также статья является вольным переложением статьи из арчвики с некоторыми дополнениями, применимыми к Manjaro.
На данный момент с данным методом невозможно использовать второй монитор через HDMI, официальный ответ разрабов нвидиа тык, так что подумайте нужно это вам или нет.
1) Ставим драйвера с помощью стандартной утилиты манджаро по этой инструкции.
2) Удаляем конфиг, который создала утилита манджарки:
sudo rm /etc/X11/xorg.conf.d/90-mhwd.conf 

3) Создаем новый конфиг nvidia.conf
sudo nano /etc/X11/xorg.conf.d/nvidia.conf

nvidia.conf
Section "ServerLayout"
  Identifier     "Layout0"
    Option         "AllowNVIDIAGPUScreens"
    Screen      0  "iGPU" 0 0
EndSection
Section "Device"
    Identifier     "iGPU"
    Driver         "modesetting"
    BusID          "PCI:0:2:0" #Проверьте BusID
EndSection
Section "Device"
    Identifier     "dGPU"
    Driver         "nvidia"
    BusID          "PCI:1:0:0" #Проверьте BusID
EndSection
Section "Screen"
    Identifier     "iGPU"
    Device         "iGPU"
    DefaultDepth    24
    SubSection     "Display"
    Viewport    0 0
    EndSubSection
EndSection
Section "OutputClass"
    Identifier "iGPU"
    MatchDriver "i915"
    Driver "modesetting"
EndSection
Section "OutputClass"
    Identifier "dGPU"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "PrimaryGPU" "yes"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection

Section "ServerFlags"
    Option         "IgnoreABI" "1"
EndSection


*самая нижняя секция рекомендуется при возникновении проблем при входе. Но на моей Nvidia GeForce 1060 проблема была, поэтому вставил на всякий случай. Если что, закомментируете.
4) Удаляем остатки конфигов, созданных утилитой mhwd (мы ей драйвер если что устанавливали)
ls /etc/modprobe.d/mhwd*

смотрим на вывод предыдущей команды и удаляем все, что связано с nvidia и gpu
Пример! файлов для удаления
sudo rm /etc/modprobe.d/mhwd-gpu.conf
sudo rm /etc/modprobe.d/mhwd-nvidia.conf

5) Перезагружаемся
6) Проверяем, что загрузились оба модуля видеокарт
xrandr --listproviders

должно быть примерно так:
Providers: number: 2
Provider 0: id: 0x29d cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 2 associated providers: 0 name:modesetting
Provider 1: id: 0x278 cap: 0x0 crtcs: 0 outputs: 0 associated providers: 0 name:NVIDIA-G0

7) Пример запуска Firefox на видеокарте Nvidia
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME="nvidia" __VK_LAYER_NV_optimus="NVIDIA_only" firefox

В AUR репозитории также доступен пакет «prime», после установки которого громоздкое выражение можно сократить до простого
prime firefox

Ссылки по теме:

Арчвики
Официальная инструкция от Nvidia с примерами более тонкой настройки
Учебники (How-To & F.A.Q)

Как заставить работать видеодрайвер Nvidia на лэптопах с двумя видеокартами Intel+Nvidia

Здесь я приведу пример как можно заставить видеокарту Nvidia работать всегда.
Это всего лишь вольный перевод статьи, поэтому перед прочтением ознакомьтесь с оригиналом, а также с видео на ютьюб тут
Буду считать, что все действия производятся на только что установленной системе и удалять другие драйвера вам не нужно.
1) Ставим драйвер nvidia. Для этого не будем изобретать велосипед и воспользуемся статьёй тут
2) Удаляем конфиг, который создала утилита манджарки.
sudo rm /etc/X11/xorg.conf.d/90-mhwd.conf 

3) Создаем новый конфиг optimus.conf
sudo nano /etc/X11/xorg.conf.d/optimus.conf 

optimus.conf
Section "Module"
		Load "modesetting"
	EndSection

	Section "Device"
		Identifier "nvidia"
		Driver "nvidia"
		BusID "PCI:1:0:0"
		Option "AllowEmptyInitialConfiguration"
	EndSection 


4) Удаляем остатки файлов в директории /etc/modprobe.d/ от утилиты mhwd
ls /etc/modprobe.d/mhwd*

смотрим на вывод предыдущей команды и удаляем только файлы, которые имеют в своем имени nvidia или gpu
Пример! удаления файлов
sudo rm /etc/modprobe.d/mhwd-gpu.conf
sudo rm /etc/modprobe.d/mhwd-nvidia.conf

5) Создаем новый конфиг nvidia.conf:
sudo nano /etc/modprobe.d/nvidia.conf

nvidia.conf
blacklist nouveau
blacklist nvidiafb
blacklist rivafb

6) Включаем nvidia-drm.modesetting, создав файл:
sudo nano /etc/modprobe.d/nvidia-drm.conf

nvidia-drm.conf
options nvidia_drm modeset=1

7) Дальше действия зависят от вашего DE и менеджера входа.
LIGHTDM --------->8-10 -->15
GDM --------->11-12 -->15
SDDM --------->13

LIGHTDM

8) Создаете новый файл optimus.sh:
sudo nano /usr/local/bin/optimus.sh

optimus.sh
#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

9) Делаете файл исполняемым:
sudo chmod a+rx /usr/local/bin/optimus.sh

10) Находите секцию display-setup в конфиге lightdm.com
sudo nano /etc/lightdm/lightdm.conf

заменяете секцию display-setup на:
display-setup-script=/usr/local/bin/optimus.sh

GDM

11) Создаете новый файл optimus.desktop
sudo nano /usr/local/share/optimus.desktop

optimus.desktop
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c «xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto»
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer

12) Создаете линки к GDM login
sudo ln -s /usr/local/share/optimus.desktop /usr/share/gdm/greeter/autostart/optimus.desktop
sudo ln -s /usr/local/share/optimus.desktop /etc/xdg/autostart/optimus.desktop

SDDM

13) Создаете новый файл Xsetup
sudo nano /usr/share/sddm/scripts/Xsetup

Xsetup
#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

14) Делаете его выполняемым
sudo chmod a+rx /usr/share/sddm/scripts/Xsetup

Для всех

15) Перезагружаетесь.
16) После перезагрузки проверяете что выводит картинку:
glxinfo | grep -i vendor


PS. Способ проверен на лэптопе MSI GP72MVR 7RFX с Nvidia GTX 1060 + Intel HD 630 и установленной Manjaro KDE.
Учебники (How-To & F.A.Q)

Перенастройка кнопок мыши.

Здравствуйте.
Если кому будет интересно, ниже — способ перенастроить кнопки мыши.
Предыстория:
используя мышку в windows, привык, что две дополнительные боковые кнопки на ней осуществляют скроллинг страницы браузера firefox. Связано это было с плохой работой колеса — вот я и настроил их так в фирменном приложении мыши. Очень уж мне хотелось сделать также в Linux. Ниже — описание, как я это сделал (возможно кому-то будет полезным).

//ставим две утилиты xorg
sudo pacman -S xorg-xinput 
sudo pacman -S xorg-xev
//запускаем одну из них и прощелкиваем-прокручиваем все кнопки-колеса мыши, запоминаем цифры для каждой кнопки
xev | grep button
//смотрим список устройств ввода
xinput list
//находим нужное (в моем случае - 8) и на всякий случай смотрим для него список всех кнопок 
xinput get-button-map 8
//в моем случае вывод такой: 1 2 3 4 5 6 7 8 9
//меняем кнопки для устройства 8, заменив 8 и 9 на 5 и 4 соответственно
xinput set-button-map 8 1 2 3 4 5 6 7 5 4
//заводим эту команду в автозагрузку системы, создав файл mouse.desktop приблизительно такого содержания:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=mouse
Exec=xinput set-button-map 8 1 2 3 4 5 6 7 5 4
StartupNotify=false
Terminal=false
Hidden=false
//закидываем этот файлик в папку: /home/usename/.config/autostart
//ставим атрибуты на выполнение (правый щелчок мыши по файлу и свойства).

Все работает, теперь боковые кнопки мыши делают то же, что и колесо мыши — их нажатие приводит к скроллингу страницы браузера например.
Буду рад услышать комментарии или более простые пути реализации задачи. Не судите строго — мои познания далеки от ПРО-уровня)
Учебники (How-To & F.A.Q)

Решение проблемы со значками для тёмных тем (отсутсвие, тёмное на тёмном) [KDE]

Если вы используете тёмный вариант оформления KDE и не дефолтный набор значков, возможно некоторые из иконок(кнопок) стали плохо читаемыми на тёмном фоне либо вообще отсутствуют. Это можно исправить, установив альтернативный (резервный) вариант значков для тёмной темы. Для этого просто в директории с вашим набором иконок =>
~/.local/share/icons/[ваш набор иконок]/

открываем файл index.theme и редактируем строку
Inherits=breeze-dark,Surfn,Numix

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

Если файла нет, то создаём его с похожим содержимым (редактируйте под ваш вариант):
[Icon Theme]
Name=Zafiro-icons-green
Comment=icon theme flat for gnome,xfce and lxde
Comment[es]=tema de iconos planos y sobrios.
Comment[zh_TW]=清醒和平面图标的主题
Inherits=breeze-dark,Surfn,Numix,Numix-Circle-Light,Numix-Circle,breeze,gnome,hicolor
Directories=apps/scalable/


Скриншоты до и после:
Скриншоты
Установлен набор Zafiro, применяется набор breeze как резервный:
Учебники (How-To & F.A.Q): Решение проблемы со значками для тёмных тем (отсутсвие, тёмное на тёмном) [KDE]
Установлен набор Zafiro, применяется набор breeze-dark как резервный:
Учебники (How-To & F.A.Q): nice


ЗЫ: Кстати, у набора Zafiro установленного из файла (архива), скачанного отдельно из store.kde, есть папка places/16-A со светлыми значками для тёмной темы, и чтобы она применилась, нужно в index.theme заменить соответствующие указания places/16
А дальше можно найти названия и расположение недостающих иконок из /usr/share/icons/breeze-dark/ и переименовать подходящие из основного набора, отредактировать(inkscape'ом например), сделать симлинк или вообще нарисовать свои.
Учебники (How-To & F.A.Q)

Установка пароля на XAMPP.

1. Заходим в phpMyAdmin.

2. Открываем вкладку «SQL» вставляем команду в окно UPDATE user SET Password=PASSWORD('Ваш пароль')WHERE User='root' и жмем «ВПЕРЕД»

3. Идем по пути opt/lampp/phpmyadmin/config.inc.php меняем конфиг.

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* phpMyAdmin sample configuration, you can use it as base for
* manual configuration. For easier setup you can use setup/
*
* All directives are explained in documentation in the doc/ folder
* or at <docs.phpmyadmin.net/>.
*
* @package PhpMyAdmin
*/

/**
* This is needed for cookie based authentication to encrypt password in
* cookie. Needs to be 32 chars long.
*/
$cfg['blowfish_secret'] = 'xampp(xampp — Заменяем на 25-ти значные символы)'; /* YOU SHOULD CHANGE THIS FOR A MORE SECURE COOKIE AUTH! */

/**
* Servers configuration
*/
$i = 0;

/**
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config (config — заменяем на cookie)';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'Ваш пароль';
/* Server parameters */
//$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true (true — заменяем на false);

4. Перезапускаем XAMPP.
Учебники (How-To & F.A.Q)

Установка XAMPP 7.3.3 на Linux Manjaro

1. Загрузить XAMPP 7.3.3:

wget -c www.apachefriends.org/xampp-files/7.3.3/xampp-linux-x64-7.3.3-0-installer.run

2. Установите разрешение:

sudo chmod +x xampp-linux-x64-7.3.3-0-installer.run

3. Запустите установку Xampp 7.3.3 от имени пользователя root:

./xampp-linux-x64-7.3.3-0-installer.run

4. Запуск Xampp:

sudo /opt/lampp/lampp start ## starts xampp server
sudo /opt/lampp/lampp stop ## stops xampp server
sudo /opt/lampp/lampp restart ## restarts xampp server
Учебники (How-To & F.A.Q)

Обновление Manjaro Linux через терминал.

Обновление операционной системы Manjaro через эмулятор терминала.

1. Поиск зеркал: (Серверов)

sudo pacman-mirrors -g

2. Обновление системы: (Полное обновление)

sudo pacman -Syyuu

3. Установка ключей: (////////)

sudo pacman-key --init
sudo pacman-key --populate archlinux manjaro
Учебники (How-To & F.A.Q)

Идентификация по отпечатку пальца

Здравствуйте, юзеры!

Уже пол-года сижу на манжаре, горя не знаю, но периодически возникает желание что-то эдакое запилить (создать рамдиск, подключить видюху и накатить стим, поиграться с настройками шрифтов чтобы в tty кириллица нормально отображалась, разобраться с ошибками в dmesg и т.д.).

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

Собственно что для этого нужно:
Библиотека fprint (sudo pacman -S fprint)

Ну и проверка, видит ли ваша система датчик:
lsusb

$ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 04f2:b3a6 Chicony Electronics Co., Ltd 
Bus 003 Device 004: ID 8087:07da Intel Corp. 
Bus 003 Device 003: ID 03f0:a407 HP, Inc Wireless Optical Comfort Mouse
Bus 003 Device 002: ID 1d57:fa60 Xenta 
Bus 003 Device 006: ID 138a:0050 Validity Sensors, Inc. Swipe Fingerprint Sensor
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

У меня он в списке предпоследний


Когда вы скачаете пакеты нужно будет обкатать пальчики с помощью команды fprintd-enroll. Так же с помощью опции -f можно указать другой палец (по дефолту правый указательный)
Пример

$ fprintd-enroll -f left-index-finger                                                                                         
Using device /net/reactivated/Fprint/Device/0
Enrolling left-index-finger finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed


Проверить корректность того что получилось можно с помощью команды fprintd-verfiry.

А теперь самое интересное)))

Нужно научить наш оконный менеджер смотреть на пальчики. У меня графика KDE и оконный менеджер sddm, поэтому я правлю файл
/etc/pam.d/sddm
Для гнома он по идее будет называться /etc/pam.d/gdm, но не проверял и могу ошибаться.

Файл до моего вмешательства:

#%PAM-1.0

auth		include		system-login
auth		optional	pam_kwallet5.so
account		include		system-login
password	include		system-login
session		include		system-login
session		optional	pam_kwallet5.so auto_start

И после

#%PAM-1.0

auth        sufficient    pam_unix.so nullok try_first_pass
auth        sufficient    pam_fprintd.so
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        include       system-login

account     required	  pam_unix.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account	    include	  system-login

password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    include	  system-login

session     optional	  pam_keyinit.so revoke
session     required	  pam_limits.so
session     required	  pam_unix.so
session	    include	  system-login


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

Вот ссылка на ресурс, где я брал инфу. Были и другие сайты, на которых советовали использовать fingerprint-gui, но у меня оно тупо не заработало. Всем добра!
Учебники (How-To & F.A.Q)

Установка и настройка nvidia-xrun

Решил написать свой первый гайд, сильно не пинайте.
Гайд написан для свежеустановленной manjaro с рабочим окружением KDE.
При установке manjaro выбираем проприетарные драйвера. Если система уже стоит, то устанавливаем проприетарные драйвера
sudo mhwd -i pci video-hybrid-intel-nvidia-bumblebee -f
или через mhwd. Читать дальше