Closed KimHono closed 3 years ago
Please post a screenshot (without showing sensitive information).
From the View menu choose "Compact Mode"
I ran into the same behavior. The icons are way too big (with or without "Compact Mode", the icons will not change).
My system is: KeepassXC - Version 2.6.2 (e9b9582) - also tested with: 2.7.0-snapshot (37dab85) Qt 5.15.2
OS: Arch Linux Kernel: 5.10.2 Arch: x86_64
That is absurd! Lol. Clearly not what our display is supposed to look like. Please post the output of env | grep QT_
You might also be missing a required library for qt?
There is only one env var to fix another application crash. Deactivating / removing this variable does not change the behavior either.
# env | grep QT_
QT_QPA_PLATFORMTHEME=qt5ct
These qt packages are installed:
qt5-base
qt5-declarative
qt5-graphicaleffects
qt5-imageformats
qt5-location
qt5-multimedia
qt5-quickcontrols
qt5-quickcontrols2
qt5-script
qt5-sensors
qt5-speech
qt5-svg
qt5-tools
qt5-translations
qt5-wayland
qt5-webchannel
qt5-webengine
qt5-websockets
qt5-x11extras
How did you deactivate it?
Try starting KeePassXC like so:
QT_QPA_PLATFORMTHEME= keepassxc
How did you deactivate it?
Try starting KeePassXC like so:
QT_QPA_PLATFORMTHEME= keepassxc
I tried it exactly like that.
Also just noticed that with KeepassXC 2.6.2
Everything looks normal, exept the Icons of the Entries and Folders are to big.
Distro: Manjaro Qt: 5.15.2 Kernel: 5.10.2-2-MANJARO
[tom@pc ~]$ env | grep QT_
QT_SCREEN_SCALE_FACTORS=DisplayPort-0=1;HDMI-0=1;DVI-0=1;
QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
QT_AUTO_SCREEN_SCALE_FACTOR=0
Toggling the "Compact Mode" doesn't seem to do anything for me.
QT_QPA_PLATFORMTHEME= keepassxc
also doesn't help.
I think this issue should be opened again as their didn't seem to be a current fix.
Interestingly, custom icons do not seem to be affected. If they are just one among many, their row is also too big, but the icon itself has the proper size. And if you have only custom icons, everything looks corret:
This is very clearly a failure of SVG scaling. Custom icons are stored as PNG's.
Do you have any buggy high dpi settings on your system? It looks like a bug caused by your system which we cannot really do anything about without silly edge case workarounds.
I currently only use 1920x1080 Displays with the default (100 %) scaling. My assumption is that it should work with that setup (as it did before the Updates i did yesterday).
On my Laptop with relatively similar software (also 1920x1080, 100%) i don't see this issue.
Since their was no current KeepassXC or qt Update i don't know what Update caused this. But somthing did happen. And since KeepassXC is currently the only application where i noticed that somthing looks "off" my guess would be that maybe some option in the SVG Scaling (in KeepassXC) is set not as it "should" be, and now something else broke it. But since my knowledge in this area is limited, i don't really know where to look.
As the screenshot shows other Icons in KeepassXC appear to be have the normal size (i would guess that the "Open Database" Icon is for example also an SVG).
I found a very simple "homemade" solution for the problem on my old Lenovo ThinkCentre with Manjaro-Linux OS. I changed in the settings to custom icons. Look in the KeePassXC User Guide for icons: https://keepassxc.org/docs/KeePassXC_UserGuide.html#_icons I use 32x32 custom icons for the entries and groups and the problem is done. For many of your entries you can download favicons in Keepass icon settings, that's a great feature. And on my machine for example i found a great number of suitable icons in the themes. The changed icons are stored in the database (.kdbx) file and i think they will work as well in new Keepass versions.
My system is : KeePassXC - Version 2.6.2 Operating system: Manjaro (Arch Linux based) with XFCE-Desktop CPU architecture: x86_64 Kernel: linux 5.10.2-2 Monitor resolution: 2560x1440
Btw: on my old Sony Laptop, with exactly the same Manjaro too, the problem doesn't appear.
I am experiencing the same issue. The issue first occurred after an update a couple of days ago. Compact Mode and disabling QT variables also does not mitigate the issue.
Since the issue occurred after an update, I calculated the intersection of updated packages and transient dependencies of keepassxc. Since this seems to mostly affect Arch Linux derivates, here is the code if anyone else would like to try this (after adjusting the date in the grep):
cat /var/log/pacman.log | grep '\[2020-12-29.*\] upgraded' | awk '{print $4}' > upd_pkts
pactree -lu keepassxc > req_deps
sort req_deps upd_pkts | uniq -d
This yields a set of several packages, of which I would assume qt5-base
to likely be the culprit:
bash
ca-certificates-mozilla
glib2
gmp
harfbuzz
icu
libevdev
libgpg-error
libp11-kit
libwacom
libx11
libxml2
md4c
mesa
openssl
p11-kit
pcre2
qt5-base
systemd
systemd-libs
tzdata
Unfortunately, I wasn't able to fully roll back the update to confirm this assumption.
Lastly, my system stats are:
KeePassXC - Version 2.6.2 Revision: e9b9582
Qt 5.15.2 Debugging mode is disabled.
Operating system: Arch Linux CPU architecture: x86_64 Kernel: linux 5.10.3-arch1-1
It's probably a bug in qt 5.15.2
This change in 5.15.0 is the only one from the changelogs of 5.15.0/1/2 that would make sense to me: https://codereview.qt-project.org/c/qt/qtbase/+/266286
We don't set an explicit size on the row height which, on Linux only it would seem, can cause the row height to assume some arbitrary height that the SVG-based icon wants to assume...
What desktop environment are you all using? I cannot replicate this on the latest Manjaro using Qt 5.15.2 and KeePassXC 2.6.2 using the default xfce desktop or Gnome3.
I'm using KDE Plasma. But as mentioned above on my Desktop i have the problem, on my Laptop not. Both are up to date and both have 1920x1080 Screens and run at 100 % scaling. So currently i also don't know how it can be replicated.
I ran the commands of @lumagi on my Desktop and got the following result:
qt5-base
is not among them.
From the View menu choose "Compact Mode"
Unfortunately, I'm already using the compact mode.
And as written above, QT_QPA_PLATFORMTHEME= keepassxc
doesn't help.
If it can help, here is the result of env | grep QT_
command:
QT_LOGGING_RULES=*.debug=false
QT_QPA_PLATFORMTHEME=qt5ct
QT_STYLE_OVERRIDE=gtk
QT_QPA_PLATFORM=
QT_DBL_CLICK_DIST=15
QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough
QT_SELECT=qt5
I do have the same issue on my desktop (Arch Linux) and on my laptop (Manjaro). Both are on XFCE.
As a workaround I start the app using:
env QT_SCALE_FACTOR=1.01 keepassxc
It scales down the icons on the left. I thought it was an issue with QT on my desktop, until it appeared too on Manjaro, which always lag behind in updates.
Hmmmm this reminds me of the time we fixed the broken "PassThrough" for HiDPI scaling ratio. Try unsetting 1.01 and setting QT_SCALE_FACTOR_ROUNDING_POLICY=Round
I can confirm that setting QT_SCALE_FACTOR=1.01
as suggested by @carlphilipp fixes the issue for me (Manjaro stable, all available updates applied). QT_SCALE_FACTOR_ROUNDING_POLICY=Round
on the other hand unfortunately doesn't result in any change of icon size.
I can also confirm that QT_SCALE_FACTOR=1.01
fixes the issue for me (Arch Linux, KDE Plasma 5.20.4-2), however QT_SCALE_FACTOR_ROUNDING_POLICY=Round
does not.
Try a policy of PassThrough. There are many options for this policy: Round, Ceil, Floor, RoundPreferFloor, PassThrough. This has been known to cause issues on Linux.
I tried all policies you mentioned with QT_SCALE_FACTOR_ROUNDING_POLICY=<policy> keepassxc
but none of the values have an effect.
OK great good to know. I will submit a bug report with Qt.
I can confirm that editing /usr/share/applications/org.keepassxc.KeePassXC.desktop
and replacing Exec=keepassxc %f
with Exec=env QT_SCALE_FACTOR=1.01 keepassxc %f
solves the issue on Arch Linux, with KeePassXC 2.6.2 and the following QT5 packages:
$ sudo pacman -Q | grep '^qt5'
qt5-3d 5.15.2-1
qt5-base 5.15.2-2
qt5-charts 5.15.2-1
qt5-declarative 5.15.2-1
qt5-graphicaleffects 5.15.2-1
qt5-imageformats 5.15.2-1
qt5-location 5.15.2-2
qt5-multimedia 5.15.2-1
qt5-networkauth 5.15.2-1
qt5-quickcontrols 5.15.2-1
qt5-quickcontrols2 5.15.2-1
qt5-script 5.15.2-1
qt5-sensors 5.15.2-1
qt5-serialport 5.15.2-1
qt5-speech 5.15.2-1
qt5-svg 5.15.2-1
qt5-tools 5.15.2-1
qt5-wayland 5.15.2-1
qt5-webchannel 5.15.2-1
qt5-webengine 5.15.2-3
qt5-webkit 5.212.0alpha4-9
qt5-x11extras 5.15.2-1
qt5-xmlpatterns 5.15.2-1
Other useful info:
Please try this AppImage build and see if the issue still persists: https://snapshot.keepassxc.org/build-68395/
@phoerious Looks good for me! :+1:
@phoerious works for me too!
Given this was fixed with changes we made, I am not opening a Qt bug report.
The AppImage does use 5.15.2 (you might want to check this), but if someone could test a custom build on their Arch that'd be great.
As of v2.6.3 the issue still persists for me (archlinux, KDE). It can be worked around with QT_SCALE_FACTOR=1.01 keepassxc
.
Is there a specific commit i should build and try?
No this is a qt problem
I confirm that QT_SCALE_FACTOR=1.01
fixed the issue for me too, and QT_SCALE_FACTOR_ROUNDING_POLICY
had no effect.
KeePassXC - Version 2.6.3 Revision: beae186
Qt 5.15.2 Debugging mode is disabled.
Operating system: Manjaro Linux CPU architecture: x86_64 Kernel: linux 5.4.89-1-MANJARO
Enabled extensions:
Cryptographic libraries:
I had to use env QT_AUTO_SCREEN_SCALE_FACTOR=0
I got this tip from a VirtualBox forum as when VBox 6.0 came out I had the same QT5 problem and had to do the same thing.
Please try 2.6.4 and report back if the problem still exists.
Just tried the KeePassXC-2.6.4-x86_64.AppImage
. It works for me. Thanks to whoever solved it! :+1:
Woohoo!
Yay. Backport was double worth it.
Edit: wait, don't try the AppImage, that one was immune anyway. Need to verify if native packages work a well.
Oops, you're right @phoerious, built it myself and it still showed the error.
😢
Ok, so I noticed something strange: When I dynamically link the regular keepassxc binary against a fresh installation root directory, the issue does not occur. To make this more concise, given a virtual root directory at $chroot, I get the following results (notice that I use the regular keepassxc binary):
LD_LIBRARY_PATH=$chroot/usr/lib /usr/bin/keepassxc
/usr/bin/keepassxc
Since both my regular root and the chroot were created from the same packages, the shared libs should be equal. I also verified the md5 hashes and they check out. Judging from this and the fact that the issue does not occur with a fresh installation, there must be some file or setting present for historical reasons that causes this issue. My next idea would be to investigate this further by stracing the executions, but that is a lot of data to dig through. Do you have a hunch as to what might be the reason?
DPI scaling. QTableView/QListView doesn't request proper dimensions. But why exactly that is, I do not know.
I'm as well having the issue, version 2.6.4.
% env | grep QT_
QT_QPA_PLATFORMTHEME=qt5ct
Unsetting does not help, as well as the other solutions posted here. Only QT_SCALE_FACTOR
with a value greather than 1 helps.
OS is Arch Linux fully updated.
Hi @stschindler !
Surprising... I'm also on Arch 5.10.16-arch1-1
, with qt5ct
.
Just using the solution detailed by @denysvitali definitely works...
(Keepassxc 2.6.4-1
version)
@KimHono Yes, the approach from @denysvitali "works" if you like blurry applications. For me, it's pretty hard on my eyes (and that's why I don't use it). I would like to see this problem solved the right way.
Same issue. A few days ago it was ok, now the monster icons. So annoying... V2.6.4., Manjaro Cinnamon. The workaround mentioned above with "env QT_SCALE_FACTOR=1.01 keepassxc" works. It gives this error message, but starts keepassxc anyway:
qt.qpa.xcb: QXcbConnection: XCB error: 5 (BadAtom), sequence: 491, resource id: 0, major code: 20 (GetProperty), minor code: 0
It's resolved for me now, still on version 2.6.4. Did a full system upgrade yesterday (Arch), and now the problem is gone. Seems like there was indeed something borked within Qt?
Just updated my Manjaro and it is also gone. I had forgotten how much you can show an a screen :smile: :+1:
Too big icons
Since last update, I noticed that opening my habitual database gives a different appearance:
My system is : KeePassXC - Version 2.6.2 Revision: e9b9582
Qt 5.15.2 Debugging mode is disabled.
Operating system: Arch Linux CPU architecture: x86_64 Kernel: linux 5.9.14-arch1-1