## Started using evdev instead of libinput
sudo vim /etc/X11/xorg.conf.d/20-evdev.conf
;paste these in, save with :wq
Section "InputClass"
Identifier "Mouse"
MatchIsPointer "on"
Driver "evdev"
Option "AccelerationScheme" "none"
Option "AccelerationProfile" "-1"
Option "VelocityReset" "30000"
EndSection
## Services
set disable_services \
kdeconnect.service \
cups.service \
bluetooth.service \
ModemManager.service \
avahi-daemon.service \
atd.service \
lvm2-monitor.service \
fstrim.timer \
ondemand.service \
thermald.service \
irqbalance.service \
snapd.service \
snapd.socket \
fwupd.service \
colord.service \
PackageKit.service \
tracker-miner-fs.service \
geoclue.service \
upower.service \
cups-browsed.service \
systemd-timesyncd.service \
systemd-oomd.service \
accounts-daemon.service \
wpa_supplicant.service \
smartd.service \
speech-dispatcher.service \
apport.service \
whoopsie.service \
rsyslog.service \
ufw.service \
unattended-upgrades.service
Added iomem=relaxed to the GRUB_CMDLINE_LINUX_DEFAULT config for the next few settings.
sudo pacman -S msr-tools
sudo modprobe msr
sudo wrmsr 0x1a0 0x0
sudo wrmsr 0x610 0x00FFC000
sudo wrmsr 0x638 0x0
sudo wrmsr 0x640 0x0
sudo wrmsr 0x618 0x0
sudo wrmsr 0x48 0x0
sudo wrmsr 0x49 0x0
sudo wrmsr 0x1FC 0x0
sudo wrmsr 0x1AD 0x31313131 (your OC multiplier instead of 31 convertex to hex) 31 hex = 49
## These were the same settings I showed here:
https://github.com/Hyyote/In-depth-Windows-tweaking
cd /tmp
vim devmem2.c
;paste in these contents and save with :wq
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <ctype.h>
#include <sys/mman.h>
#define MAP_SIZE 4096UL
#define MAP_MASK (MAP_SIZE - 1)
int main(int argc, char **argv) {
int fd;
void *map_base, *virt_addr;
unsigned long read_result, writeval, target;
int access_type = 'w';
if(argc < 2) {
fprintf(stderr, "Usage: %s {address} [type] [data]\n", argv[0]);
exit(1);
}
target = strtoul(argv[1], 0, 0);
if(argc > 2) access_type = tolower(argv[2][0]);
if((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1) {
perror("open");
exit(1);
}
map_base = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, target & ~MAP_MASK);
if(map_base == (void *) -1) {
perror("mmap");
exit(1);
}
virt_addr = map_base + (target & MAP_MASK);
switch(access_type) {
case 'b':
read_result = *((unsigned char *) virt_addr);
break;
case 'h':
read_result = *((unsigned short *) virt_addr);
break;
case 'w':
read_result = *((unsigned long *) virt_addr);
break;
}
if(argc > 3) {
writeval = strtoul(argv[3], 0, 0);
switch(access_type) {
case 'b':
*((unsigned char *) virt_addr) = writeval;
break;
case 'h':
*((unsigned short *) virt_addr) = writeval;
break;
case 'w':
*((unsigned long *) virt_addr) = writeval;
break;
}
}
munmap(map_base, MAP_SIZE);
close(fd);
return 0;
}
;compile with these below
gcc -o devmem2 devmem2.c
sudo mv devmem2 /usr/local/bin/
sudo chmod +x /usr/local/bin/devmem2
sudo devmem2 0xA0702024 h 0x0
sudo devmem2 0xA0702044 h 0x0
sudo devmem2 0xA0702064 h 0x0
sudo devmem2 0xA0702084 h 0x0
sudo devmem2 0xA07020A4 h 0x0
sudo devmem2 0xA07020C4 h 0x0
sudo devmem2 0xA07020E4 h 0x0
sudo devmem2 0xA0702104 h 0x0
## Startup:
; set affinities on startup as well
sudo sysctl kernel.split_lock_mitigate=0
sudo cpupower frequency-set -g performance
sudo wrmsr 0x1a0 0x0
sudo wrmsr 0x610 0x00FFC000
sudo wrmsr 0x638 0x0
sudo wrmsr 0x640 0x0
sudo wrmsr 0x618 0x0
sudo wrmsr 0x48 0x0
sudo wrmsr 0x49 0x0
sudo wrmsr 0x1FC 0x0
sudo wrmsr 0x1AD 0x31313131 (your OC multiplier instead of 31 convertex to hex) 31 hex = 49
sudo devmem2 0xA0702024 h 0x0
sudo devmem2 0xA0702044 h 0x0
sudo devmem2 0xA0702064 h 0x0
sudo devmem2 0xA0702084 h 0x0
sudo devmem2 0xA07020A4 h 0x0
sudo devmem2 0xA07020C4 h 0x0
sudo devmem2 0xA07020E4 h 0x0
sudo devmem2 0xA0702104 h 0x0