Managing displays in kde without kscreen

I have been doing some research on cause of displays sleeping and waking or staying awake and failing to go back to sleep. Found evidence that kscreen has issues with multi-monitor, probably with different specs and connection types.

I disabled kscreen 2 and it seems to make things work as expected. However, it also means I have to configure my displays every time i restart. Is there a way to make my display configuration permanent in kde without kscreen?

garuda-inxi
System:
Kernel: 5.18.10-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.1.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=eaa1f1c6-9940-4c37-9baf-9750aa94737c rw rootflags=subvol=@
quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
loglevel=3
Desktop: KDE Plasma v: 5.25.2 tk: Qt v: 5.15.5 wm: kwin_x11 vt: 1
dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Desktop Mobo: ASUSTeK model: MAXIMUS VIII HERO v: Rev 1.xx
serial: <superuser required> UEFI: American Megatrends v: 3802
date: 03/15/2018
CPU:
Info: model: Intel Core i7-7700K bits: 64 type: MT MCP arch: Kaby Lake
gen: core 7 built: 2018 process: Intel 14nm family: 6 model-id: 0x9E (158)
stepping: 9 microcode: 0xF0
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
L3: 8 MiB desc: 1x8 MiB
Speed (MHz): avg: 4693 high: 4700 min/max: 800/4700 scaling:
driver: intel_pstate governor: performance cores: 1: 4700 2: 4700 3: 4700
4: 4699 5: 4699 6: 4674 7: 4679 8: 4700 bogomips: 67200
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: itlb_multihit status: KVM: VMX disabled
Type: l1tf
mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
Type: mds mitigation: Clear CPU buffers; SMT vulnerable
Type: meltdown mitigation: PTI
Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW,
STIBP: conditional, RSB filling
Type: srbds mitigation: Microcode
Type: tsx_async_abort mitigation: TSX disabled
Graphics:
Device-1: AMD Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]
vendor: XFX Speedster MERC 319 driver: amdgpu v: kernel arch: RDNA 2
process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s
lanes: 16 ports: active: DP-3,HDMI-A-1 empty: DP-1,DP-2 bus-ID: 03:00.0
chip-ID: 1002:73bf class-ID: 0300
Display: x11 server: X.Org v: 21.1.3 with: Xwayland v: 22.1.2
compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting,radeon
alternate: fbdev,vesa gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 4480x1440 s-dpi: 96 s-size: 1185x381mm (46.65x15.00")
s-diag: 1245mm (49.01")
Monitor-1: DP-3 mapped: DisplayPort-2 pos: primary,top-right
model: AOC AG271QG4 serial: <filter> built: 2016 res: 2560x1440 dpi: 109
gamma: 1.2 size: 597x336mm (23.5x13.23") diag: 685mm (27") ratio: 16:9
modes: max: 2560x1440 min: 720x400
Monitor-2: HDMI-A-1 mapped: HDMI-A-0 pos: bottom-l model: AOC 2769M
serial: <filter> built: 2016 res: 1920x1080 hz: 60 dpi: 82 gamma: 1.2
size: 598x336mm (23.54x13.23") diag: 686mm (27") ratio: 16:9 modes:
max: 1920x1080 min: 720x400
OpenGL: renderer: AMD Radeon RX 6800 XT (sienna_cichlid LLVM 14.0.6 DRM
3.46 5.18.10-zen1-1-zen)
v: 4.6 Mesa 22.1.3 direct render: Yes
Audio:
Device-1: Intel 100 Series/C230 Series Family HD Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:a170
class-ID: 0403
Device-2: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel
pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 03:00.1 chip-ID: 1002:ab28
class-ID: 0403
Sound Server-1: ALSA v: k5.18.10-zen1-1-zen running: yes
Sound Server-2: PulseAudio v: 16.1 running: no
Sound Server-3: PipeWire v: 0.3.54 running: yes
Network:
Device-1: Intel Ethernet I219-V vendor: ASUSTeK driver: e1000e v: kernel
port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15b8 class-ID: 0200
IF: enp0s31f6 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: virbr0 state: down mac: <filter>
Bluetooth:
Device-1: ASUSTek Broadcom BCM20702A0 Bluetooth type: USB driver: btusb
v: 0.8 bus-ID: 1-10:4 chip-ID: 0b05:17cb class-ID: fe01 serial: <filter>
Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
Drives:
Local Storage: total: 23.41 TiB used: 5.43 TiB (23.2%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Sabrent model: Rocket 4.0 1TB
size: 931.51 GiB block-size: physical: 512 B logical: 512 B
speed: 63.2 Gb/s lanes: 4 type: SSD serial: <filter> rev: RKT401.3
temp: 28.9 C scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:1 vendor: Sabrent model: Rocket 4.0 1TB
size: 931.51 GiB block-size: physical: 512 B logical: 512 B
speed: 63.2 Gb/s lanes: 4 type: SSD serial: <filter> rev: RKT401.3
temp: 31.9 C scheme: GPT
ID-3: /dev/sda maj-min: 8:0 vendor: Toshiba model: HDWE150 size: 4.55 TiB
block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s type: HDD
rpm: 7200 serial: <filter> rev: FP2A scheme: GPT
ID-4: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST240HM000-1G5152
size: 223.57 GiB block-size: physical: 4096 B logical: 512 B
speed: 6.0 Gb/s type: SSD serial: <filter> rev: C675 scheme: GPT
ID-5: /dev/sdc maj-min: 8:32 vendor: Western Digital
model: WD40EZRX-00SPEB0 size: 3.64 TiB block-size: physical: 4096 B
logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 5400 serial: <filter>
rev: 0A80 scheme: GPT
ID-6: /dev/sdd maj-min: 8:48 vendor: Samsung model: SSD 850 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 3B6Q scheme: MBR
ID-7: /dev/sde maj-min: 8:64 type: USB vendor: Western Digital
model: WD easystore 264D size: 12.73 TiB block-size: physical: 4096 B
logical: 512 B type: N/A serial: <filter> rev: 3012 scheme: GPT
Partition:
ID-1: / raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
used: 366.84 GiB (39.4%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:6
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 576 KiB (0.2%) fs: vfat dev: /dev/nvme1n1p1 maj-min: 259:5
ID-3: /home raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
used: 366.84 GiB (39.4%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:6
ID-4: /var/log raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
used: 366.84 GiB (39.4%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:6
ID-5: /var/tmp raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
used: 366.84 GiB (39.4%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:6
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 31.29 GiB used: 2.5 MiB (0.0%)
priority: 100 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 37.0 C mobo: N/A gpu: amdgpu temp: 32.0 C
mem: 34.0 C
Fan Speeds (RPM): N/A gpu: amdgpu fan: 988
Info:
Processes: 350 Uptime: 21m wakeups: 0 Memory: 31.29 GiB
used: 4.43 GiB (14.2%) Init: systemd v: 251 default: graphical
tool: systemctl Compilers: gcc: 12.1.0 alt: 11 clang: 14.0.6 Packages:
pacman: 1855 lib: 526 Shell: fish v: 3.4.1 default: Bash v: 5.1.16
running-in: konsole inxi: 3.3.19
Garuda (2.6.4-2):
System install date:     2022-06-13
Last full system update: 2022-07-11
Is partially upgraded:   No
Relevant software:       NetworkManager
Windows dual boot:       No/Undetected
Snapshots:               Snapper
Failed units:

Since you are using X11, you should be able to achieve this with an xrandr configuration: xrandr - ArchWiki

2 Likes

Can anyone tell me what I would need to have a 1080 monitor to the left of my main 1440p monitor?

I think it could be:

xrandr --output DP-3 --auto --output HDMI-A-1 --left-of DP-3 --auto

Maybe you could make it with a script like here:

4 Likes

Thanks for the help. After some wrestling with xrandr and the obscure refresh rates, I was able to get it to set with the script at startup. Finally can rid myself of kscreen 2.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.