-
-
Notifications
You must be signed in to change notification settings - Fork 638
Description
Read the FAQ first
- I have checked the FAQ but the issue is not covered
Description
Bug Description
After swapping display ports on my GPU (changing which monitor is connected to which port), fastfetch shows incorrect display information. It only displays one monitor with properties from the other monitor.
System Information
- OS: CachyOS (Arch-based)
- Desktop Environment: KDE Plasma (Wayland)
- fastfetch version: 2.55.1 (x86_64)
- Display session type: Wayland (
$XDG_SESSION_TYPE= wayland)
Hardware Setup
- Monitor 1 (DP-1): 2560x1440 @ 180Hz (AOC Q27G3XMN)
- Monitor 2 (DP-2): 1920x1080 @ 144Hz (ACR064D - Acer)
Expected Behavior
Fastfetch should display both monitors with their correct specifications.
Actual Behavior
Fastfetch shows only one monitor:
Display (ACR064D): 1920x1080 in 27", 144 Hz [External]
However, I have two monitors connected:
- ACR064D (Acer): 1920x1080@144Hz on DP-2 - correctly displayed
- AOC Q27G3XMN: 2560x1440@180Hz on DP-1 - completely missing from output
Root Cause Found
Running fastfetch -c all.jsonc --stat --format json reveals that fastfetch does detect both monitors, but only displays one:
Display module output (only shows Acer):
{
"type": "Display",
"result": [
{
"id": 841830468,
"name": "ACR064D",
"primary": false,
"output": {
"width": 1920,
"height": 1080,
"refreshRate": 143.992
},
"type": "External",
"platformApi": "wayland-kde"
}
]
}Brightness module output (shows both monitors):
{
"type": "Brightness",
"result": [
{
"name": "Q27G3XMN",
"max": 100.0,
"current": 15.0,
"builtin": false
},
{
"name": "Acer XF270H B",
"max": 100.0,
"current": 29.0,
"builtin": true
}
]
}The issue: The AOC monitor (Q27G3XMN) is marked as "builtin": false in the Brightness module but doesn't appear in the Display module output at all. It seems fastfetch is incorrectly filtering out or failing to detect the AOC monitor in the Display module, even though it successfully detects it for brightness control.
Both monitors are external desktop displays - neither is actually a built-in laptop screen.
What Triggered the Issue
- I physically swapped the DisplayPort cables between monitors (changed which port each monitor uses on the GPU)
- The issue persisted after this swap
System Correctly Detects Both Monitors
KDE Plasma's kscreen-doctor -o correctly shows both displays with accurate information:
- DP-1: 2560x1440@180Hz (enabled, priority 1)
- DP-2: 1920x1080@144Hz (enabled, priority 2)
Wayland itself has no issues - only fastfetch displays incorrect information.
Troubleshooting Steps Attempted
- ✗ Deleted fastfetch cache:
rm -rf ~/.cache/fastfetch - ✗ Deleted KDE display cache:
rm -rf ~/.local/share/kscreen/ ~/.cache/kscreen/ - ✗ Full system reboot
- ✗ Hot-unplugged and replugged both monitors during operation
- ✗ Tried config with
"compactType": "none" - ✗ All attempts to configure display detection via config file
Configuration Attempted
Tried creating ~/.config/fastfetch/config.jsonc with:
No effect on the issue.
Additional Notes
- This appears to be a Wayland multi-monitor detection bug
- The issue specifically occurs after physically swapping display ports
- KDE Plasma and the system itself correctly detect both monitors
- Only fastfetch shows incorrect/mixed information
Request
Could you please investigate the display detection logic for Wayland multi-monitor setups, particularly how fastfetch handles monitor identification after port changes?
Version used
2.55.1 (x86_64)
Bug prevalence
Always
Regression
Yes
Installation
Package manager
Package manager
pacman
Screenshots
No response
Configuration
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json",
"modules": [
"title",
"separator",
"os",
"host",
"kernel",
"uptime",
"packages",
"shell",
"display",
"de",
"wm",
"wmtheme",
"theme",
"icons",
"font",
"cursor",
"terminal",
"terminalfont",
"cpu",
"gpu",
"memory",
"swap",
"disk",
"localip",
"battery",
"poweradapter",
"locale",
"break",
"colors"
]
}System information
"date": "01/13/2025",
"release": "5.17",
"vendor": "American Megatrends Inc.",
"version": "3621",
"type": "UEFI"
},
"stat": 0.0384510001167655
},
{
"type": "Bootmgr",
"result": {
"name": "Linux Boot Manager",
"firmware": "\\EFI\\SYSTEMD\\SYSTEMD-BOOTX64.EFI",
"order": 1,
"secureBoot": true
},
"stat": 0.14681199984624982
},
{
"type": "Board",
"result": {
"name": "ROG STRIX B550-F GAMING",
"vendor": "ASUSTeK COMPUTER INC.",
"version": "Rev X.0x",
"serial": ""
},
"stat": 0.03407000005245209
},
{
"type": "Chassis",
"result": {
"type": "Desktop",
"vendor": "",
"version": "",
"serial": ""
},
"stat": 0.049500999972224236
},
{
"type": "Kernel",
"result": {
"architecture": "x86_64",
"name": "Linux",
"release": "6.17.9-2-cachyos",
"version": "#1 SMP PREEMPT_DYNAMIC Tue, 25 Nov 2025 01:13:51 +0000",
"pageSize": 4096
},
"stat": 0.0006800000555813313
},
{
"type": "InitSystem",
"result": {
"name": "systemd",
"exe": "/usr/lib/systemd/systemd",
"version": "258.2-2-arch",
"pid": 1
},
"stat": 0.2542730001732707
},
{
"type": "Uptime",
"result": {
"uptime": 1328300,
"bootTime": "2025-11-30T12:13:09.480+0100"
},
"stat": 0.026749999960884452
},
{
"type": "Loadavg",
"result": [
0.27,
0.41,
0.34
],
"stat": 0.009390000021085143
},
{
"type": "Processes",
"result": 388,
"stat": 0.3733450002036989
},
{
"type": "Packages",
"result": {
"all": 1572,
"amSystem": 0,
"amUser": 0,
"apk": 0,
"brew": 0,
"brewCask": 0,
"choco": 0,
"dpkg": 0,
"emerge": 0,
"eopkg": 0,
"flatpakSystem": 0,
"flatpakUser": 0,
"guixSystem": 0,
"guixUser": 0,
"guixHome": 0,
"hpkgSystem": 0,
"hpkgUser": 0,
"linglong": 0,
"mport": 0,
"nixDefault": 0,
"nixSystem": 0,
"nixUser": 0,
"opkg": 0,
"pacman": 1572,
"pacstall": 0,
"paludis": 0,
"pisi": 0,
"pkg": 0,
"pkgtool": 0,
"pkgsrc": 0,
"macports": 0,
"rpm": 0,
"scoopUser": 0,
"scoopGlobal": 0,
"snap": 0,
"soar": 0,
"sorcery": 0,
"winget": 0,
"xbps": 0,
"pacmanBranch": ""
},
"stat": 0.38284499989822507
},
{
"type": "Shell",
"result": {
"exe": "/bin/fish",
"exeName": "fish",
"exePath": "/usr/bin/fish",
"pid": 2631,
"ppid": 2583,
"processName": "fish",
"prettyName": "fish",
"version": "4.2.1",
"tty": 1
},
"stat": 1.7809529998339713
},
{
"type": "Editor",
"error": "$VISUAL or $EDITOR not set",
"stat": 0.0013099999632686377
},
{
"type": "Display",
"result": [
{
"id": 841830468,
"name": "ACR064D",
"primary": false,
"output": {
"width": 1920,
"height": 1080,
"refreshRate": 143.992,
"drrStatus": null
},
"scaled": {
"width": 1920,
"height": 1080
},
"preferred": {
"width": 1920,
"height": 1080,
"refreshRate": 143.992
},
"physical": {
"width": 598,
"height": 336
},
"rotation": 0,
"bitDepth": 0,
"hdrStatus": "Unsupported",
"type": "External",
"manufactureDate": {
"year": 2019,
"week": 34
},
"serial": 2470546299,
"platformApi": "wayland-kde"
}
],
"stat": 2.9766969999764115
},
{
"type": "Brightness",
"result": [
{
"name": "Q27G3XMN",
"max": 100.0,
"min": 0.0,
"current": 15.0,
"builtin": false
},
{
"name": "Acer XF270H B",
"max": 100.0,
"min": 0.0,
"current": 29.0,
"builtin": true
}
],
"stat": 1427.902713000076
},
{
"type": "Monitor",
"error": "Monitor module is an alias of Display module",
"stat": 0.0007199998944997787
},
{
"type": "LM",
"result": {
"service": "sddm",
"type": "Wayland",
"version": "0.21.0"
},
"stat": 0.07023100019432604
},
{
"type": "DE",
"result": {
"processName": "plasmashell",
"prettyName": "KDE Plasma",
"version": "6.5.3"
},
"stat": 0.011840000050142407
},
{Features built-in
threads
vulkan
wayland
xcb-randr
xrandr
drm
drm_amdgpu
gio
dconf
dbus
imagemagick7
chafa
zlib
sqlite3
opencl
libpulse
libddcutil
libelf
libzfs
Directx Headers
System yyjson
linux/videodev2
linux/wireless
{ "modules": [ { "type": "display", "key": "Display", "compactType": "none" } ] }