Laptop screen scaling appearing to cause odd scrolling issue?

Hi all -

new Garuda user hear and I’ve seen some oddities with the XFCE environment that I wanted to understand better.

I run dual screens - a large display and the laptop’s native display. Unfortunately, XFCE only gives me an option of 2560x1600 for the laptop display which made things VERY small and near unusable. After some fiddling, I used a custom scale of X 0.5 and Y 0.5 and I could get the visibility I was looking for, but now the screen appears to scroll up and down within the confines of the monitor? For example, if I put my mouse on the right side of the laptop screen, it will scroll to the right causing the wallpaper to disappear. Similarly, if I put the mouse at the bottom of the screen, it scrolls down until the wallpaper disappears as well. I can scroll back up to what would be the top of the screen, but moving left causes the mouse to pop out onto my other monitor. Initially I thought it might’ve been the workspaces, but reducing the workspaces to 1, did not address the issue. Oddly, this scrolling behavior also appears to affect the dimensions of the primary display, removing the ability to access the left side of the screen?

Thanks in advance!


inxi is below:

  Kernel: 6.6.32-1-lts arch: x86_64 bits: 64 compiler: gcc v: 14.1.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
    root=UUID=88957d70-06c0-4be3-b335-b2ee2a415d61 rw rootflags=subvol=@
    quiet loglevel=3 ibt=off
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 wm: xfwm4 v: 4.18.0
    with: xfce4-panel tools: xfce4-screensaver avail: xautolock vt: 7
    dm: LightDM v: 1.32.0 Distro: Garuda base: Arch Linux
  Type: Laptop System: ASUSTeK product: ROG Zephyrus M16 GU604VZ_GU604VZ
    v: 1.0 serial: <superuser required>
  Mobo: ASUSTeK model: GU604VZ v: 1.0 serial: <superuser required>
    uuid: <superuser required> UEFI: American Megatrends LLC. v: GU604VZ.312
    date: 09/07/2023
  ID-1: BAT0 charge: 84.0 Wh (100.0%) condition: 84.0/90.0 Wh (93.3%)
    volts: 17.5 min: 16.0 model: AS3GYFG3KC R220358 type: Unknown
    serial: <filter> status: full
  Device-1: hidpp_battery_0 model: Logitech Wireless Mouse MX Master 3
    serial: <filter> charge: 100% (should be ignored) rechargeable: yes
    status: discharging
  Info: model: 13th Gen Intel Core i9-13900H bits: 64 type: MST AMCP
    arch: Raptor Lake gen: core 13 level: v3 note: check built: 2022+
    process: Intel 7 (10nm) family: 6 model-id: 0xBA (186) stepping: 2
    microcode: 0x4121
  Topology: cpus: 1x cores: 14 mt: 6 tpc: 2 st: 8 threads: 20 smt: enabled
    cache: L1: 1.2 MiB desc: d-8x32 KiB, 6x48 KiB; i-6x32 KiB, 8x64 KiB
    L2: 11.5 MiB desc: 6x1.2 MiB, 2x2 MiB L3: 24 MiB desc: 1x24 MiB
  Speed (MHz): avg: 572 high: 944 min/max: 400/5200:5400:4100 scaling:
    driver: intel_pstate governor: powersave cores: 1: 679 2: 400 3: 630 4: 400
    5: 616 6: 400 7: 792 8: 944 9: 400 10: 706 11: 827 12: 943 13: 400 14: 400
    15: 400 16: 400 17: 918 18: 400 19: 400 20: 400 bogomips: 119840
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
  Device-1: Intel Raptor Lake-P [Iris Xe Graphics] vendor: ASUSTeK
    driver: i915 v: kernel arch: Gen-13 process: Intel 7 (10nm) built: 2022+
    ports: active: DP-2 empty: DP-3 bus-ID: 0000:00:02.0 chip-ID: 8086:a7a0
    class-ID: 0380
  Device-2: NVIDIA AD104M [GeForce RTX 4080 Max-Q / Mobile] vendor: ASUSTeK
    driver: nvidia v: 550.90.07 alternate: nouveau,nvidia_drm non-free: 550.xx+
    status: current (as of 2024-04) arch: Lovelace code: AD1xx
    process: TSMC n4 (5nm) built: 2022+ ports: active: none off: eDP-1
    empty: DP-1,HDMI-A-1 bus-ID: 0000:01:00.0 chip-ID: 10de:27e0
    class-ID: 0300
  Device-3: Sonix USB2.0 FHD UVC WebCam driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-7:6 chip-ID: 3277:0018
    class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.13 compositor: xfwm4 v: 4.18.0 driver:
    X: loaded: modesetting,nvidia unloaded: nouveau
    alternate: fbdev,intel,nv,vesa dri: iris gpu: i915,nvidia,nvidia-nvswitch
    display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 6000x2119 s-dpi: 122 s-size: 1249x381mm (49.17x15.00")
    s-diag: 1306mm (51.41")
  Monitor-1: DP-2 mapped: DP-1-2 pos: primary,top-left model: LG (GoldStar)
    ULTRAGEAR+ serial: <filter> built: 2024 res: 3440x1440 hz: 240 dpi: 84
    gamma: 1.2 size: 1043x436mm (41.06x17.17") diag: 1130mm (44.5") modes:
    max: 3440x1440 min: 640x480
  Monitor-2: eDP-1 mapped: DP-2 note: disabled pos: bottom-r model: BOE
    Display NE160QDM-NM4 built: 2022 res: 1280x800 dpi: 2032 gamma: 1.2
    size: 16x10mm (0.63x0.39") diag: 407mm (16") ratio: 16:10 modes: 2560x1600
  API: Vulkan v: 1.3.279 layers: 6 device: 0 type: discrete-gpu name: NVIDIA
    GeForce RTX 4080 Laptop GPU driver: nvidia v: 550.90.07
    device-ID: 10de:27e0 surfaces: xcb,xlib device: 1 type: integrated-gpu
    name: Intel Graphics (RPL-P) driver: mesa intel v: 24.1.1-arch1.1
    device-ID: 8086:a7a0 surfaces: xcb,xlib device: 2 type: cpu name: llvmpipe
    (LLVM 17.0.6 256 bits) driver: mesa llvmpipe v: 24.1.1-arch1.1 (LLVM
    17.0.6) device-ID: 10005:0000 surfaces: xcb,xlib
  API: OpenGL Message: Unable to show GL data. glxinfo is missing.
  Device-1: Intel Raptor Lake-P/U/H cAVS vendor: ASUSTeK driver: snd_hda_intel
    v: kernel alternate: snd_sof_pci_intel_tgl bus-ID: 0000:00:1f.3
    chip-ID: 8086:51ca class-ID: 0403
  Device-2: NVIDIA AD104 High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel bus-ID: 0000:01:00.1 chip-ID: 10de:22bc
    class-ID: 0403
  Device-3: Realtek LG Monitor Headset MIC driver: hid-generic,usbhid
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-1.3:4
    chip-ID: 0bda:4cb6 class-ID: 0300
  Device-4: Razer USA Nari Ultimate driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-
    chip-ID: 1532:051a class-ID: 0300
  API: ALSA v: k6.6.32-1-lts status: kernel-api tools: N/A
  Server-1: PipeWire v: 1.0.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
  Device-1: Intel Raptor Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 0000:00:14.3 chip-ID: 8086:51f1 class-ID: 0280
  IF: wlo1 state: down mac: <filter>
  Device-2: Realtek USB 10/100/1G/2.5G LAN driver: r8152 type: USB rev: 3.2
    speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 4-
    chip-ID: 0bda:8156 class-ID: 0000 serial: <filter>
  IF: eth0 state: up speed: 2500 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
  Device-1: Intel AX211 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-10:7 chip-ID: 8087:0033
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.3
    lmp-v: 12 status: discoverable: no pairing: no class-ID: 6c010c
  Hardware-1: Intel Volume Management Device NVMe RAID Controller Intel
    driver: vmd v: 0.6 port: N/A bus-ID: 0000:00:0e.0 chip-ID: 8086:a77f rev:
    class-ID: 0104
  Local Storage: total: 4.57 TiB used: 20.92 GiB (0.4%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:6 vendor: SK Hynix model: HFS001TEJ9X101N
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 51000A20 temp: 43.9 C
    scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Samsung model: SSD 990 PRO with
    Heatsink 4TB size: 3.64 TiB block-size: physical: 512 B logical: 512 B
    speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter> fw-rev: 4B2QJXD7
    temp: 40.9 C scheme: GPT
  ID-1: / raw-size: 256 GiB size: 256 GiB (100.00%) used: 9.17 GiB (3.6%)
    fs: btrfs dev: /dev/nvme1n1p4 maj-min: 259:4
  ID-2: /boot/efi raw-size: 1024 MiB size: 1022 MiB (99.80%)
    used: 588 KiB (0.1%) fs: vfat dev: /dev/nvme1n1p3 maj-min: 259:3
  ID-3: /home raw-size: 380.42 GiB size: 380.42 GiB (100.00%)
    used: 5.73 GiB (1.5%) fs: btrfs dev: /dev/nvme0n1p8 maj-min: 259:14
  ID-4: /usr raw-size: 1000 GiB size: 1000 GiB (100.00%)
    used: 6.02 GiB (0.6%) fs: btrfs dev: /dev/nvme1n1p6 maj-min: 259:5
  ID-5: /var/log raw-size: 256 GiB size: 256 GiB (100.00%)
    used: 9.17 GiB (3.6%) fs: btrfs dev: /dev/nvme1n1p4 maj-min: 259:4
  ID-6: /var/tmp raw-size: 256 GiB size: 256 GiB (100.00%)
    used: 9.17 GiB (3.6%) fs: btrfs dev: /dev/nvme1n1p4 maj-min: 259:4
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 30.97 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 20 dev: /dev/zram0
  System Temperatures: cpu: 51.0 C mobo: N/A gpu: nvidia temp: 50 C
  Fan Speeds (rpm): cpu: 2200
  Memory: total: 32 GiB note: est. available: 30.97 GiB used: 4.05 GiB (13.1%)
  Processes: 441 Power: uptime: 22m states: freeze,mem,disk suspend: s2idle
    avail: deep wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 12.35 GiB services: power-profiles-daemon,
    upowerd, xfce4-power-manager Init: systemd v: 255 default: graphical
    tool: systemctl
  Packages: pm: pacman pkgs: 1478 libs: 434 tools: octopi,pamac,paru,yay
    Compilers: gcc: 14.1.1 Shell: garuda-inxi default: Zsh v: 5.9
    running-in: xfce4-terminal inxi: 3.3.34
Garuda (2.6.26-1):
  System install date:     2024-06-12
  Last full system update: 2024-06-12
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut nvidia-dkms
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:            mnt-NetHome.mount mnt-NetMX.mount mnt-NetShared.mount mnt-NetWeb.mount 

a friend suggested I disable scaling and that has, in fact, solved the issue…at least part way. I still have difficulty reading the text on the laptop screen. May I presume that it’s not an option to adjust font sizes on a per display basis?

You can set per-display scaling fairly easily with Wayland, but since you are on Xorg it is trickier. I think the most straightforward way is to set a different DPI setting for the monitor screen and see if you can get a good result out of that.

Setting DPI manually

Note: While you can set any dpi you like and applications using Qt and GTK will scale accordingly, it is recommended to set it to 96, 120 (25% higher), 144 (50% higher), 168 (75% higher), 192 (100% higher) etc., to reduce scaling artifacts to GUIs that use bitmaps. Reducing it below 96 dpi may not reduce the size of the GUIs graphical elements, as typically the lowest dpi the icons are made for is 96.

For RandR compliant drivers (for example the open source ATI driver), you can set it by:

$ xrandr --dpi 144

Note: Applications that comply with the setting will not change immediately. You have to start them anew.

To make it permanent, see Autostarting#On Xorg startup.


thanks for the suggestion Bluish! Am I correct that I should be able to specify the particular display as part of that command? For example:

xrandr --output DP-2 --dpi 144

I’d actually thought that I’d grab the KDE version again…is there another version you’d suggest trying?

That’s what I was thinking, I’m not sure though because some things I am reading say the --dpi flag sets the global DPI for the X server (so applies to all monitors).

Another thing you could try would be to use the --scale flag instead, like this:

xrandr --output DP-2 --scale 1.5x1.5

You may need to adjust the relative position if you use scaling, and it does change the effective resolution. If needed, you can combine with resolution like this:

xrandr --output DP-2 --mode 2560x1440 --scale 1.5x1.5

You’ll have to do some testing and let us know what works, and what does not work.

Yes, try KDE, Gnome, and Cinnamon as well and see how you like them. :slightly_smiling_face:

1 Like

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