Qt6 version of Bitcoin Core (bitcoin-qt) flickers on Wayland #903

issue diegoviola openend this issue on October 14, 2025
  1. diegoviola commented at 2:18 pm on October 14, 2025: contributor
    • I still think this issue should be opened here

    Report

    So I’ve just tried the v30.0 release and I have it up and running on Arch Linux, bitcoin-qt is running natively on Wayland (sway).

    After using the GUI for a while, I have noticed that the whole window would flicker, e.g. when switching between “Overview” and “Transactions”.

    This never happened before, and I think the reason for that is because the app would use Xwayland prior to Qt 6.

    So yes, one way of avoiding this problem is to start bitcoin-qt with QT_QPA_PLATFORM=xcb, however, I would very much like this to work with the Wayland native plugin, which is used by default.

    I did some small experimentation and have found that when commenting the following line, the problem is gone:

    https://github.com/bitcoin/bitcoin/blob/v30.0/src/qt/guiutil.cpp#L411

    Thanks!

  2. hebasto commented at 2:25 pm on October 14, 2025: member

    After using the GUI for a while, I have noticed that the whole window would flicker, e.g. when switching between “Overview” and “Transactions”.

    Does it look similar to https://github.com/bitcoin/bitcoin/issues/33432?

  3. diegoviola commented at 2:38 pm on October 14, 2025: contributor

    Does it look similar to bitcoin/bitcoin#33432?

    Yes, it does look like the same issue.

  4. hebasto commented at 2:44 pm on October 14, 2025: member

    So I’ve just tried the v30.0 release and I have it up and running on Arch Linux, bitcoin-qt is running natively on Wayland (sway).

    Could you please share the first 10 lines of your debug log file?

  5. diegoviola commented at 2:48 pm on October 14, 2025: contributor

    So I’ve just tried the v30.0 release and I have it up and running on Arch Linux, bitcoin-qt is running natively on Wayland (sway).

    Could you please share the first 10 lines of your debug log file?

    02025-10-14T14:47:07Z Bitcoin Core version v30.0 (release build)
    12025-10-14T14:47:07Z Qt 6.10.0 (dynamic), plugin=wayland
    22025-10-14T14:47:07Z No static plugins.
    32025-10-14T14:47:07Z Style: fusion / QFusionStyle
    42025-10-14T14:47:07Z System: Arch Linux, x86_64-little_endian-lp64
    52025-10-14T14:47:07Z Screen: HDMI-A-1 1920x1200, pixel ratio=1.0
    62025-10-14T14:47:07Z Using the 'x86_shani(1way;2way)' SHA256 implementation
    72025-10-14T14:47:07Z Using RdSeed as an additional entropy source
    82025-10-14T14:47:07Z Using RdRand as an additional entropy source
    92025-10-14T14:47:07Z Default data directory /home/diego/.bitcoin
    
  6. hebasto commented at 4:17 pm on October 14, 2025: member
    02025-10-14T14:47:07Z Qt 6.10.0 (dynamic), plugin=wayland
    12025-10-14T14:47:07Z No static plugins.
    

    Could you please try the release binary from https://bitcoincore.org/bin/bitcoin-core-30.0/ or build a statically linked binary with depends?

    EDIT: Both options have only the XCB plugin built in and do not use Wayland. I just want to ensure that release binaries are not affected on your system.

  7. diegoviola commented at 4:33 pm on October 14, 2025: contributor
    02025-10-14T14:47:07Z Qt 6.10.0 (dynamic), plugin=wayland
    12025-10-14T14:47:07Z No static plugins.
    

    Could you please try the release binary from https://bitcoincore.org/bin/bitcoin-core-30.0/ or build a statically linked binary with depends?

    EDIT: Both options have only the XCB plugin built in and do not use Wayland. I just want to ensure that release binaries are not affected on your system.

    Sure, I just tried the latest release (v30.0) from bitcoincore.org, here is the log:

     02025-10-14T16:28:38Z Bitcoin Core version v30.0.0 (release build)
     12025-10-14T16:28:38Z Qt 6.7.3 (static), plugin=xcb
     22025-10-14T16:28:38Z Static plugins:
     32025-10-14T16:28:38Z  QMinimalIntegrationPlugin, version 395008
     42025-10-14T16:28:38Z  QXcbIntegrationPlugin, version 395008
     52025-10-14T16:28:38Z Style: fusion / QFusionStyle
     62025-10-14T16:28:38Z System: Arch Linux, x86_64-little_endian-lp64
     72025-10-14T16:28:38Z Screen: HDMI-A-1 1920x1200, pixel ratio=1.0
     82025-10-14T16:28:38Z Using the 'x86_shani(1way;2way)' SHA256 implementation
     92025-10-14T16:28:38Z Using RdSeed as an additional entropy source
    102025-10-14T16:28:38Z Using RdRand as an additional entropy source
    112025-10-14T16:28:38Z Default data directory /home/diego/.bitcoin
    

    No issues with this release build, presumably because it’s using plugin=xcb.

  8. hebasto added the label Wayland on Oct 14, 2025
  9. diegoviola commented at 5:29 pm on October 14, 2025: contributor

    @hebasto @pablomartin4btc can we just get rid of the problematic code in this case? According to this comment: https://github.com/swaywm/sway/issues/4739#issuecomment-555965289

    “Qt.WindowStaysOnTopHint won’t work on Wayland. Clients don’t get to dictate whether they stay on top or not.”.

  10. pablomartin4btc commented at 9:13 pm on October 14, 2025: contributor

    can we just get rid of the problematic code in this case?

    I’ll take a look…

  11. diegoviola referenced this in commit 4daf53b12e on Oct 16, 2025
  12. diegoviola commented at 7:41 am on October 16, 2025: contributor

    I’ll take a look…

    Appreciate you planning to look into that, I managed to track down the cause and submitted a fix in #904. Let me know if you have any questions during the review. Thanks!

  13. diegoviola referenced this in commit 0fcab7dacc on Oct 16, 2025
  14. diegoviola referenced this in commit 5535da8e40 on Oct 16, 2025
  15. diegoviola referenced this in commit 76e4b71b18 on Oct 16, 2025
  16. diegoviola referenced this in commit 6f71ab203a on Oct 18, 2025
  17. diegoviola referenced this in commit 50f4b199c5 on Oct 18, 2025
  18. diegoviola referenced this in commit 095f920629 on Oct 18, 2025

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/gui. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-11-07 18:20 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me