Перейти до змісту
View in the app

A better way to browse. Learn more.

Файна Україна

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Налаштування Gentoo після встановлення: драйвери, USE-прапори

Рекомендовані відповіді

Опубліковано
  • Адміністратор

1. Налаштування прав адміністратора для користувача

Щоб не сидіти постійно через root користувача, треба поставити OpenDoas для нашого користувача, щоб ми могли виконувати команди від імені адміністратора. Так, ви можете також встановити і sudo, але якщо ми використовуємо Gentoo це само по собі передбачає, що ми "не такі як всі" і ставимо більш мінімалістичний doas замість sudo.

OpenDoas має підтримку "persist-mode". Цей режим дозволяє не вводити пароль щоразу при використанні утиліти та "персистує" наше право адміністратора на якийсь час. За замовчуванням в репозиторії doas не підтримує persist-mode, а тому треба задати локальний прапор USE, щоб користуватися було зручніше.

Щоб встановити USE-прапор для програми, створимо і відкриємо файл з прапорами в директорії /etc/portage/package.use/<ім'я-файлу>.

# vim /etc/portage/package.use/flags

Зазвичай кожної програми створюється окремий файл, у якому ми можемо прописати потрібні USE-прапори. Я ж прихильник створення одного великого файлу "flags", в якому будуть лежати всі необхідні нам USE-прапори. Так простіше керувати ними надалі і бекапит потрібно буде лише 1 файл для відновлення всіх кастомних прапорів в нових установках.

Пропишемо локальний USE-прапор "persist" для OpenDoas:

app-admin/doas persist

Збережемо зміни (у Vim це робиться через :wq) і запустимо установку:

# emerge -av app-admin/doas

Після компіляції дамо нашому користувачеві право на використання doas:

# vim /etc/doas.conf
....
permit persist <имя-пользователя>

Після цього можемо перелогінитись у нашу систему та перевірити працездатність програми через синхронізацію репозиторіїв:

$ doas emerge --sync

Якщо після введення пароля зафуричило, то добре - ми налаштували право адміністратора.

2. Встановлення драйвера на відеокарту

У моєму минулому матеріалі є невеликий недогляд, який я помітив лише під час підготовки цього. У процесі заповнення make.conf нам додатково потрібно прописати драйвер відеокарти, який буде використовуватися для всіх скомпільованих програм, що його вимагають. Щоб прописати драйвер, відкриємо файл /etc/portage/make.conf через будь-який зручний редактор. Пропишемо VIDEO_CARDS="" нижче за весь вміст і вкажемо наш драйвер.

....
VIDEO_CARDS="<драйвер вашей видеокарты>"

Драйвера під відеокарти бувають такі:

  1. Пропрієтарний NVIDIA - "nvidia"

  2. Вільний NVIDIA-драйвер - "nouveau"

  3. Вільні AMD-драйвера - "amdgpu radeonsi"

  4. Legacy-драйвера AMD - "radeon r * 00"

  5. Intel-графіка - "intel"

Якщо ви використовуєте віртуальні машини, прописуйте "virgl" для віртуальної графіки, відповідно.

Тепер підженемо наші пакети під зміни через команду:

$ doas emerge --ask --changed-use --deep @world

Після оновлення світу ми можемо ставити необхідні бібліотеки для драйверів.

Для AMD/Intel все просто – встановимо Mesa:

$ doas emerge -av media-libs/mesa

Для карток від Nvidia встановимо x11-drivers/nvidia-drivers:

$ doas emerge -av x11-drivers/nvidia-drivers

Для більш коректної роботи раджу прописати такі прапори під зелені дрова:

/etc/portage/package.use/flags
....
x11-drivers/nvidia-drivers +X +modules

Далі встановиться все необхідне і наші драйвери будуть готові до роботи.

3. Встановлення X11 та DE/WM

Після встановлення драйверів нам потрібно накотити графіку. Для початку встановимо X11 в нашу Gentoo:

$ doas emerge -av x11-base/xorg-server x11-base/xorg-drivers

Після успішного складання X11 нам потрібно вибрати собі DE/WM. Для GNOME і KDE раджу ще на етапі установки вибрати однойменний профіль через eselect profile set, щоб менше возитися після встановлення базової системи.

GNOME

$ doas emerge -av gnome-base/gnome

KDE Plasma

$ doas emerge -av kde-plasma/plasma-meta

Xfce

$ doas emerge -av xfce-base/xfce4-meta

MATE

$ doas emerge -av mate-base/mate

i3wm

$ doas emerge -av x11-wm/i3

bspwm

$ doas emerge -av x11-wm/bspwm

Openbox

$ doas emerge -av x11-wm/openbox

Icewm

$ doas emerge -av x11-wm/icewm

Після складання робочого оточення варто встановити дисплейний менеджер для зручнішої роботи. Я використовую LightDM, але ви можете поставити будь-який, що вам до вподоби. Для коректної роботи більшості DM нам знадобиться elogind та dbus, які можна встановити командою:

$ doas emerge -av sys-auth/elogind sys-apps/dbus

І не забудемо додати їх до автозавантаження:

$ doas rc-update add elogind default
$ doas rc-update add dbus default

Для встановлення дисплейного менеджера спочатку встановимо пакет для роботи в OpenRC:

$ doas emerge -av gui-libs/display-manager-init

Далі встановимо сам дисплейний менеджер:

LightDM

$ doas emerge -av x11-misc/lightdm x11-misc/lightdm-gtk-greeter

SDDM

$ doas emerge -av x11-misc/sddm

GDM

$ doas emerge -av gnome-base/gdm

Після завершення компіляції нам необхідно прописати наш дисплейний менеджер у файл /etc/conf.d/display-manager:

....
DISPLAYMANAGER="<ваш-DM>"

Збережемо зміни у файлі та додамо службу display-manager в автостарт системи ініціалізації:

$ doas rc-update add display-manager default

Після перезавантаження, якщо ви все правильно встановили, ви побачите екран із введенням пароля та вибором завантаження DE/WM. Після авторизації можна почати використовувати графіку.

4. Налаштування звуку в системі

Сидіти без звуку за комп'ютером – сумно, а тому давайте встановимо Pipewire.

$ doas emerge -av media-video/pipewire

Після встановлення програми ми можемо прописати її автозапуск будь-яким зручним способом. Якщо в DE, то через налаштування автостарту, а в WM'ах просто пропишемо запуск в конфігураційний файл.

Gentoo Pipewire запускається через утиліту gentoo-pipewire-launcher , який і треба прописати в автостарт вашого DE/WM.

Не забудьте також додати вашого користувача до групи "pipewire" та "audio" для коректної роботи звуку:

$ doas gpasswd -a <user> pipewire
$ doas gpasswd -a <user> audio

5. Прикладний софт та підключення бінарного репозиторію

Не бачу сенсу розглядати установку кожного пакета прикладного ПЗ, тому що у кожного є свій набір, якому він так чи інакше дотримуватиметься.

Для пошуку пакетів в основному репозиторії Gentoo вам дуже допоможе офіційний ресурс дистрибутива , в якому за ключовими словами ви зможете знайти назву ебілда вашої програми і доступні для нього USE-прапори.

Ресурс Gentoo Portage Overlays дозволяє шукати ебілдів у сторонніх репозиторіях — оверлеях. Оверлей - це а-ля PPA-репозиторій під Ubuntu. В оверлеї користувачі самі завантажують свої ебілди, дозволяючи вам встановити програмне забезпечення, якого немає в офіційних репозиторіях. Для роботи з оверлеями дуже раджу встановити утиліту eselect-repository, яка без ручних маніпуляцій допоможе підключити стороннє джерело.

$ doas emerge -av app-select/eselect-repository

Використання Gentoo, однак, передбачає постійну компіляцію з вихідного коду, що іноді виходить досить накладно за часом і ресурсами процесора. З початку минулого року Gentoo з'явився офіційний бінарний репозиторій, який можна використовувати для прискорення встановлення деякого програмного забезпечення.

У сучасних установках його зазвичай не потрібно додатково налаштовувати - все працює з коробки. Просто синхронізуйте репозиторії та скористайтеся наступними прапорами Portage:

--getbinpkg (-g) - если пакет, который вы запрашиваете, доступен в виде бинарного файла, то он будет установлен. В ином случае - пакет скомпилируется как обычно.
--usepkgonly (-K) - если пакет доступен в бинарном формате, то он будет установлен. В ином случае - установки не случится вовсе

Іноді може виникнути проблема з GPG-ключами репозиторіїв, проте всі проблеми вирішуються однією командою:

$ doas mv /etc/portage/gnupg /etc/portage/gnupg.bak ; getuto

6. Установка Steam та PortProton

Так як із встановленням Steam у початківця можуть бути проблеми, а сама програма не міститься в офіційному репозиторії, розповім, як її встановити, щоб почати грати в улюблені ігри.

1) Установка eselect-repository та git

$ doas emerge --ask --noreplace app-eselect/eselect-repository dev-vcs/git

2) Підключення репозиторію та синхронізація

$ doas eselect repository enable steam-overlay
$ doas emerge --sync

3) Прописуємо USE-прапори для Steam

/etc/portage/package.use/steam
....
app-accessibility/at-spi2-core  abi_x86_32
app-arch/bzip2                  abi_x86_32
app-arch/lz4                    abi_x86_32
app-arch/zstd                   abi_x86_32
dev-lang/rust-bin               abi_x86_32
dev-libs/dbus-glib              abi_x86_32
dev-libs/elfutils               abi_x86_32
dev-libs/expat                  abi_x86_32
dev-libs/fribidi                abi_x86_32
dev-libs/glib                   abi_x86_32
dev-libs/gmp                    abi_x86_32
dev-libs/icu                    abi_x86_32
dev-libs/libevdev               abi_x86_32
dev-libs/libffi                 abi_x86_32
dev-libs/libgcrypt              abi_x86_32
dev-libs/libgpg-error           abi_x86_32
dev-libs/libpcre2               abi_x86_32
dev-libs/libtasn1               abi_x86_32
dev-libs/libunistring           abi_x86_32
dev-libs/libusb                 abi_x86_32
dev-libs/libxml2                abi_x86_32
dev-libs/lzo                    abi_x86_32
dev-libs/nettle                 abi_x86_32
dev-libs/nspr                   abi_x86_32
dev-libs/nss                    abi_x86_32
dev-libs/openssl                abi_x86_32
dev-libs/wayland                abi_x86_32
gnome-base/librsvg              abi_x86_32
gui-libs/libdecor               abi_x86_32
llvm-core/llvm                  abi_x86_32
media-gfx/graphite2             abi_x86_32
media-libs/alsa-lib             abi_x86_32
media-libs/flac                 abi_x86_32
media-libs/fontconfig           abi_x86_32
media-libs/freetype             abi_x86_32
media-libs/glu                  abi_x86_32
media-libs/harfbuzz             abi_x86_32
media-libs/libepoxy             abi_x86_32
media-libs/libglvnd             abi_x86_32
media-libs/libjpeg-turbo        abi_x86_32
media-libs/libogg               abi_x86_32
media-libs/libpng               abi_x86_32
media-libs/libpulse             abi_x86_32
media-libs/libsdl2              abi_x86_32
media-libs/libsndfile           abi_x86_32
media-libs/libva                abi_x86_32
media-libs/libvorbis            abi_x86_32
media-libs/mesa                 abi_x86_32
media-libs/openal               abi_x86_32
media-libs/opus                 abi_x86_32
media-libs/tiff                 abi_x86_32
media-sound/lame                abi_x86_32
media-sound/mpg123-base         abi_x86_32
media-video/pipewire            abi_x86_32
net-dns/c-ares                  abi_x86_32
net-dns/libidn2                 abi_x86_32
net-libs/gnutls                 abi_x86_32
net-libs/libasyncns             abi_x86_32
net-libs/libndp                 abi_x86_32
net-libs/libpsl                 abi_x86_32
net-libs/nghttp2                abi_x86_32
net-libs/nghttp3                abi_x86_32
net-misc/curl                   abi_x86_32
net-misc/networkmanager         abi_x86_32
net-print/cups                  abi_x86_32
sys-apps/dbus                   abi_x86_32
sys-apps/systemd                abi_x86_32
sys-apps/systemd-utils          abi_x86_32
sys-apps/util-linux             abi_x86_32
sys-devel/clang                 abi_x86_32
sys-libs/gpm                    abi_x86_32
sys-libs/libcap                 abi_x86_32
sys-libs/libudev-compat         abi_x86_32
sys-libs/ncurses                abi_x86_32
sys-libs/pam                    abi_x86_32
sys-libs/zlib                   abi_x86_32
virtual/glu                     abi_x86_32
virtual/libelf                  abi_x86_32
virtual/libiconv                abi_x86_32
virtual/libintl                 abi_x86_32
virtual/libudev                 abi_x86_32
virtual/libusb                  abi_x86_32
virtual/opengl                  abi_x86_32
virtual/rust                    abi_x86_32
x11-libs/cairo                  abi_x86_32
x11-libs/extest                 abi_x86_32
x11-libs/gdk-pixbuf             abi_x86_32
x11-libs/gtk+                   abi_x86_32
x11-libs/gtk+                   abi_x86_32
x11-libs/libdrm                 abi_x86_32
x11-libs/libICE                 abi_x86_32
x11-libs/libpciaccess           abi_x86_32
x11-libs/libSM                  abi_x86_32
x11-libs/libvdpau               abi_x86_32
x11-libs/libX11                 abi_x86_32
x11-libs/libXau                 abi_x86_32
x11-libs/libxcb                 abi_x86_32
x11-libs/libXcomposite          abi_x86_32
x11-libs/libXcursor             abi_x86_32
x11-libs/libXdamage             abi_x86_32
x11-libs/libXdmcp               abi_x86_32
x11-libs/libXext                abi_x86_32
x11-libs/libXfixes              abi_x86_32
x11-libs/libXft                 abi_x86_32
x11-libs/libXi                  abi_x86_32
x11-libs/libXinerama            abi_x86_32
x11-libs/libxkbcommon           abi_x86_32
x11-libs/libXrandr              abi_x86_32
x11-libs/libXrender             abi_x86_32
x11-libs/libXScrnSaver          abi_x86_32
x11-libs/libxshmfence           abi_x86_32
x11-libs/libXtst                abi_x86_32
x11-libs/libXxf86vm             abi_x86_32
x11-libs/pango                  abi_x86_32
x11-libs/pixman                 abi_x86_32
x11-libs/xcb-util-keysyms       abi_x86_32

4) Додамо Steam-оверлів у package.accept_keywords:

/etc/portage/package.accept_keywords/steam
....
*/*::steam-overlay
games-util/game-device-udev-rules
sys-libs/libudev-compat

5) Встановимо Steam

$ doas emerge -av games-util/steam-launcher

Після встановлення запускаємо та починаємо грати.

Якщо ви хочете використовувати інші джерела для запуску Windows-ігор, то нам може стати в нагоді PortProton.

1) Встановимо залежності від офіційного репозиторію

$ doas emerge -av sys-apps/bubblewrap net-misc/wget app-arch/cabextract app-arch/tar dev-libs/openssl media-gfx/icoutils net-misc/curl sys-apps/inxi gnome-extra/zenity sys-devel/bc

2) Встановимо yad з оверлея (теж потрібен для PortProton)

$ doas eselect repository enable parona-overlay
$ doas emerge --sync
vim /etc/portage/package.accept_keywords/yad
....
gnome-extra/yad **
$ doas emerge -av gnome-extra/yad::parona-overlay

3) Ідемо на сайт PortProton і копіюємо команду для старту установки

wget -c "https://github.com/Castro-Fidel/PortProton_ALT/raw/main/portproton" && sh portproton

Після завершення радіємо життю та граємо в піратські ігри.

7. Те, що не тягне на окремий пункт, але варто згадати варто

1) Апаратне прискорення відео

Для включення підтримки апаратного прискорення нам треба прописати драйвер " vaapi " у глобальних USE-прапорах системи. Зробити це можна так:

/etc/portage/make.conf
....
USE="vaapi"

Після збереження оновимо пакети вже за допомогою апаратного прискорення:

$ doas emerge --ask --changed-use --deep @world

2) Очищення кешу Portage

Для очищення застарілих тарболів, які за замовчуванням зберігаються в /var/tmp/portage/*, можна встановити утиліту " eclean ".

$ doas emerge -av app-portage/gentoolkit

Щоб видалити застарілі архіви з вихідними джерелами:

$ doas eclean distfiles

Щоб видалити застарілі бінарні файли:

$ doas eclean packages

3) Корисні посилання для роботи з Gentoo

  1. Gentoo Handbook

  2. OpenRC для чайників

  3. Робота з Portage

  4. Форум Gentoo

  5. USE-прапори

8. Підбиття підсумків

images.png

Для публікації повідомлень створіть обліковий запис або авторизуйтесь

Акаунт

Навігація

Пошук

Пошук

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.