Open Balrrach opened 1 week ago
try this env = AQ_NO_MODIFIERS,1
if it doesn't work the give the drm log (howto is in link also)
also does this work on sway?
The environment variable did not work. In fact, when I set it to 1 I get a black screen after launching hyprland, it does not matter which monitor configuration I use.
This is the drm log when I boot the computer with the default configuration: dmesg_wrong_resolution_setting.log
In this case I have a strange resolution in the second monitor and it does not obey any attempt to change the resolution/refresh rate, as explained previously.
This is the drm log when I configure the monitors explicitly: dmesg_system_crash_setting.log
On sway I had no problem with the second monitor, but when I used the Nvidia drivers the active monitor started flickering and showing artifacts. I cannot use the open source drivers because they crashed eventually.
I'm still having this issue as well.
I have this too.
monitor=,preferred,auto,auto
# this one crashes over usb-c, but working with HDMI
monitor= desc:BNQ BenQ PD2705U 89P03368019,3840x2160@60,0x0,1.5
monitor= desc:BOE 0x094C,1920x1200@60,0x1440,1 # X1 Carbon
[LOG] New output with name DP-3
[LOG] Applying monitor rule for DP-3
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3840, y: 2160] and format XR24 with modifier 72057594037927944 aka Y_TILED_GEN12_RC_CCS_CC
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3840, y: 2160] and format XR24 with modifier 72057594037927944 aka Y_TILED_GEN12_RC_CCS_CC
[LOG] [AQ] Swapchain: Reconfigured a swapchain to [Vector2D: x: 3840, y: 2160] XR24 of length 2
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY
[ERR] Custom resolution FAILED, falling back to preferred
[ERR] Monitor 1 has NO PREFERRED MODE, and an INVALID one was requested: 3840x2160@60.000000
[LOG] [AQ] drm: Modesetting DP-3 with 3840x2160@60.00Hz
[ERR] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET PAGE_FLIP_EVENT
[WARN] state.commit() failed in CMonitor::onCommit
[LOG] Added new monitor with name DP-3 at [-1, -1] with size [0, 0], pointer 62ed6bab3a40
[LOG] New monitor: WORKSPACEID 5, exists: 0
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 378
[LOG] [AQ] GBM: Automatically selected format AR24 for new GBM buffer
[LOG] [AQ] GBM: Buffer is marked as multigpu, forcing linear
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 256, y: 256] and format AR24 with modifier 0 aka LINEAR
[LOG] [AQ] GBM: Automatically selected format AR24 for new GBM buffer
[LOG] [AQ] GBM: Buffer is marked as multigpu, forcing linear
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 256, y: 256] and format AR24 with modifier 0 aka LINEAR
[LOG] [AQ] Swapchain: Reconfigured a swapchain to [Vector2D: x: 256, y: 256] AR24 of length 2
[LOG] Shaders initialized successfully.
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 381
[LOG] [IWaylandProtocol] Registered global [WLOutput (DP-3)]
[LOG] Applying monitor rule for eDP-1
[LOG] Not applying a new rule to eDP-1 because it's already applied!
[LOG] Applying monitor rule for DP-3
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY
[ERR] Custom resolution FAILED, falling back to preferred
[ERR] Monitor 1 has NO PREFERRED MODE, and an INVALID one was requested: 3840x2160@60.000000
[hc] loadThemeStyle: loading for size 48
[hc] getShapesC: found 1 images for left_ptr
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 378
[LOG] [AQ] drm: Cursor buffer imported into KMS with id 381
[CRITICAL]
==========================================================================================
ASSERTION FAILED!
Attempted to draw NULL texture!
at: line 1547 in OpenGL.cpp
My steps to reproduce are different. I don't have a chained monitor, just connected to Thunderbolt, but resolution set in config (3840x2160@60,0x0,1.5) for some reason is not supported via this port. I can use it over HDMI only. But with Thunderbolt I only have these:
~ hyprctl monitors
...
availableModes: 3840x2160@30.00Hz 3840x2160@29.97Hz 3840x2160@25.00Hz 3840x2160@24.00Hz 3840x2160@23.98Hz 1920x2160@59.99Hz 2560x1440@59.95Hz 1920x1080@60.00Hz 1920x1080@60.00Hz 1920x1080@59.94Hz 1920x1080@50.00Hz 1920x1080@30.00Hz 1920x1080@29.97Hz 1920x1080@25.00Hz 1920x1080@24.00Hz 1920x1080@23.98Hz 1680x1050@59.95Hz 1600x900@60.00Hz 1280x1024@75.03Hz 1280x1024@60.02Hz 1280x800@59.81Hz 1152x864@75.00Hz 1280x720@60.00Hz 1280x720@60.00Hz 1280x720@59.94Hz 1280x720@50.00Hz 1024x768@75.03Hz 1024x768@60.00Hz 832x624@74.55Hz 800x600@75.00Hz 800x600@60.32Hz 720x576@50.00Hz 720x480@60.00Hz 720x480@59.94Hz 640x480@75.00Hz 640x480@60.00Hz 640x480@59.94Hz 640x480@59.94Hz 720x400@70.08Hz
There is no crash when resolution is 3840x2160@30.00Hz (but refresh rate is too low)
So, I believe this crash can be reproduced by setting unsupported resolution in config.
Already reported ? *
Regression?
No
System Info and Version
System/Version info
```sh Hyprland, built from branch at commit 0f594732b063a90d44df8c5d402d658f27471dfe (props: bump version to 0.43.0). Date: Sun Sep 8 16:48:21 2024 Tag: v0.43.0, commits: 5196 flags: (if any) System Information: System name: Linux Node name: linux-desktop Release: 6.10.10-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Thu, 12 Sep 2024 17:21:02 +0000 GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] [10de:2504] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 560.35.03 Fri Aug 16 21:39:15 UTC 2024 os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo ```Description
I have two monitors. A main monitor and a secondary one that is chained to the main one and receives the input from a thunderbolt cable. The setup works fine with other OS (Windows and MacOs). Often times (do not know under which circumstances) the secondary monitor presents problems.
First, Hyprland crashes on startup. The cache file is attached below. Then, when I comment my configuration for the monitors Hyprland starts, but the second monitor resolution is wrong:
Also, trying to change the second monitor resolution either does not work or results in a crash.
This is my monitors current configuration.
At the begging I had a different configuration:
With this configuration Hyprland started more often, but the second monitor resolution was almost always wrong. I thought this could be due to the port being recognized by hyprland later in the startup, but configuring it once it had booted up never changed the monitor resolution/refresh rate.
How to reproduce
Crash reports, logs, images, videos