bitcoin-core / gui

Bitcoin Core GUI staging repository
https://github.com/bitcoin/bitcoin
MIT License
596 stars 261 forks source link

No GUI loading at all, completely blank but core running. #175

Closed shaun-ba closed 2 years ago

shaun-ba commented 3 years ago

Same as this closed issue: https://github.com/bitcoin-core/gui/issues/28

@hebasto You closed the other issue, I don't know why because the reported never solved it.

I also have a Samsung superwide monitor, maybe it's related but with these more and more common just ignoring it isn't good enough surely!

I'm running binary 20.01, on Ubuntu 20.04. Debug logs did show the same trace as the original reporter but now looks flawless from a fresh restart. UI spans multiple screens and is all blank.

2021-01-03T11:39:07Z Bitcoin Core version v0.20.1 (release build)
2021-01-03T11:39:07Z Qt 5.9.8 (static), plugin=xcb (static)
2021-01-03T11:39:07Z System: Ubuntu 20.04.1 LTS, x86_64-little_endian-lp64
2021-01-03T11:39:07Z Screen: DP-0 4x1, pixel ratio=1355.0
2021-01-03T11:39:07Z Screen: DVI-D-0 1920x1080, pixel ratio=1.0
2021-01-03T11:39:07Z Screen: HDMI-0 1920x1080, pixel ratio=1.0
2021-01-03T11:39:08Z GUI: QPainter::begin: Paint device returned engine == 0, type: 2
2021-01-03T11:39:08Z GUI: QPainter::setPen: Painter not active
2021-01-03T11:39:08Z GUI: QPainter::setFont: Painter not active
2021-01-03T11:39:08Z GUI: QPainter::fontMetrics: Painter not active
2021-01-03T11:39:27Z GUI: QPainter::setFont: Painter not active
2021-01-03T11:39:27Z GUI: QPainter::fontMetrics: Painter not active
2021-01-03T11:39:27Z GUI: QPainter::setFont: Painter not active
2021-01-03T11:39:27Z GUI: QPainter::fontMetrics: Painter not active
2021-01-03T11:39:31Z GUI: QPainter::setFont: Painter not active
2021-01-03T11:39:31Z GUI: QPainter::end: Painter not active, aborted
hebasto commented 3 years ago

@shaun-ba

I also have a Samsung superwide monitor...

Mind sharing the exact model (maybe I'll be lucky to find it around for testing).

hebasto commented 3 years ago

2021-01-03T11:39:07Z Screen: DP-0 4x1, pixel ratio=1355.0 2021-01-03T11:39:07Z Screen: DVI-D-0 1920x1080, pixel ratio=1.0 2021-01-03T11:39:07Z Screen: HDMI-0 1920x1080, pixel ratio=1.0

If you disconnect the monitor with pixel ratio=1355.0, does bitcoin-qt work?

Could you have a try to compile binaries from source against the system Qt?

hebasto commented 3 years ago

btw, from Qt docs:

int QPaintDevice::devicePixelRatio() const

Returns the device pixel ratio for device. Common values are 1 for normal-dpi displays and 2 for high-dpi "retina" displays.

... but not 1355 :)

shaun-ba commented 3 years ago

Model: LC49RG90SSUXEN

I've not come across a single piece of software that doesn't work with this monitor since I've owned it.

I have no idea why bitcoin qt doesnt, but 100% it should.

On Sun, 3 Jan 2021, 20:39 Hennadii Stepanov, notifications@github.com wrote:

@shaun-ba https://github.com/shaun-ba

I also have a Samsung superwide monitor...

Mind sharing the exact model (maybe I'll be lucky to find it around for testing).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bitcoin-core/gui/issues/175#issuecomment-753672892, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZPKQ5UQWRDT5EHR57I4J3SYDIWLANCNFSM4VRZTZCA .

hebasto commented 3 years ago

A note for myself:

hebasto commented 3 years ago

@shaun-ba

Could you try the following variants to run the client:

$ QT_SCALE_FACTOR=1 src/qt/bitcoin-qt -regtest
$ QT_SCALE_FACTOR=2 src/qt/bitcoin-qt -regtest

?

Is a splash screen shown at start?

jarolrod commented 3 years ago

@shaun-ba is it still the case that you cannot start bitcoin-qt on your LC49RG90SSUXEN monitor?

jarolrod commented 3 years ago

Note to self: QPainter::begin: Paint device returned engine == 0, type: 2 is the internal flag Pixmap = 0x02. Issue should be related to QPixmap, will investigate.

shaun-ba commented 3 years ago

So sorry for long reply I havent tried since but will try this week.

On Sun, 17 Jan 2021, 18:04 Jarol Rodriguez, notifications@github.com wrote:

Note to self: QPainter::begin: Paint device returned engine == 0, type: 2 is the internal flag Pixmap = 0x02. Issue should be related to QPixmap https://doc.qt.io/qt-5/qpixmap.html, will investigate.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bitcoin-core/gui/issues/175#issuecomment-761853705, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZPKQ5VZG6U4M2US7MSI7DS2MRBFANCNFSM4VRZTZCA .

shaun-ba commented 3 years ago

@hebasto @jarolrod The issue persists yes, the QT_SCALE doesn't make the UI work no.

Really would like a solution to this, even if it is a temporary fix using some kind of flag or file edit.

I see this as urgent as there are many people now with these monitors.

hebasto commented 3 years ago

In Qt 5.10 the EDID parser library added.

We could try to use it after bumping Qt to 5.12.

xjmzx commented 3 years ago

Not sure whether or not related but I have a somewhat similar issue where the GUI window will not resize when dragged to fit all on a 13 inch macbook. I have also exactly the same issue on another 13 inch macbook.

It seems that one of the recent transactions involves multiple addresses, this displays in a long line across the screen which pushes the other content (wallet swap drop box) off the right-hand side of the screen.

Bitcoin Core version v0.21.1 / This program uses Qt version 5.9.8.

shaun-ba commented 3 years ago

@jarolrod If so why is this closed and my original issue not investigated or fixed by now?

I've just launched 0.21.1 and it's still the same, totally unusable on my multiple monitor setup.

This is the only software I've ever run on this setup with such an issue, surely this is a simple fix??

hebasto commented 3 years ago

@shaun-ba

why is this closed and my original issue not investigated or fixed by now?

Because the issue is hardware specific, and it is required to have this specific hardware disposable to a developer to investigate the issue and fix it.

@hebasto You closed the other issue, I don't know why because the reported never solved it.

I did not close #28.

hebasto commented 3 years ago

@shaun-ba

You could really help with this issue, if you could try to run binary which is compiled by yourself from the master branch.

The result of running such binary with your hardware will be really appreciated.

hebasto commented 3 years ago

@shaun-ba

I've just launched 0.21.1 and it's still the same, totally unusable on my multiple monitor setup.

Also you could try 22.0rc2 which uses Qt updated up to 5.12.11.

jsarenik commented 3 years ago

@shaun-ba Please run xdpyinfo and share its output in a gist. See my example output from a virtual display.

jsarenik commented 3 years ago

Not able to reproduce on a virtual Xvfb display so far (neither with 0.21.1 or 22.0rc2 bitcoincore binaries, testing on Ubuntu x86_64), wondering what graphics card is that display connected to…

shaun-ba commented 3 years ago

@shaun-ba Please run xdpyinfo and share its output in a gist. See my example output from a virtual display.

https://gist.github.com/shaun-ba/b9e738b74c2edd9332a5e3ba94949842

shaun-ba commented 3 years ago

Not able to reproduce on a virtual Xvfb display so far (neither with 0.21.1 or 22.0rc2 bitcoincore binaries, testing on Ubuntu x86_64), wondering what graphics card is that display connected to…

All 3 screens are connected to a NVIDIA GeForce FTX 1660 SUPER

I will try the newer RC and report back, but so many people use multiple monitor setups and these wide screens that this cannot be an isolated issue. As I say I've never had any issues at all with a single app on this box.

Note, I am also using PopOS hell for window tiling in the event that's related.

If I boot without the superwide switched on then bitcoin-qt opens fine in one of the smaller screens with PopOS shell

jsarenik commented 3 years ago

@shaun-ba Thank you! Now I see that the more important setting might be the part which stretches the 5120x2520 pixels over the three screens. I have no practical experience with such setups myself, but now I am starting to distinguish the unknown. Do you have any /etc/X11/xorg.conf file or is the setup done automagically on each run? Check also other directories under /etc/X11 please.

The last line where you mention that booting without superwide makes bitcoin-qt work makes me guess that the problem may be "superwide"-related and thus at some point should be reproducible with any X client (like Xvfb).

Is "superwide" any specific option/setting/binary? There is no Ubuntu package with such name. How do you boot with "superwide" switched on and how with it switched off?

Notes: https://askubuntu.com/questions/727753, https://bbs.archlinux.org/viewtopic.php?id=246284

shaun-ba commented 3 years ago

Hi, Superwide is just the monitor size, there is no special configs here or anything it is just default Ubuntu setup.

What I meant was that if I boot with the monitor switched off completely then I can use bitcoin-qt/

On Sun, Aug 22, 2021 at 6:28 PM Ján Sáreník @.***> wrote:

@shaun-ba https://github.com/shaun-ba Thank you! Now I see that the more important setting might be the part which stretches the 5120x2520 pixels over the three screens. I have no practical experience with such setups myself, but now I am starting to distinguish the unknown. Do you have any /etc/X11/xorg.conf file or is the setup done automagically on each run? Check also other directories under /etc/X11 please.

The last line where you mention that booting without superwide makes bitcoin-qt work makes me guess that the problem may be "superwide"-related and thus at some point should be reproducible with any X client (like Xvfb ).

Is "superwide" any specific option/setting/binary? There is no Ubuntu package with such name. How do you boot with "superwide" switched on and how with it switched off?

Notes: https://askubuntu.com/questions/727753, https://bbs.archlinux.org/viewtopic.php?id=246284

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bitcoin-core/gui/issues/175#issuecomment-903302801, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZPKQ5GGQSDS4ZGN7R3I7LT6EXVPANCNFSM4VRZTZCA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

--

Shaun Gilchrist Founder and CEO, BitcoinAverage

jsarenik commented 3 years ago

@shaun-ba Thank you. Actually, I just went through https://github.com/bitcoin-core/gui/issues/28 which is full of interesting info. Excuse me for asking you for the same details again. I have no further ideas and still can not reproduce it.

shaun-ba commented 3 years ago

There is no "/etc/X11/xorg.conf" file.

Below is a list of directories in "/etc/X11/" :

app-defaults/ rgb.txt Xreset.d/ Xsession.options
cursors/ xinit/ Xresources/ xsm/
default-display-manager xkb/ Xsession XvMCConfig
fonts/ Xreset Xsession.d/ Xwrapper.config

I'm not sure what other questions you asked, happy to answer them if I can help.

jsarenik commented 3 years ago

@shaun-ba Thanks. /etc/X11 looks pretty default so it would be a detour to look for issues there.

The error is certainly related to the display hardware, the one at DP-0 with size 4x1 (instead of something like 1920x1080 which is the size of another display) and I am not able to reproduce it.

Please write here your output of xrandr, as it should be different to the one in #28. Then I have an idea. Add a mode if it is missing, or just set the available mode, which is not set, e.g.:

To add a mode (please run xrandr before this and send here the output) do this:

$ cvt 5120 2520
# 5120x2520 59.97 Hz (CVT) hsync: 156.53 kHz; pclk: 1112.00 MHz
Modeline "5120x2520_60.00"  1112.00  5120 5552 6112 7104  2520 2523 2533 2610 -hsync +vsync
$ xrandr --newmode "5120x2520_60.00"  1112.00  5120 5552 6112 7104  2520 2523 2533 2610 -hsync +vsync
$ xrandr --addmode DP-0 5120x2520_60.00
$ xrandr --output DP-0 --mode 5120x2520_60.00

Link: https://wiki.archlinux.org/title/Xrandr

Otherwise if there already is a good mode, just not set (see your output of xrandr and check for suspicious 1mm x 1mm which I guess shall show for DP-0 output), just try xrandr --output DP-0 --mode <correct_mode>.

promag commented 2 years ago

All is good with v22.0.0 on Ubuntu 21.10:

$ xrandr
Screen 0: minimum 16 x 16, current 5120 x 1440, maximum 32767 x 32767
XWAYLAND1 connected primary 5120x1440+0+0 (normal left inverted right x axis y axis) 1200mm x 340mm
   5120x1440     59.94*+
$ ./bin/bitcoin-qt -signet -debug -printtoconsole
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
2022-01-05T19:19:27Z Bitcoin Core version v22.0.0 (release build)
2022-01-05T19:19:27Z Qt 5.12.11 (static), plugin=xcb (static)
2022-01-05T19:19:27Z Static plugins:
2022-01-05T19:19:27Z  QXcbIntegrationPlugin, version 330752
2022-01-05T19:19:27Z Style: fusion / QFusionStyle
2022-01-05T19:19:27Z System: Ubuntu 21.10, x86_64-little_endian-lp64
2022-01-05T19:19:27Z Screen: XWAYLAND1 5120x1440, pixel ratio=1.0

But the reported pixel ratio seems fine here.

promag commented 2 years ago

Have you tried something like https://stackoverflow.com/a/67344403, like

QT_DEVICE_PIXEL_RATIO=0 QT_AUTO_SCREEN_SCALE_FACTOR=1 QT_SCREEN_SCALE_FACTORS=1 QT_SCALE_FACTOR=1 ./bin/bitcoin-qt -signet -debug -printtoconsole
hebasto commented 2 years ago

Also there is a possibility that bug has been fixed in the upstream Qt's code.

hebasto commented 2 years ago

Closing for now.

Feel free to re-open it, if the bug appears with Qt 5.15.2 on some hardware/OS.

shaun-ba commented 2 years ago

@hebasto Seems resolved now with everything on latest.