brndnmtthws / conky

Light-weight system monitor for X, Wayland (sort of), and other things, too
https://conky.cc
GNU General Public License v3.0
7.29k stars 620 forks source link

[Bug]: Conky doesn't show a window on Wayland #1960

Open kleshas opened 5 months ago

kleshas commented 5 months ago

What happened?

Running sway, updated arch (new install). AMD 6750XT

Not sure when it started but recently my previously-working config only shows a blank window. I saw a link on google saying this can be caused by an external IP lookup happening too often, but removing that from my config didn't help.

When out_to_x=true, out_to_wayland=false I get a blank conky window. When out_to_x=false, out_to_wayland=true I don't get a window at all (though there is a conky running in htop).

Actually, it seems that the window DOES eventually populate, but after a few mins, and it seems to not be doing any further updates (I have a time entry in the config, it hasn't changed for 5 mins).

With out_to_wayland=true there is no change using own_window_type override, desktop or normal. Running from command line: conky -c ~/.conkyrc conky: drawing to single buffer conky: FOUND: console conky: FOUND: ncurses conky: FOUND: file conky: FOUND: x11 conky: FOUND: wayland

and nothing after.

conky-cairo (1.21.2) has the error: "unknown setting out_to_wayland, and Unable to find a usable display output when using out_to_wayland=true

Version

all from 1.18

Which OS/distro are you seeing the problem on?

Arch Linux

Conky config

conky.config = {

out_to_x=false,
out_to_wayland=true,
font = 'Liberation Mono Regular:size=10',
background = false,
cpu_avg_samples = 2,
diskio_avg_samples = 10,
double_buffer = true,
if_up_strictness = 'address',
net_avg_samples = 2,
no_buffers = true,
temperature_unit = 'celsius',
text_buffer_size = 2048,
update_interval = 1,
imlib_cache_size = 0,
alignment = 'top_left',
gap_x = 0,
gap_y = 0,
minimum_height = 600,
minimum_width = 350,
maximum_width = 350,
border_outer_margin = 1,
border_width = 1,
default_bar_width = 250,
default_bar_height = 10,
default_gauge_height = 25,
default_gauge_width = 40,
default_graph_height = 40,
default_graph_width = 153,
default_shade_color = '#000000',
default_outline_color = '#000000',
draw_borders = false,
draw_graph_borders = true,
draw_shades = false,
draw_outline = false,
stippled_borders = 0,
extra_newline = false,
format_human_readable = true,
max_text_width = 0,
max_user_text = 16384,
short_units = true,
top_name_width = 21,
top_name_verbose = false,
uppercase = false,
use_spacer = 'none',
use_xft = true,
xftalpha = 1,
own_window = true,
own_window_argb_value =255,
own_window_argb_visual = true,
own_window_class = 'Conky',
own_window_transparent = false,
own_window_title = 'system_conky',
own_window_type = 'normal',
format_human_readable = true,

default_color = '1A4770', -- Window border
}

conky.text = [[
Memory Usage
 ]]

Stack trace

No response

Relevant log output

No response

kleshas commented 5 months ago

looks like AirVPN was causing the blank screen. Mullvad VPN doesn't have this issue. I do still have the issue with out_to_wayland=true not working.

yesrod commented 2 months ago

Having the same issue with out_to_wayland = true not displaying any window.

The issue started somewhere between versions 1.19.6 and 1.21.6. With the deb package in Ubuntu 24.04 (1.19.6), I can still see a window when using Wayland. With the 1.21.6 AppImage, the window is blank as described.

I'll download some other AppImage versions and see if I can find the exact version where this issue began.

Edit: The issue starts with version 1.21.0. The AppImage for 1.20.2 displays a window when using Wayland, and the 1.21.0 AppImage does not.

Caellian commented 1 month ago

own_window_type does nothing on Wayland. In future, it should allow configuring window to require sizing/placement like X11 counterparts, for now it's always on the background layer of zwlr-layer-shell.

Caellian commented 1 month ago

Closed issue confirms this bug on KDE besides Sway, so I'm merging them here as this one is older.

cc @maxulm

Caellian commented 1 month ago

Related to #1916

Caellian commented 1 day ago

@abkein confirms this issue on Hyprland as well.

Running hyprctl reveals that window is mapped, focusable, and should be visible:

Window 5ef2019dbb90 -> ./src/conky:
    mapped: 1
    hidden: 0
    at: 2,28
    size: 956,1050
    workspace: 3 (3)
    floating: 0
    pseudo: 0
    monitor: 0
    class: kitty
    title: ./src/conky
    initialClass: kitty
    initialTitle: kitty
    pid: 687435
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags: 
    swallowing: 0
    focusHistoryID: 1

So this probably has something to do with how buffers are drawn/swapped.

Bluey26 commented 1 day ago

Hi, i can confirm this also happens in labwc (wlroots based). It works if i use it via xwayland, but if wayland fallback is enabled and selected, there is no window.

This is what works at the moment for me:

    out_to_wayland = false,
    out_to_x=true,