------

<img src="https://github.com/NorthernBlow/myArch/blob/main/wallpapers/waves.png" alt="image-20220821044912975"  />
<details>

> Отредактировать файл /etc/resolv.conf
>
> 
> nameserver 8.8.4.4
> nameserver 8.8.8.8
> NetworkManager какого то перепуга генерирует там дичь, которая тормозит мне интернет. с гугловскими айпишниками все работает
>
> chattr +i /etc/resolv.conf
> </details>

## Таймеры

<details>
`sudo shutdown -h 50` отключение через 50 минут
`sudo shutdown -h 15:30`  отключение в определенное время
`sudo shutdown -c` - для отключения таймера
</details>

## Часто используемые

<details>
`smartctl -s on -a /dev/sdxy`
`systemctl disable` удаляет из автозагрузки
`systemd-analyze` выводит скорость загрузки системы
`systemd-analyze blame` выводит скорость загрузки служб
`ctrl + e` в конец строки в терминале
`ctrl + a` - в начало строки
`journalctl`   показывает журнал работы системы
`journalctl -b -1`   за предыдущую сессию 
`journactl -b -2`  за две предыдущих сессии
`makepkg -sir`  скомпилировать файл из репозитория, установить зависимости и удалить их после установки
`lspci -k`  выводит список установленных драйверов переферии
`pacman -Qdtq`  список независимостей
создать директорию .compose_cache в ~/home/user/
</details>

## Установка драйверов AMD

<details>
В ядре два свободных драйвера: radeon для старых видеокарт AMD, и  amdgpu для новых карт AMD. Ядро, учитывая модель видеокарты,  автоматически подгружает и использует нужный драйвер.
Mesa, используя ядерный драйвер, релизует в юзерспейсе OpenGL (radeonsi) и Vulkan (radv).
Помимо реализации Vulkan, встроенной в Mesa, есть еще сторонняя свободная реализация от AMD - называется [AMDVLK](https://github.com/GPUOpen-Drivers/AMDVLK). Могу сказать, что производительность AMDVLK и RADV примерно идентична,  так что какого-то особо смысла использовать AMDVLK вместо RADV нет. Но  при желании можно установить AMDVLK рядом с Mesa и использовать при  необходимости.
Проприетарный драйвер AMDGPU-PRO содержит собственную реализацию  OpenGL и Vulkan (которая, думаю, примерно идентична AMDVLK). Также он  содержит OpenCL. AMDGPU-PRO так же, как и Mesa, использует ядерный  драйвер.
Как начать пользоваться amdgpu, имея достаточно свежую видеокарту?  Достаточно установить свежее ядро, свежие прошивки (linux-firmware) и  свежую Mesa и все будет работать. В дистрибутивах это, как правило, уже  установлено из коробки.
По факту, реализации Vulkan всего две: RADV и AMDVLK. RADV+ACO - это  тот же RADV, только в качестве компилятора шейдеров используется ACO  (новый, более быстрый бэкенд) вместо LLVM. Реализации OpenGL тоже две:  RadeonSI и проприетарная реализация из AMDGPU-PRO. В Mesa есть еще  реализации OpenGL для старых карт (r300, r600…), но их можно не  учитывать, если речь не о древних видеокартах.

##### Путь для конфигурации драйверов /etc/modprobe.d/

создать файлы конфигурации: 

```
/etc/modprobe.d/amdgpu.conf
options amdgpu si_support=1
options amdgpu cik_support=1
```

```
/etc/modprobe.d/radeon.conf
options radeon si_support=0
options radeon cik_support=0
```

regenerate the initramfs: `mkinitcpio -p linux`

To (re-)generate all existing presets, use the `-P`/`--allpresets` switch. This is typically used to regenerate all the initramfs images after a change of the global [#Configuration](https://wiki.archlinux.org/title/Mkinitcpio#Configuration): mkinitcpio -P

`sudo pacman -S vulkan-tools`

проверить вулкан - `vulkaninfo`

`sudo pacman -S vulkan-radeon lib32-vulkan-radeon`

```
glxinfo | grep -i opengl
clinfo | grep -i opencl
```

проверить, работает ли OpenGL и OpenCL c Mesa

`xrandr` - показывает состояние иксов
</details>

### Звук

<details>
**pipewire** и все его компоненты. альтернатива - **pulseaudio**, но она не нужна
Свежий **libSDL** уже умеет напрямую играть в pipewire
**pipewire-pulse** — позволяет серверу pipewire изображать из себя сервер pulseaudio для приложений не умеющих в pipewire напрямую (т.е.  практически для всех, так как единственная умеющая в pipewire напрямую блиотека— libSDL2 (не точно).
**pipewire-alsa** — позволяет старым унаследованным приложениям, написанным до pulseaudio и умеющим играть только напрямую в alsa играть в pipewire, думая что это  alsa. Это т.н. «обманка» для старого софта, притворяющаяся  интерфейсом звуковой карты и скрытно перенаправляющая звук в pipewire.  Pipewire не отменяет и не заменяет ALSA, это разные вещи. ALSA это «драйвер» звуковой карты, а pipewire работающий поверх него  звуковой сервер).
**pipewire-jack** — позволяет серверу pipewire  изображать из себя сервер jack для клиентов умеющих в jack. Это штука  для профессионального звука и музыкантов, если ты не знаешь что такое  jack и зачем он конкретно тебе нужен — он тебе не нужен, можешь удалить.
**wireplumber** — сервис (сервер, демон) непосредственно переключающий и управляющий  потоками звука и видео через pipewire, отвечает за всю автоматику.
</details>

#### wlan0:

<details>
`ip link` -посмотреть поднят ли сетевой интерфейс.

`ip link set up` - поднять нужное. 

https://github.com/morrownr/8821au-20210708 - свежие свободные дрова для tp link T2U plus с **rtl8821au** на борту.

`lsusb` - список подключенных юсб устройств.
</details>

### Arch linux install

cfdisk dos /dev/sda4  
mkfs.ext4 /dev/sda4  
mount /dev/sda1/mnt  
  
pacstrap /mnt base linux linux-firmware  
genfstab -U /mnt >> /mnt/etc/fstab  
arch-chroot /mnt  
  
pacman -S grub nano sudo dhcpcd os-prober ntfs-3g  

/etc/locale.gen en_US.UTF-8 UTF-8  
locale-gen  
localectl set-locale ru_RU.UTF-8  

grub-install /dev/sda  
grub-mkconfig -o /boot/grub/grub.cfg  
  
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime  
hwclock --systohc  

passwd  
useradd -m -g users -G wheel -s /bin/bash username  
passwd username  
EDITOR=micro visudo user ALL=(ALL) ALL  
  
systemctl enable dhcpcd  
