Gentoo

Je rychlá distribuce, která nepoužívá balíčkovou metodu správy SW, ale veškeré programy kompiluje ze zdrojového kódu. Gentoo je tedy distribuce Linux založená na zdrojovém kódu. Nabízí maximální možnou rychlost a přizpůsobitelnost - zda je tomu tak již delší dobu testuji, mám jej na pracovním notebooku i na domácím stroji, zatím jsem nadmíru spokojen.

Začínám s Gentoo

Minimální nároky na paměť jsou 2048MB. Pro začátek bohatě postačí pročíst si příručku a při instalaci postupovat dle ní. Příručka je zde:

Přechod mezi distribucí Arch Linux a Gentoo není nijak složitý a komplikovaný. Nejprve jsem ve virtuálu otestoval, zda bude v Gentoo k dispozici vše na co jsem zvyklý. Pak jsem jej zkusil instalovat na skutečném železe(domácím stolní PC). Pravda je, že během instalace jsem se slušně zapotil(i mé CPU). Jako Gentoo začátečník jsem se učil novým zvykům a objevoval dosud nepoznaná zákoutí kernelu, modulů a knihoven. Během několika týdnů jsem celkem 3x reinstaloval Gentoo s tím, že pokaždé jsem aplikoval nově nabyté znalosti a snažil se dodržovat konvence. Až třetí čistá instalace se zdá být tou finální, protože v předešlých jsem nepoužíval správně USE a špatně jsem pochopil strukturu souborů v /etc/portage/ a tak podobně. Z toho plyne, že učený z nebe nespadl a je potřeba zkoušet a učit se.

A něco na odlehčení:

Poznámky k instalaci

  1. K instalaci používám raději live CD s GUI, lépe pak spolupracuji s příručkou a terminálem na jednom stroji.
  2. V ideálním případě využívám k přístupu do sítě kabelové spojení, takové spojení funguje automaticky pomocí nástroje dhcpcd. Taková síť má jednoduchou konfiguraci a není potřeba žádné nastavení.
  3. Stahuji ofiko stage3 - systemd a případně s desktop.
  4. Používám výchozí distribuční Gentoo jádro sys-kernel/gentoo-kernel, v případě spěchu použiji předkompilované jádro sys-kernel/gentoo-kernel-bin.
Historie příkazů mé instalace
source /etc/profile 
export PS1="(chroot) ${PS1}"
mount /dev/nvme0n1p1 boot/
emerge-webrsync
eselect profile list
eselect profile set 12
emerge --ask --verbose --update --deep --newuse @world
emerge --ask sys-kernel/gentoo-kernel
source /etc/profile 
export PS1="(chroot) ${PS1}"
emerge --ask app-portage/cpuid2cpuflags
echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags
nano /etc/portage/make.conf 
portageq envvar ACCEPT_LICENSE
mkdir /etc/portage/package.license
nano /etc/portage/package.license/kernel
ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime 
nano -w /etc/locale.gen
locale-gen
eselect locale list
eselect locale set 6
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
emerge --ask sys-kernel/linux-firmware
emerge @preserved-rebuild
source /etc/profile 
export PS1="(chroot) ${PS1}"
mount /dev/nvme0n1p1 boot/
emerge --depclean
emerge --ask @module-rebuild
emerge --config sys-kernel/gentoo-kernel 
emerge --ask sys-kernel/gentoo-sources
eselect kernel list
eselect kernel set 1
eselect kernel list
mkdir /etc/portage/package.license
nano /etc/fstab 
echo mojepc > /etc/hostname
emerge --ask net-misc/dhcpcd
nano /etc/hosts
passwd
systemd-firstboot --prompt --setup-machine-id
emerge --ask sys-apps/mlocate
systemctl enable sshd
systemctl enable getty@tty1.service
systemctl enable systemd-timesyncd.service
nano etc/portage/make.conf 
emerge --ask sys-boot/grub
grub-install --target=x86_64-efi --efi-directory=/boot
grub-mkconfig -o /boot/grub/grub.cfg
exit
reboot

Gentoo - Jádro/Kernel

Konfigurace a instalace jádra v Gentoo. Výpisy a zjištění mohu pomocí:

uname -a
Linux mv-pva 6.1.46-gentoo-mv-mini #1 SMP PREEMPT_DYNAMIC Tue Sep  5 13:25:04 CEST 2023 x86_64 Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz GenuineIntel GNU/Linux
eselect kernel list
Available kernel symlink targets:
  [1]   linux-6.1.46-gentoo-mv-mini *

Minimální sestavení jádra:

  1. Příklad sestavení kernelu gentoo-kernel-6.1.46:
  2. sudo ebuild /var/db/repos/gentoo/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.46.ebuild configure
  3. Místo sestavení:
  4. cd /var/tmp/portage/sys-kernel/gentoo-kernel-6.1.46/work/modprep/
  5. Minimální konfigurace s nahratými moduly:
  6. make localmodconfig
  7. Vytvoří se minimální konfigurace jádra a modulů, nyní nakonfiguruji zbytek potřebného v jádře pomocí:
  8. make xconfig
  9. Vytvoření snippetu:
  10. diff --changed-group-format="%>" --unchanged-group-format="" .config.old .config | tee -a /etc/kernel/config.d/mini.config
  11. Smazání build adresáře:
  12. rm -r /var/tmp/portage/sys-kernel/gentoo-kernel-6.1.46
  13. Při instalaci/aktualizaci jádra dojde k použití patche v /etc/kernel/config.d/mini.config, můžu si jej prohlédnout.

Soubory pro přizpůsobení

V umístění /etc/kernel/config.d je možné umístit snippety pro vlastní nastavení. Například soubor /etc/kernel/config.d/01name.config upravující název kernelu:

CONFIG_LOCALVERSION="-gentoo-mv-ntb"

Další může být například definice procesoru pro můj Intel Core i5:

# CONFIG_X86_UV is not set
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_MCORE2=y
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_P6_NOP=y
# CONFIG_X86_MCE_AMD is not set
# CONFIG_X86_MCE_INJECT is not set
# CONFIG_PERF_EVENTS_AMD_POWER is not set
# CONFIG_PERF_EVENTS_AMD_UNCORE is not set
# CONFIG_PERF_EVENTS_AMD_BRS is not set
# CONFIG_MICROCODE_AMD is not set
# CONFIG_AMD_MEM_ENCRYPT is not set
# CONFIG_AMD_NUMA is not set
# CONFIG_X86_PMEM_LEGACY is not set
# CONFIG_ACPI_TAD is not set
# CONFIG_ACPI_HOTPLUG_MEMORY is not set
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_NFIT is not set
# CONFIG_ACPI_APEI_EINJ is not set
# CONFIG_DPTF_POWER is not set
# CONFIG_DPTF_PCH_FIVR is not set
# CONFIG_ACPI_EXTLOG is not set
# CONFIG_ACPI_PFRUT is not set
# CONFIG_X86_PCC_CPUFREQ is not set
# CONFIG_X86_AMD_PSTATE is not set
# CONFIG_X86_AMD_PSTATE_UT is not set
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_P4_CLOCKMOD is not set
# CONFIG_KVM_AMD is not set

Gentoo - česká lokalizace

Jak si lokalizovat/počeštit systém Gentoo a jak na český jazyk s českými znaky.

Jaké lokalizace budou použity se definuje v souboru /etc/locale.gen. Je dobré nechat záložní en a přidat místní cs:

/etc/locale.gen
en_US ISO-8859-1
en_US.UTF-8 UTF-8
cs_CZ ISO-8859-1
cs_CZ.UTF-8 UTF-8

Pak se vygenerují jazyky pomocí příkazu locale-gen.

locale-gen
 * Generating 5 locales (this might take a while) with 8 jobs
 *  (3/5) Generating en_US.ISO-8859-1 ...             [ ok ]
 *  (1/5) Generating cs_CZ.ISO-8859-1 ...             [ ok ]
 *  (5/5) Generating C.UTF-8 ...                      [ ok ]
 *  (2/5) Generating cs_CZ.UTF-8 ...                  [ ok ]
 *  (4/5) Generating en_US.UTF-8 ...                  [ ok ]
 * Generation complete
 * Adding locales to archive ...                      [ ok ]

Seznam lokalizací, které se v systému primárně použijí, uskutečníme příkazem eselect locale list.

eselect locale list
Available targets for the LANG variable:
  [1]   C
  [2]   cs_CZ
  [3]   cs_CZ.iso88591
  [4]   cs_CZ.utf8 *
  [5]   C.utf8
  [6]   en_US
  [7]   en_US.iso88591
  [8]   en_US.utf8
  [9]   POSIX
  [ ]   (free form)

Nastavení dle předchozího výpisu provedeme pomocí eselect locale set 4.

eselect locale set 4
Setting LANG to cs_CZ.utf8 ...
Run ". /etc/profile" to update the variable in your shell.

Pro znovunačtení změněných hodnot použiji příkaz:

env-update && source /etc/profile

Po restartu a nebo po znovunačtení se projeví změny.

X - česká klávesnice

Je žádoucí a komfortní nastavit rozložení klávesnice přímo v konfiguračním souboru Xorg.

/etc/X11/xorg.conf.d/10-evdev.conf
Section  "InputClass"
          Identifier "evdev keyboard catchall"
          MatchIsKeyboard "on"
          MatchDevicePath "/dev/input/event*"
          Driver "libinput"

          # Keyboard layouts
          Option "XkbLayout" "cz"
EndSection

Časové pásmo

Je potřeba udělat link z /usr/share/zoneinfo/Europe/Prague na /etc/localtime:

ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime

Gentoo - Portage

Je srdce Gentoo, bez portage ani ránu. Za dobu užívání systému Gentoo jsem si na portage náramně zvykl a představa, že bychl měl přejít k "obyčejným" správcům balíčků s binárkami mne odrazuje vrátit se zpět k Arch Linuxu.

USE

Je mocná zbraň tohoo výjimečného systému. Svědomité nakládání s přiřazováním těchto kompilačních možností pomáhá budovat vyladěný a optimální systém. Ukázku nastavení můžeme vidět na příkladu níže.

make.conf

Příklad nastavení, které používám:

cat /etc/portage/make.conf 
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-march=native -O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

# NOTE: This stage was built with the bindist Use flag enabled

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=cs_CZ.utf8
USE="-clang fontconfig gtk -kde nls policykit -pulseaudio -qt -qt5 truetype ttf -wayland xft xinerama"
GENTOO_MIRRORS="http://ftp.fi.muni.cz/pub/linux/gentoo/ ftp://ftp.fi.muni.cz/pub/linux/gentoo/ rsync://ftp.fi.muni.cz/pub/linux/gentoo/ http://mirror.dkm.cz/gentoo/ https://mirror.dkm.cz/gentoo/ ftp://mirror.dkm.cz/gentoo/ rsync://mirror.dkm.cz/gentoo/ http://gentoo.mirror.web4u.cz/ ftp://gentoo.mirror.web4u.cz/ http://ftp.agdsn.de/gentoo https://ftp.agdsn.de/gentoo rsync://ftp.agdsn.de/gentoo https://ftp.gwdg.de/pub/linux/gentoo/ http://ftp.gwdg.de/pub/linux/gentoo/ ftp://ftp.gwdg.de/pub/linux/gentoo/ rsync://ftp.gwdg.de/gentoo/"
GRUB_PLATFORMS="efi-64"
INPUT_DEVICES="libinput synaptics"
VIDEO_CARDS="intel"
L10N="cs"
PHP_TARGETS="php8-1"

Kompilace - výkon

Je možné pomocí MAKEOPTS určit počet jader pro kompilaci. Počet použitých jader ovlivňuje:

Je kompilace příliš náročná a blokuje provoz na počítači? Sniž počet jader používaných pro make.

Pro 8mi jádro, které standardně pro kompilaci využívá všech 8 jader, můžu přiřadit pouze polovinu výkonu:

/etc/portage/make.conf
#pouziti pouze 4 jader
MAKEOPTS=-j4

Moje osvědčená struktura

Jak správně jsem si osvojil zvyky nevím, ale vyhovuje mi to takto:

tree /etc/portage/
/etc/portage/
├── bashrc
├── make.conf
├── make.profile -> ../../var/db/repos/gentoo/profiles/default/linux/amd64/17.1/desktop/systemd
├── package.accept_keywords
│   └── zz-autounmask
├── package.license
│   ├── automaticky
│   ├── 01kernel
│   └── 02rar
├── package.mask
├── package.use
│   ├── automaticky
│   ├── 00cpu-flags
│   └── 01balicky
├── profile
│   └── package.use.force
├── repos.conf
│   ├── eselect-repo.conf
│   ├── eselect-repo.conf~
│   └── gentoo.conf
└── savedconfig
    └── sys-kernel
        └── linux-firmware-20230310-r1

Vytvářím si vlastní soubory začínající čísly, které obsahují specifické osobní nastavení balíčků a pro automatické zápisy nechávám soubor automaticky. Systém bere konfiguráky dle abecedy a proto užití portage s možností --autounmask zapisuje do souboru abecdně posledního.

Soubor s vlastními možnostmi USE pro každý balíček

Takový soubor s extra přidanými USE k balíčkům vypadá takto:

cat /etc/portage/package.use/01balicky 
app-eselect/eselect-php apache2
app-misc/mc sftp X edit gpm nls slang spell unicode -test
app-shells/bash plugins
app-text/mandoc cgi
app-emulation/virtualbox lvm
dev-lang/php cgi gd apache2 posix session -truetype
dev-libs/glib utils
dev-util/dialog examples
gnome-base/gvfs mtp fuse
mail-client/thunderbird wifi
media-fonts/corefonts tahoma
media-gfx/blender -bullet -cuda -fluid -nanovdb -openvdb -pdf -pugixml -sndfile -tbb
media-gfx/gimp alsa doc gnome jpeg2k xpm 
media-gfx/krita -pdf -raw -gif
media-libs/babl -introspection
media-libs/freetype utils
media-libs/libraw jpeg zlib
media-libs/mesa d3d9 vaapi
media-libs/opencolorio -opengl
media-libs/openh264 utils
net-firewall/ufw -ipv6
net-libs/webkit-gtk -gnome-keyring
net-misc/r8168 use-firmware
net-misc/putty doc gssapi
net-vpn/openconnect stoken gssapi pskc
net-vpn/openvpn down-root inotify pam plugins systemd openssl iproute2 -mbedtls
net-vpn/tor scrypt caps doc lzma tor-hardening zstd verify-sig
sys-firmware/intel-microcode initramfs
sys-fs/e2fsprogs fuse
sys-fs/lvm2 lvm readline systemd udev
sys-fs/ntfs3g suid
sys-fs/udisks lvm
sys-kernel/gentoo-sources symlink
sys-kernel/linux-firmware initramfs
sys-libs/glibc suid
sys-libs/libblockdev -introspection lvm
sys-libs/readline utils
virtual/linux-sources firmware
virtual/wine staging proton
www-client/firefox wifi
www-servers/apache static systemd
x11-base/xorg-server suid
x11-drivers/xf86-video-intel dri tools ude uxa xvmc
x11-misc/redshift -nls
x11-misc/xscreensaver fonts suid
x11-terms/rxvt-unicode 24-bit-color 256-color
x11-wm/awesome gnome
x11-wm/windowmaker xrandr imagemagick modelock
				

Package mask

Zamaskování balíčku postgresql, slouží pro vyřazení z updatu apod.

/etc/portage/package.mask/postgresqldev-db/postgresql

Zbývající doba - progress

Stačí zainstalovat jeden z nástrojů, já jsem zkusil genlop.

genlop -cn
 Currently merging 5 out of 5

 * mail-client/thunderbird-102.15.1 

       current merge time: 24 minutes and 13 seconds.
       ETA: 1 hour, 14 minutes and 47 seconds.
genlop -t thunderbird
     Sun Mar 26 11:44:30 2023 >>> mail-client/thunderbird-102.9.0
       merge time: 2 hours, 5 minutes and 22 seconds.

     Fri Apr 28 04:46:49 2023 >>> mail-client/thunderbird-102.10.0
       merge time: 1 hour, 23 minutes and 28 seconds.

Napsal jsem si skript ukazující zbývající čas kompilace balíku, využívám jej společně s monitoringem Conky:

#!/bin/bash
pgrep emerge >/dev/null && sudo genlop -cn | grep ETA | sed -e 's/^\s*//' -e 's/ETA//' -e 's/://' -e 's/our//' -e 's/ours//' -e 's/utes//' -e 's/onds.//'

Důležité soubory a cesty

CestaVýznam
/etc/default/Zde systém nahlíží k uplatnění speciálních nastavení - pokud jsou zde soubory, můžu je prozkoumat
/etc/portage/make.confObecné nastavení portage
/etc/portage/package.use/01balickyseznam balíčků a jejich individuálních flagů
/etc/portage/package.use/zzAutomatickyzde se zapisují automatické individuální setupy - dle abecedy systém dává sem
/var/lib/portage/worldInstalované balíky
/var/tmp/portageZde se připravují ebuildy k instalaci

Aliasy které používám

alias gentoo-kernel='/mnt/DATA/Moje_speciality/skripty/kernel/kernel.sh'
alias gentoo-portage-clean='sudo emerge --verbose --ask --clean'
alias gentoo-portage-default-use='sudo emerge --info | grep ^USE'
alias gentoo-portage-depclean-pretend='sudo emerge --pretend --ask --verbose --depclean'
alias gentoo-portage-depclean='sudo emerge --ask --verbose --depclean'
alias gentoo-portage-eclean-kernel='sudo eclean-kernel -n 2'
alias gentoo-portage-glsa-check='glsa-check -t affected'
alias gentoo-portage-make.conf='sudo nano /etc/portage/make.conf'
alias gentoo-portage-module-rebuild='sudo emerge --ask --verbose --oneshot @module-rebuild'
alias gentoo-portage-package.use='sudo nano /etc/portage/package.use/01balicky'
alias gentoo-portage-preserved-rebuild="sudo emerge --verbose-conflicts --autounmask-write --ask @preserved-rebuild"
alias gentoo-portage-repozitare='sudo eselect repository list'
alias gentoo-portage-repozitare-aktivni='sudo eselect repository list -i'
alias gentoo-portage-updatecfg='sudo cfg-update -u'
alias gentoo-portage-upgrade='sudo emaint --auto sync'
alias gentoo-portage-use-info='less /var/db/repos/gentoo/profiles/use.desc'
alias gentoo-portage-worldupdate='sudo emerge --ask --verbose --update --newuse --deep @world'

alias instaluj='sudo emerge  --verbose --ask --verbose-conflicts'
alias odinstaluj='sudo emerge --verbose --deselect'
alias odmerguj='sudo emerge --verbose --unmerge'
alias gentoo-portage-zavislosti='equery depgraph'
alias gentoo-portage-zavislosti_baliku='equery depends'
		

Virtualbox v Gentoo

Stačí zainstalovat balíky app-emulation/virtualbox a app-emulation/virtualbox-additions.

sudo emerge --ask --verbose app-emulation/virtualbox app-emulation/virtualbox-additions

Po instalaci je nutné přidat uživatele do skupiny vboxusers, jinak nebude moci VirtualBox spustit.

sudo gpasswd -a uzivatel vboxusers

Gentoo ve Virtualboxu

Pokud použiji výchozí gentoo kernel, tak je vše potřebné v jádře připraveno a mohu začít instalovat guest additions.

  1. Instalace guest additions:
  2. emerge --ask app-emulation/virtualbox-guest-additions
  3. Start služeb VBoxu:
  4. systemctl enable --now virtualbox-guest-additions
  5. Přidání uživatele do skupin vboxsf a nebo vboxguest:
  6. gpasswdd -a uzivatel vboxsf
    gpasswdd -a uzivatel vboxguest

Hardware HP ProBook 450 G7

Výpis hardware pomocí lspci:

lspci -nnk00:00.0 Host bridge [0600]: Intel Corporation Comet Lake-U v1 4c Host Bridge/DRAM Controller [8086:9b61] (rev 0c)
	Subsystem: Hewlett-Packard Company Comet Lake-U v1 4c Host Bridge/DRAM Controller [103c:86a0]
	Kernel driver in use: skl_uncore
00:02.0 VGA compatible controller [0300]: Intel Corporation CometLake-U GT2 [UHD Graphics] [8086:9b41] (rev 02)
	DeviceName: Onboard IGD
	Subsystem: Hewlett-Packard Company CometLake-U GT2 [UHD Graphics] [103c:86a0]
	Kernel driver in use: i915
	Kernel modules: i915
00:04.0 Signal processing controller [1180]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [8086:1903] (rev 0c)
	Subsystem: Hewlett-Packard Company Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [103c:86a0]
	Kernel driver in use: proc_thermal
	Kernel modules: processor_thermal_device_pci_legacy
00:12.0 Signal processing controller [1180]: Intel Corporation Comet Lake Thermal Subsytem [8086:02f9]
	Subsystem: Hewlett-Packard Company Comet Lake Thermal Subsytem [103c:86a0]
	Kernel driver in use: intel_pch_thermal
	Kernel modules: intel_pch_thermal
00:14.0 USB controller [0c03]: Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller [8086:02ed]
	Subsystem: Hewlett-Packard Company Comet Lake PCH-LP USB 3.1 xHCI Host Controller [103c:86a0]
	Kernel driver in use: xhci_hcd
00:14.2 RAM memory [0500]: Intel Corporation Comet Lake PCH-LP Shared SRAM [8086:02ef]
	Subsystem: Hewlett-Packard Company Comet Lake PCH-LP Shared SRAM [103c:86a0]
00:14.3 Network controller [0280]: Intel Corporation Comet Lake PCH-LP CNVi WiFi [8086:02f0]
	Subsystem: Intel Corporation Wi-Fi 6 AX201 160MHz [8086:0074]
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi
00:14.5 SD Host controller [0805]: Intel Corporation Comet Lake PCH-LP SCS3 [8086:02f5]
	Subsystem: Hewlett-Packard Company Comet Lake PCH-LP SCS3 [103c:86a0]
	Kernel driver in use: sdhci-pci
	Kernel modules: sdhci_pci
00:15.0 Serial bus controller [0c80]: Intel Corporation Serial IO I2C Host Controller [8086:02e8]
	Subsystem: Hewlett-Packard Company Serial IO I2C Host Controller [103c:86a0]
	Kernel driver in use: intel-lpss
00:16.0 Communication controller [0780]: Intel Corporation Comet Lake Management Engine Interface [8086:02e0]
	Subsystem: Hewlett-Packard Company Comet Lake Management Engine Interface [103c:86a0]
	Kernel driver in use: mei_me
	Kernel modules: mei_me
00:17.0 SATA controller [0106]: Intel Corporation Comet Lake SATA AHCI Controller [8086:02d3]
	Subsystem: Hewlett-Packard Company Comet Lake SATA AHCI Controller [103c:86a0]
	Kernel driver in use: ahci
00:1d.0 PCI bridge [0604]: Intel Corporation Comet Lake PCI Express Root Port #9 [8086:02b0] (rev f0)
	Subsystem: Hewlett-Packard Company Comet Lake PCI Express Root Port [103c:86a0]
	Kernel driver in use: pcieport
00:1d.4 PCI bridge [0604]: Intel Corporation Comet Lake PCI Express Root Port #13 [8086:02b4] (rev f0)
	Subsystem: Hewlett-Packard Company Comet Lake PCI Express Root Port [103c:86a0]
	Kernel driver in use: pcieport
00:1f.0 ISA bridge [0601]: Intel Corporation Comet Lake PCH-LP LPC Premium Controller/eSPI Controller [8086:0284]
	Subsystem: Hewlett-Packard Company Comet Lake PCH-LP LPC Premium Controller/eSPI Controller [103c:86a0]
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Comet Lake PCH-LP cAVS [8086:02c8]
	Subsystem: Hewlett-Packard Company Comet Lake PCH-LP cAVS [103c:86a0]
	Kernel driver in use: sof-audio-pci-intel-cnl
	Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci_intel_cnl
00:1f.4 SMBus [0c05]: Intel Corporation Comet Lake PCH-LP SMBus Host Controller [8086:02a3]
	Subsystem: Hewlett-Packard Company Comet Lake PCH-LP SMBus Host Controller [103c:86a0]
	Kernel driver in use: i801_smbus
	Kernel modules: i2c_i801
00:1f.5 Serial bus controller [0c80]: Intel Corporation Comet Lake SPI (flash) Controller [8086:02a4]
	Subsystem: Hewlett-Packard Company Comet Lake SPI (flash) Controller [103c:86a0]
01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
	Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [103c:86a0]
	Kernel driver in use: r8169
	Kernel modules: r8169
02:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller 980 [144d:a809]
	Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller 980 [144d:a801]
	Kernel driver in use: nvme
	Kernel modules: nvme
		

Konfigurace kernelu pro modul snd_soc_skl:

CONFIG_SND_SOC_SOF_COMETLAKE=m

Pro firmware a ovladače je potřeba zainstalovat balík sol-firmware.

sudo emerge -av sys-firmware/sof-firmware

Intel GPU:

sudo nano /etc/X11/xorg.conf.d/20-modesetting.confSection "Device"
        Identifier  "Intel Graphics"
        Driver      "modesetting"
        Option      "AccelMethod"    "glamor"
EndSection

Touchpad - kliknutí klepnutím na plochu touchpadu:

/etc/X11/xorg.conf.d/40-libinput.confSection "InputClass"
     Identifier "libinput touchpad catchall"
     MatchIsTouchpad "on"
     MatchDevicePath "/dev/input/event*"
     Option "Tapping" "True"
     Option "TappingDrag" "True"
     Driver "libinput"
EndSection

Problémy které jsem řešil

Kompozitor se zasekává

Používal jsem jako kompozitor xcompmgr, ale ten se nyní jeví jako nepoužitelný, protože dochází k jeho zasekávání a vykreslení oken není bezproblémové. To poslední s čím se chci potýkat je špatně vykreslená obrazovka.

Vyřešil jsem to změnou kompozitoru, dle recenzí, parametrů a jednoduchosti jsem si vybral kompozitor picom.

sudo emerge -av picom

Appimage nejdou spustit

Při pokusu o spuštění appimage jsem se setkal s hláškou o chybějícím fuse. Řešení se našlo záhy. Stačí zainstalovat:

sudo emerge --ask --verbose sys-fs/fuse:0

emerge --depclean chce odstranit nano

Musí být vybrán výchozí systémový editor pomocí příkazu eselect editor set cisloeditoru. Výpis seznamu editorů příkazem eselect editor list může být následující:

eselect editor list
  [1]   nano *
  [ ]   (free form)
		
eselect editor set 1
Setting EDITOR to nano ...
Run ". /etc/profile" to update the variable in your shell.

PCManFM nezobrazuje aplikace

Zainstalovat balíky: