Skip to content

Unable to use normcap on hyprland multimonitor #822

@kntjspr

Description

@kntjspr

What happened?

Running ./NormCap-0.6.0-x86_64.AppImage turns my secondary monitor completely black and my secondary monitor display goes to my primary monitor. It also incorrectly captures a region, it tilts from the one that was actually selected. It used to work on GNOME on same setup.

How did you install NormCap?

AppImage (Linux)

Operating System + Version?

Fedora 43

[Linux only] Display Server (DS) + Desktop environment (DE)?

Display Server (DS): Wayland + Compositor / WM: Hyprland

Debug log output?*

00:53:45 - INFO    - normcap:53 - Start NormCap v0.6.0
00:53:45 - DEBUG   - normcap:129 - Set XCURSOR_SIZE=24
00:53:45 - DEBUG   - normcap:134 - Set QT_QPA_PLATFORM=wayland
00:53:45 - DEBUG   - normcap:141 - Append /tmp/.mount_NormCaLIkAcA/usr/bin to AppImage internal PATH
00:53:45 - DEBUG   - normcap.gui.tray:71 - System info:
{'normcap_version': '0.6.0', 'python_version': '3.10.16', 'cli_args': '/tmp/.mount_NormCaLIkAcA/usr/app/normcap/__main__.py -v debug', 'is_briefcase_package': True, 'is_flatpak_package': False, 'is_appimage_package': True, 'platform': 'linux', 'desktop_environment': <DesktopEnvironment.HYPRLAND: 6>, 'display_manager_is_wayland': True, 'pyside6_version': '6.9.2', 'qt_version': '6.9.2', 'qt_library_path': '/tmp/.mount_NormCaLIkAcA/usr/app_packages/PySide6/Qt/plugins, /tmp/.mount_NormCaLIkAcA/usr/python/bin', 'locale': 'DEFAULT', 'config_directory': PosixPath('/home/xo/.config/normcap'), 'resources_path': PosixPath('/tmp/.mount_NormCaLIkAcA/usr/app/normcap/resources'), 'tesseract_path': PosixPath('/tmp/.mount_NormCaLIkAcA/usr/bin/tesseract'), 'tessdata_path': PosixPath('/home/xo/.config/normcap/tessdata'), 'envs': {'TESSDATA_PREFIX': None, 'LD_LIBRARY_PATH': None}, 'screens': [Screen(left=1920, top=0, right=3839, bottom=1079, device_pixel_ratio=1.0, index=0, screenshot=<PySide6.QtGui.QImage(null) at 0x7f9cde97a5c0>), Screen(left=3840, top=0, right=5759, bottom=1079, device_pixel_ratio=1.0, index=1, screenshot=<PySide6.QtGui.QImage(null) at 0x7f9cde97a600>)]}
00:53:45 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (log-file: None)
00:53:45 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (version: False)
00:53:45 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (cli-mode: False)
00:53:45 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (background-mode: False)
00:53:45 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (screenshot-handler: None)
00:53:45 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (clipboard-handler: None)
00:53:45 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (notification-handler: None)
00:53:45 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (dbus-activation: False)
00:53:45 - DEBUG   - normcap.gui.tray:433 - Listen on local socket v0.6.0-normcap.
00:53:45 - DEBUG   - normcap.screenshot.main:28 - Compatible capture handlers: ['GRIM', 'DBUS_PORTAL']
00:53:45 - DEBUG   - normcap.screenshot.handlers.grim:25 - normcap.screenshot.handlers.grim dependencies are installed (/usr/bin/grim)
00:53:45 - DEBUG   - normcap.screenshot.main:35 - Available capture handlers: ['GRIM', 'DBUS_PORTAL']
00:53:46 - DEBUG   - normcap.screenshot.post_processing:17 - Virtual geometry width: 3840
00:53:46 - DEBUG   - normcap.screenshot.post_processing:18 - Image width: 3840
00:53:46 - DEBUG   - normcap.screenshot.post_processing:19 - Resize ratio: 1.0
00:53:46 - INFO    - normcap.screenshot.main:74 - Screen captured using GRIM
00:53:46 - DEBUG   - normcap.gui.utils:34 - Save debug image as /tmp/normcap/2026-01-13_16-53-46_raw_screen0.png
00:53:46 - DEBUG   - normcap.gui.utils:34 - Save debug image as /tmp/normcap/2026-01-13_16-53-46_raw_screen1.png
00:53:46 - DEBUG   - normcap.gui.window:52 - Create window for screen 0
00:53:46 - DEBUG   - normcap.gui.window:116 - Set window of screen 0 to fullscreen
00:53:46 - DEBUG   - normcap.gui.window:52 - Create window for screen 1
00:53:46 - DEBUG   - normcap.gui.window:116 - Set window of screen 1 to fullscreen
00:53:46 - DEBUG   - normcap.detection.ocr.tesseract:63 - Executing '/tmp/.mount_NormCaLIkAcA/usr/bin/tesseract --list-langs --tessdata-dir /home/xo/.config/normcap/tessdata'
00:53:46 - DEBUG   - normcap.detection.ocr.tesseract:76 - Tesseract command output: List of available languages in "/home/xo/.config/normcap/tessdata/" (1): ¬ eng ¬
00:53:46 - DEBUG   - normcap.positioning.main:25 - Compatible positioning handlers: []
00:53:46 - DEBUG   - normcap.positioning.main:32 - Available positioning handlers: []
00:53:46 - ERROR   - normcap.positioning.main:37 - None of the implemented window positioning handlers is compatible with this system!
00:53:46 - ERROR   - normcap.positioning.main:103 - Unable to to position window! This is ususally no probem when NormCap is used with a single monitor. But in multi monitor setups, it likely causes window displacments which can practically make NormCap unusable. Consider reporting your report issue: https://github.com/dynobo/normcap/issues
00:53:46 - DEBUG   - normcap.positioning.main:25 - Compatible positioning handlers: []
00:53:46 - DEBUG   - normcap.positioning.main:32 - Available positioning handlers: []
00:53:46 - ERROR   - normcap.positioning.main:37 - None of the implemented window positioning handlers is compatible with this system!
00:53:46 - ERROR   - normcap.positioning.main:103 - Unable to to position window! This is ususally no probem when NormCap is used with a single monitor. But in multi monitor setups, it likely causes window displacments which can practically make NormCap unusable. Consider reporting your report issue: https://github.com/dynobo/normcap/issues
00:53:52 - DEBUG   - normcap.gui.tray:395 - Hide 2 windows
00:53:52 - INFO    - normcap.gui.tray:610 - Exit normcap
00:53:52 - DEBUG   - normcap.gui.tray:611 - Debug images saved in /tmp/normcap

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageNeeds confirmation and priotization

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions