/Gentoo-Stuff

Gentoo kernels, Portage configs & Linux things.

Primary LanguageLua

My Gentoo / Linux Stuff

 mrturcot  on GentooRig /home/mrturcot/github/gentoo-stuff on   master took 7s
[ 05:07:34 PM ] ➜ neofetch
         -/oyddmdhs+:.                mrturcot@GentooRig 
     -odNMMMMMMMMNNmhy+-`             ------------------ 
   -yNMMMMMMMMMMMNNNmmdhy+-           OS: Gentoo Linux x86_64 
 `omMMMMMMMMMMMMNmdmmmmddhhy/`        Host: Gigabyte Technology Co., Ltd. X470 AORUS GAMING 7 WIFI-CF 
 omMMMMMMMMMMMNhhyyyohmdddhhhdo`      Kernel: 6.1.8-gentoo-xanmod1 
.ydMMMMMMMMMMdhs++so/smdddhhhhdm+`    Uptime: 4 hours, 20 mins 
 oyhdmNMMMMMMMNdyooydmddddhhhhyhNd.   Packages: 1319 (emerge) 
  :oyhhdNNMMMMMMMNNNmmdddhhhhhyymMh   Shell: zsh 5.9 
    .:+sydNMMMMMNNNmmmdddhhhhhhmMmy   Resolution: 3840x2160 
       /mMMMMMMNNNmmmdddhhhhhmMNhs:   DE: GNOME 43.2 
    `oNMMMMMMMNNNmmmddddhhdmMNhs+`    WM: Mutter 
  `sNMMMMMMMMNNNmmmdddddmNMmhs/.      WM Theme: Orchis-Dark 
 /NMMMMMMMMNNNNmmmdddmNMNdso:`        Theme: Orchis-Dark [GTK2/3] 
+MMMMMMMNNNNNmmmmdmNMNdso/-           Icons: Papirus-Dark [GTK2/3] 
yMMNNNNNNNmmmmmNNMmhs+/-`             Terminal: kitty 
/hMMNNNNNNNNMNdhs++/-`                Terminal Font: source code pro 14.0 
`/ohdmmddhys+++/:.`                   CPU: AMD Ryzen 7 2700 (16) @ 3.800GHz 
  `-//////:--.                        GPU: AMD ATI Radeon RX 590 
                                      Memory: 832MiB / 64242MiB
  • My in sync Portage directory & Kernel for a Stable Gentoo x86-64 EFI, Ryzen ZenVer1, AMDGPU, OpenRC, Gnome-Light, X11, Pipewire based system configuration. With optimizations for speed and gaming performance in mind...

  • /etc/portage files included in this repo, could serve as drop-in replacements for others with similar hardware setups. It should also be noted, the PER-Package build environments are portable and modular, they should work with most Gentoo based systems with LLVM/Clang installed, (upon setting a few values mentioned below)

  • Main Features

 PER-Package compiler environments (as defined in portage/env & portage/package.env) for:  
 Clang, Clang-LTO, Clang-Hardended, GCC-LTO, GCC-Fallback, GCC-NO-LTO-Fallback & more

Every package currently set in portage/package.env is confirmed working with the specified per-package build environment(s) eg. compiler-clang

 GCC set to compile with Graphite, LTO & PGO optimizations  
 System-wide LLVM_TARGETS="AArch64 AMDGPU" 
 AArch64 CPU target (arm64 in Gentoo) 
 AMDGPU target (supports R600 and GCN GPUs)  
 Local USE Flags enabled (select packages only eg. GCC)  
 ## Can be overridden using PER-Package env's compiler-$(environment) *not PGO*  
 Clang = Force building using installed clang (rather than the default CC/CXX).  
 LTO = Build using Link Time Optimizations (LTO)  
 PGO = Profile-guided optimizations   
 and more... see portage/make.conf "USE=$(Flags)"  

Clang Kernels (gentoo-sources & xanmod-sources w/ gentoo patchset)

➜ cat /proc/version                
Linux version 6.1.8-gentoo-xanmod1 (root@GentooRig) (clang version 15.0.7, LLD 15.0.7) #1 SMP PREEMPT Wed Feb  1 22:37:22 PST 2023
  • Use Case

One helpful use case scenario could be. Once initially mounted and chrooted into a new Gentoo install environment. Complete the install as normal

 emerge-webrsync
 emerge --sync
 eselect profile set = default/linux/amd64/17.1/desktop/gnome

Then before >> Updating the @world set (https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation#Updating_the_.40world_set) > download this repo as a zip=[https://github.com/mrturcot/Gentoo-Stuff/archive/refs/heads/master.zip] using wget (we dont have git rn). Extract & add/edit/use/remove the configs you choose then >> "emerge --ask --verbose --update --deep --newuse @world" Grab a coffee, save some time? Save some headaches? maybe? Yes, I think so. Nevertheless

User needs to set (Unless you have znver1 cpu and okay with 12 threads?)

Furthermore, I do provide my own kernel and .config for current "6.1-gentoo-sources". This is for AMD Ryzen znver1 & AMDGPU Arctic Islands - POLARIS10/11/12 setup with support for NVMe-SDD and SATA-HDD (ext4, fat & ntfs) with Network etc... (all this stuff here works https://www.gigabyte.com/Motherboard/X470-AORUS-GAMING-7-WIFI-rev-10/sp#sp).

Running "make menuconfig [https://wiki.gentoo.org/wiki/Kernel/Configuration#Configuration]" in your activily set gentoo kernel sources in "/usr/src/linux" would be very strongly recommened making your own kernel from the kernel.config provided, as other hardware specifications that differ from this would most definitely need to be set for your setup... This is Untested...

Notice


The Rest

  • mpv: my mpv.conf with a few nice scripts gathered eg. "right click context menu"

  • scripts: git-repo check/pull/build & auto full gentoo upgrade & other handy things

  • stuff: random linux config files

  • rip: :( we dont talk about that