How do I optimize EndeavourOS out of the box and some other questions

This is going to be a relatively long post where I might go on some tangents. I don’t want to clutter the forums with 5-6 different threads so I’m going to go all out in this one. I realize that it might come as “lazy” on my part to not do the reserach but I also feel that there should be some sort of a condensed topic for this stuff.

I’m on a Desktop PC here are my specs:
i7 6700k
1080ti
16gb DDR4 Ram
3x SATA SSD’s
Main Monitor: 2560x1440@144hz | Secondary Monitor: 3440x1440 @100hz
Problem#1:

I’ve been testing different distributions in the past 3 months, looking for my “endgame” in order to switch t o Linux full time. The latest Distro I’ve been using was Manjaro and I’ve fallen inlove with the Arch base and the overall package management in this segment. I’ve tried Ubuntu and Debian based systems and I like them too but just not quite as much as Arch.

For me Manjaro is a double-edged sword as it is both feature rich which helps a lot but kinda bloated and slow at the same time. Now keep in mind I’m speaking only from personal experience and I don’t mean to flame any set distro.

I tried Endeavour and I overall like it a lot except for xfce which I removed and replaced with Plasma immideately ( again no flame on the devs I know an online installer is coming). The problems I’m facing in Linux as a whole is that because it is meant to run on so many types of systems it is not optimised for mine. I am a power user and a heavy gamer and Distros can be so inconsistent in overall performance so I am in desperate need of a “optimization blueprint” .

My goals are:

  1. Make my CPU perform to it’s best abilities. I’ve read about CPU governors and overall CPU setup but I need some sort of a recommendation. How do I setup my CPU to run in performance mode and not try to powersave. Speaking of Powersave, is there a default Powersaver and should I flatout delete it?

  2. Make my SSD’s perform to the best of their abilities. I’ve read that SSD’s can be optimized to run much better in Linux. It has to do with “BFQ” or whatever that is. I got really lost here cuz some of the t opics throughout the forums are pretty old and obsolete to an extent.

  3. Overall performance tips and optimization.

Out of all distros I’ve used I’ve felt popOS was the fastest for me even though it was running Gnome and Gnome lagged in pretty much every other Distro I’ve tested. I know you guys don’t work for system76 but I’m still super curious as to what they’re doing. Overall you can leave all sorts of tips about general performance improvement you can think of. Also I’m going to be using KDE Plasma if that helps.

Problem#2

This is a more particular problem that I’m kind of skeptical I’ll find the solution for but heck I might as well go for it:
The only distro I can get the League Of Legends D9VK app image from Lutris to work on is Manjaro.

EDIT: The problem is with Vulkan :
info: Required Vulkan extension VK_KHR_get_physical_device_properties2 not supported
info: Required Vulkan extension VK_KHR_surface not supported
info: Required Vulkan extension VK_KHR_win32_surface not supported
terminate called after throwing an instance of ‘dxvk::DxvkError’

EDIT2: Fixed the problem by installing lib32-nvidia-utils as the game is 32 bit. HELL YEAH!

I have all the dependancies and icd_loader installed + latest Nvidia driver.
Problem#3

Web browsing on Linux kinda feels like crap both on Firefox and Chrome. I know that might sound like a gross exhaturation but it just doesn’t have the smoothness that Windows has. I am using high refreshrate panels and it’s especially noticeable. The only improvements I’ve found are when using Chromium VAAPI with the Nvidia vdpau-va driver and h264ify for video encoding but even then there is just something about the scrolling of the web pages that feels super choppy. This is not a deal breaker for me by any means because it is fast and it is functional, it just doesn’t feel good.

Well those are my main issues with Linux/Endevour overall. If I can get some help to even 1/3 of them I’d be super greatful and it will accelerate my journey to Linux full time by a lot.

Last ,but most important thing I want to say is a huge THANK YOU to everyone involved in this project. I am hugely appreciative of you guys and gals you actually make it easy for the mainstream user to pick up Arch. <3 EndeavourOS team.

2 Likes

Wow that’s an interesting post!
I’ll post a few thoughts from an ‘old fart’ but not sure how much of this will help :stuck_out_tongue_winking_eye:
re SSDs, I’ve got a few too lol, last year I bought a motherboard with an m.2 sata connector, really neat little things…now the performance between traditonal hard drives and ssd is crazy as you know…
I’ve been thinking about buying one of these NVMe drives cos they do something crazy like 2000MB/s reads compared to about 500MB/s for my old ‘crappy’ SSDs…
You’ve been ‘in bed’ with the ‘big corporates’ ie Intel. nvidia, windows…nvidia have always been barstewards as far as open source is concerned; that’s what big corporates are like :money_mouth_face:
I try and support the little guy; that’s why I use linux with AMD hardware…and I like these ‘young upstarts’ at EndeavourOS…
When I first played Doom/Quake on a laptop (at work) 20 years ago I was blown away…you younguns don’t realise how lucky you are with technology…mind you us old farts have done a good job of destroying the planet for you and for that I can only apologise…
it’s funny you say web browsing feels slow…I only have a 1920x1080x60hz monitor and it feels great to me! maybe I need to try one of those ‘big monitors’
PS I was blown away by my Samsung QLED TV and didn’t think I would be
In lutris are you using wine to run games? I fear the problem maybe old meets young…
32 bit hahaha even I try and avoid all that old carp nowadays :crazy_face:
Good luck young man!

2 Likes

Hi,
I read something about SSDs and “TRIM” to get better performance in the long run and I “activated” that in another distro I used… (was it Arcolinux? - can’t remember)…

That’s maybe a point.
And for CPU Frequency there is a lot you can read, I personally never tweaked that 'cause I am satisfied with the performance of my E460. :wink:
https://wiki.archlinux.org/index.php/CPU_frequency_scaling
Again at Arcolinux there is an Article about using all cores for building packages…
https://arcolinux.com/use-all-your-cores-during-build-or-installation-of-packages/
Maybe someone finds it useful.

EDIT: Original Link deleted and linked to post from @abarbarian cause continous trim may harm your SSD/Data.

2 Likes

I am using Wine + Lutris and DXVK. Performance is as good as Windows at least for the games I play. I understand the distaste towards Nvidia, many people in the Linux world don’t like them because of their proprietery drivers. For me Nvidia is the best choice because of the fact that I’m usually shopping for the best possible GPU and Nvidia’s video encoder Nvenc is super useful for game recording and streaming. Unfortunately AMD’s is way behind still. I don’t personally care about brands as long as I get a quality product that works well. As far as monitors go , I use the ultra-wide as secondary even though it’s bigger cuz the main one is much faster as far as response time and refresh rate goes. I would recommend the ultrawide for you though if you plan on buying a new monitor, It’s the Samsung 34" CF791 Curved Widescreen Monitor.

The article about building packages was indeed helpful. I was using 1 core for building packages. Thanks!

2 Likes

I am in to get the most out of hardware! Let’s go for it :wink:

2 Likes

Do you do any optimizing to your computer after a fresh install? Do you mess with CPU governors etc or do you just leave it as is? Also do you game on Linux?

My game is building stuff, and yes I do optimizing, CPU/SSD/GPU

I can give you some hints when I am back at home this weekend.

2 Likes

That would be excellent. Thanks!

1 Like

From the fact that AMD now gives whips his competitor (bathed in stagnation, relatively, over these several years), the client (probably) enjoys it.

TRIM on solid state drives:

[Source: Periodic_TRIM]

Warning: Users need to be certain that their SSD supports TRIM before attempting to use it. Data loss can occur otherwise!

  1. check if your drive support it: sudo hdparm -I /dev/sdx | grep TRIM (change to the drive letter (x) you want to check)
  2. make sure util-linux is installed:
    sudo pacman -S util-linux --needed
  3. check what you have already running:
    cat /etc/fstab if your drive shows like this:
    /dev/sda1 / ext4 defaults,discard 0 1
    continous TRIM is enabled! what in my opinion is bad to use as it will put system under continous load… …
  4. enable periodic TRIM:
    remove discard option from your device inside fstab then:
    sudo systemctl start fstrim.timer
    sudo systemctl enable fstrim.timer
    to check if it works see:
    systemctl status fstrim.timer
10 Likes

CPU_frequency_scaling

thermald

is a Linux daemon used to prevent the overheating of platforms. This daemon monitors temperature and applies compensation using available cooling methods.

By default, it monitors CPU temperature using available CPU digital temperature sensors and maintains CPU temperature under control, before HW takes aggressive correction action. If there is a skin temperature sensor in thermal sysfs, then it tries to keep skin temperature under 45C.

install needed: yay -S --needed thermald

sudo nano /usr/lib/systemd/system/thermald.service

change the line:

ExecStart=/usr/bin/thermald --no-daemon --dbus-enable

like so:

ExecStart=/usr/bin/thermald --no-daemon --dbus-enable --ignore-cpuid-check

services e.t.c.:

sudo systemctl enable thermald

reboot

cpupower

is a set of userspace utilities designed to assist with CPU frequency scaling.

full list of available modules:

sudo ls /usr/lib/modules/$(uname -r)/kernel/drivers/cpufreq/

Load the appropriate module (see Kernel modules for details). Once the appropriate cpufreq driver is loaded, detailed information about the CPU(s) can be displayed by running

sudo cpupower frequency-info

Scaling governors

Governors (see table below) are power schemes for the CPU. Only one may be active at a time. For details, see the kernel documentation in the kernel source.

Governor Description
performance Run the CPU at the maximum frequency.
powersave Run the CPU at the minimum frequency.
userspace Run the CPU at user specified frequencies.
ondemand Scales the frequency dynamically according to current load. Jumps to the highest frequency and then possibly back off as the idle time increases.
conservative Scales the frequency dynamically according to current load. Scales the frequency more gradually than ondemand.
schedutil Scheduler-driven CPU frequency selection [1], [2].

set one for all cores:

sudo echo *governor* > /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
(replace governor with e.g. what you want ondemand p.e…)

see live output: watch grep \"cpu MHz\" /proc/cpuinfo

making one permanent:
sudo systemctl enable cpupower.service
and configure it to use what you want per default:

inside /etc/default/cpupower

# Define CPUs governor
# valid governors: ondemand, performance, powersave, conservative, userspace.
governor='ondemand'

# Limit frequency range
# Valid suffixes: Hz, kHz (default), MHz, GHz, THz
#min_freq="2.25GHz"
#max_freq="3GHz"

# Specific frequency to be set.
# Requires userspace governor to be available.
# Do not set governor field if you use this one.
#freq=

# Utilizes cores in one processor package/socket first before processes are 
# scheduled to other processor packages/sockets.
# See man (1) CPUPOWER-SET for additional details.
#mc_scheduler=

# Utilizes thread siblings of one processor core first before processes are
# scheduled to other cores. See man (1) CPUPOWER-SET for additional details.
#smp_scheduler=

#  Sets a register on supported Intel processore which allows software to convey
# its policy for the relative importance of performance versus energy savings to
# the  processor. See man (1) CPUPOWER-SET for additional details.
#perf_bias=

# vim:set ts=2 sw=2 ft=sh et:
9 Likes

Okay this is epic. Exactly what I needed thanks so much man

One issue - I only have powersave and performance as available governors. When I put ondemand in the config file the cpupower service refuses to turn on.

show it to me please :wink:

  • this :
    lspci > log.txt && lsusb >> log.txt && journalctl -b -0 >> log.txt && cat log.txt | curl -F 'f:1=<-' ix.io
    an pastebin of sysspecs and bootlog (post the short url it gives out after command is proceeded)

That’s normal for modern Intel cpus.

1 Like

best would be to use powersave as default and switch to performance on demand if you want to play games or so…
I am also more on keeping system cool and relaxed… with thermald

Can you elaborate with this? i don’t undestand.

open your fstab file (https://wiki.archlinux.org/index.php/Fstab)
with admin rights:

sudo nano /etc/fstab

and remove the discard option from your device:

/dev/sda1 / ext4 defaults,discard 0 1

that the line looks like this:

/dev/sda1 / ext4 defaults 0 1

(only example your device line may differ)

then save the file [Ctrl+x]

Hi @joekamprad. Regarding the fstab settings, I’ve been using the following:

noatime,errors=remount-ro 0 1

based on SSD optimization information I read on another site. It’s been working fine for me. I also make sure on an SSD that my swappiness=1.

Any issues with the fstab settings as I’ve listed above?

TIA!