Workspace Physical Standing Desk The page is for the following standing desk unit with the touch based input remote as seen on the picture. Controller Setup See attached pdf manual for details. Software Xorg AMDGPU I own a AMD Vega64 and an using it with i3 on Manjaro. The misaligned monitors on the greeter and the manual resolution and refresh rate switching were super annoying. Setup Updated Manjaro with kernel >5.0 including amdgpu kernel driver AMD Vega64 Monitor capable of 144Hz and Freesync Second Monitor not capable of those things 144Hz modline This was relative simple, amdgpu is pretty verbose on startup and prints all available modlines for the connected outputs on the card into /var/log/Xorg.0.log . With a simple less /var/log/Xorg.0.log I quickly found it somehwere along with [ 6.454] (II) AMDGPU(0): Printing probed modes for output DisplayPort-2 [ 6.454] (II) AMDGPU(0): Modeline "2560x1440"x60.0 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync (88.8 kHz eP) [ 6.454] (II) AMDGPU(0): Modeline "2560x1440"x143.9 586.00 2560 2568 2600 2640 1440 1465 1473 1543 +hsync -vsync (222.0 kHz e) [ 6.454] (II) AMDGPU(0): Modeline "2560x1440"x119.9 482.64 2560 2568 2600 2640 1440 1447 1455 1525 +hsync -vsync (182.8 kHz e) [ 6.454] (II) AMDGPU(0): Modeline "2560x1440"x99.9 398.23 2560 2568 2600 2640 1440 1496 1504 1510 +hsync -vsync (150.8 kHz e) and used the one with my desired configuration. xorg config To get my setup working as expecting without manual configuration on every startup, I needed to place a persistent config in the xorg config folder so e.g. /etc/X11/xorg.conf.d/10-monitors.conf . There, I configured both my GPU driver and the monitors like following. The Monitor sections are straightforward. DisplayPort-2 is my 144Hz display, so I added the modline as a new preset 2560x1440_full and used it in the PreferredMode option. Further I enabled DPMS, the Display Power Management Signaling so the system could turn of the Montiors just in case. The Device section contains the preferred options for the given GPU drive, in my case amdgpu . I enabled TearFree as well as VariableRefresh , the first one should reduce tearing on both displays while the latter one enables FreeSync on my 144Hz monitor. After a reboot, my monitor indeed reported it was using FreeSync! Section "Monitor" Identifier "DisplayPort-2" Modeline "2560x1440_full" 586.00 2560 2568 2600 2640 1440 1465 1473 1543 +hsync -vsync Option "Primary" "true" Option "PreferredMode" "2560x1440_full" Option "DPMS" "true" EndSection Section "Monitor" Identifier "DisplayPort-1" Option "PreferredMode" "2560x1440_59.95" Option "LeftOf" "DisplayPort-2" Option "DPMS" "true" EndSection Section "Device" Identifier "AMD-VEGA" Driver "amdgpu" Option "VariableRefresh" "true" Option "TearFree" "true" EndSection fan2go My setup on ws01.havok.xyz This will setup the fans to both value temps of cpu + ssd or gpu + ssd. fans: - id: radiator_fans minPwm: 60 startPwm: 60 hwmon: platform: nct6798-isa-0290 index: 5 curve: cpu_ssd_curve - id: case_top_fans hwmon: platform: nct6798-isa-0290 index: 2 neverStop: false curve: cpu_ssd_curve - id: case_gpu_front hwmon: platform: nct6798-isa-0290 index: 3 neverStop: false curve: gpu_ssd_curve - id: case_gpu_rear hwmon: platform: nct6798-isa-0290 index: 4 neverStop: false curve: gpu_ssd_curve sensors: - id: cpu hwmon: platform: k10temp-pci-00c3 index: 1 - id: chipset hwmon: platform: asusec-isa-0000 index: 1 - id: gpu hwmon: platform: amdgpu-pci-0b00 index: 2 - id: ssd_1 hwmon: platform: nvme-pci-0100 index: 1 - id: ssd_2 hwmon: platform: nvme-pci-0400 index: 3 curves: - id: cpu_curve linear: sensor: cpu steps: - 0: 80 - 60: 80 - 70: 80 - 75: 124 - 95: 255 - id: ssd_curve linear: sensor: ssd_1 steps: - 0: 80 - 50: 80 - 60: 120 - 65: 150 - 70: 255 - id: gpu_curve linear: sensor: gpu steps: - 0: 80 - 65: 80 - 70: 80 - 95: 255 - id: cpu_ssd_curve function: type: maximum curves: - cpu_curve - ssd_curve - id: gpu_ssd_curve function: type: maximum curves: - gpu_curve - ssd_curve lazyvim Fixing multiple rust-analyzer running https://github.com/LazyVim/LazyVim/discussions/3825#discussioncomment-9937797 in ~/.config/nvim/lua/plugins add a file called mason.lua with content return { { "neovim/nvim-lspconfig", opts = { setup = { rust_analyzer = function() return true end, }, }, }, } Removing unwanted Markdown warnings in ~/.config/nvim/lua/plugins add a file lint.lua return { { "mfussenegger/nvim-lint", opts = { linters = { markdownlint = { args = { "--disable", "MD013", "--disable", "MD012", "--" }, }, }, }, }, } Add prefered hidden file viewing in ~/.config/nvim/lua/plugins add a file neo-tree.lua return { "nvim-neo-tree/neo-tree.nvim", opts = { filesystem = { filtered_items = { visible = false, show_hidden_count = true, hide_dotfiles = false, hide_gitignored = false, hide_by_name = { -- ".git", -- '.DS_Store', -- 'thumbs.db', }, never_show = { ".git", }, }, }, }, Add prefered color scheme in ~/.config/nvim/lua/plugins add colorscheme.lua return { -- add gruvbox { "catppuccin/nvim" }, -- Configure LazyVim to load gruvbox { "LazyVim/LazyVim", opts = { colorscheme = "catppuccin", }, }, }