clients
clients copied to clipboard
Blurry UI on Wayland with fractional scaling
Steps To Reproduce
Ubuntu 24.04, Wayland, HiDPI, fractional scaling 150%
- fresh installed
sudo snap install bitwarden(v2024.9.0r120) - open the app from Apps menu
Expected Result
UI is sharp
Actual Result
UI is blurry
Screenshots or Videos
No response
Additional Context
this is a common problem with electrone apps on wayland, but running the app with necessary flags doesn't help :cry:
logs:
$ bitwarden --enable-features=UseOzonePlatform --ozone-platform=wayland
MESA-LOADER: failed to open radeonsi (search paths /snap/bitwarden/120/gnome-platform/usr/lib/x86_64-linux-gnu/dri)
failed to load driver: radeonsi
MESA-LOADER: failed to open kms_swrast (search paths /snap/bitwarden/120/gnome-platform/usr/lib/x86_64-linux-gnu/dri)
failed to load driver: kms_swrast
MESA-LOADER: failed to open swrast (search paths /snap/bitwarden/120/gnome-platform/usr/lib/x86_64-linux-gnu/dri)
failed to load swrast driver
20:35:44.315 › State version: 68
20:35:44.319 › Migrator MinVersionMigrator (to version 3) should migrate: false - up
20:35:44.320 › Migrator RemoveEverBeenUnlockedMigrator (to version 4) should migrate: false - up
20:35:44.320 › Migrator AddKeyTypeToOrgKeysMigrator (to version 5) should migrate: false - up
20:35:44.320 › Migrator RemoveLegacyEtmKeyMigrator (to version 6) should migrate: false - up
20:35:44.320 › Migrator MoveBiometricAutoPromptToAccount (to version 7) should migrate: false - up
20:35:44.321 › Migrator MoveStateVersionMigrator (to version 8) should migrate: false - up
20:35:44.321 › Migrator MoveBrowserSettingsToGlobal (to version 9) should migrate: false - up
20:35:44.321 › Migrator EverHadUserKeyMigrator (to version 10) should migrate: false - up
20:35:44.321 › Migrator OrganizationKeyMigrator (to version 11) should migrate: false - up
20:35:44.321 › Migrator MoveEnvironmentStateToProviders (to version 12) should migrate: false - up
20:35:44.322 › Migrator ProviderKeyMigrator (to version 13) should migrate: false - up
20:35:44.322 › Migrator MoveBiometricClientKeyHalfToStateProviders (to version 14) should migrate: false - up
20:35:44.322 › Migrator FolderMigrator (to version 15) should migrate: false - up
20:35:44.322 › Migrator LastSyncMigrator (to version 16) should migrate: false - up
20:35:44.322 › Migrator EnablePasskeysMigrator (to version 17) should migrate: false - up
20:35:44.322 › Migrator AutofillSettingsKeyMigrator (to version 18) should migrate: false - up
20:35:44.323 › Migrator RequirePasswordOnStartMigrator (to version 19) should migrate: false - up
20:35:44.323 › Migrator PrivateKeyMigrator (to version 20) should migrate: false - up
20:35:44.323 › Migrator CollectionMigrator (to version 21) should migrate: false - up
20:35:44.323 › Migrator CollapsedGroupingsMigrator (to version 22) should migrate: false - up
20:35:44.323 › Migrator MoveBiometricPromptsToStateProviders (to version 23) should migrate: false - up
20:35:44.323 › Migrator SmOnboardingTasksMigrator (to version 24) should migrate: false - up
20:35:44.324 › Migrator ClearClipboardDelayMigrator (to version 25) should migrate: false - up
20:35:44.324 › Migrator RevertLastSyncMigrator (to version 26) should migrate: false - up
20:35:44.324 › Migrator BadgeSettingsMigrator (to version 27) should migrate: false - up
20:35:44.324 › Migrator MoveBiometricUnlockToStateProviders (to version 28) should migrate: false - up
20:35:44.324 › Migrator UserNotificationSettingsKeyMigrator (to version 29) should migrate: false - up
20:35:44.324 › Migrator PolicyMigrator (to version 30) should migrate: false - up
20:35:44.324 › Migrator EnableContextMenuMigrator (to version 31) should migrate: false - up
20:35:44.325 › Migrator PreferredLanguageMigrator (to version 32) should migrate: false - up
20:35:44.325 › Migrator AppIdMigrator (to version 33) should migrate: false - up
20:35:44.325 › Migrator DomainSettingsMigrator (to version 34) should migrate: false - up
20:35:44.325 › Migrator MoveThemeToStateProviderMigrator (to version 35) should migrate: false - up
20:35:44.325 › Migrator VaultSettingsKeyMigrator (to version 36) should migrate: false - up
20:35:44.325 › Migrator AvatarColorMigrator (to version 37) should migrate: false - up
20:35:44.325 › Migrator TokenServiceStateProviderMigrator (to version 38) should migrate: false - up
20:35:44.325 › Migrator MoveBillingAccountProfileMigrator (to version 39) should migrate: false - up
20:35:44.325 › Migrator OrganizationMigrator (to version 40) should migrate: false - up
20:35:44.326 › Migrator EventCollectionMigrator (to version 41) should migrate: false - up
20:35:44.326 › Migrator EnableFaviconMigrator (to version 42) should migrate: false - up
20:35:44.326 › Migrator AutoConfirmFingerPrintsMigrator (to version 43) should migrate: false - up
20:35:44.326 › Migrator UserDecryptionOptionsMigrator (to version 44) should migrate: false - up
20:35:44.326 › Migrator MergeEnvironmentState (to version 45) should migrate: false - up
20:35:44.326 › Migrator DeleteBiometricPromptCancelledData (to version 46) should migrate: false - up
20:35:44.326 › Migrator MoveDesktopSettingsMigrator (to version 47) should migrate: false - up
20:35:44.326 › Migrator MoveDdgToStateProviderMigrator (to version 48) should migrate: false - up
20:35:44.327 › Migrator AccountServerConfigMigrator (to version 49) should migrate: false - up
20:35:44.327 › Migrator KeyConnectorMigrator (to version 50) should migrate: false - up
20:35:44.327 › Migrator RememberedEmailMigrator (to version 51) should migrate: false - up
20:35:44.327 › Migrator DeleteInstalledVersion (to version 52) should migrate: false - up
20:35:44.327 › Migrator DeviceTrustServiceStateProviderMigrator (to version 53) should migrate: false - up
20:35:44.327 › Migrator SendMigrator (to version 54) should migrate: false - up
20:35:44.327 › Migrator MoveMasterKeyStateToProviderMigrator (to version 55) should migrate: false - up
20:35:44.327 › Migrator AuthRequestMigrator (to version 56) should migrate: false - up
20:35:44.328 › Migrator CipherServiceMigrator (to version 57) should migrate: false - up
20:35:44.328 › Migrator RemoveRefreshTokenMigratedFlagMigrator (to version 58) should migrate: false - up
20:35:44.328 › Migrator KdfConfigMigrator (to version 59) should migrate: false - up
20:35:44.328 › Migrator KnownAccountsMigrator (to version 60) should migrate: false - up
20:35:44.328 › Migrator PinStateMigrator (to version 61) should migrate: false - up
20:35:44.328 › Migrator VaultTimeoutSettingsServiceStateProviderMigrator (to version 62) should migrate: false - up
20:35:44.328 › Migrator PasswordOptionsMigrator (to version 63) should migrate: false - up
20:35:44.328 › Migrator GeneratorHistoryMigrator (to version 64) should migrate: false - up
20:35:44.329 › Migrator ForwarderOptionsMigrator (to version 65) should migrate: false - up
20:35:44.329 › Migrator MoveFinalDesktopSettingsMigrator (to version 66) should migrate: false - up
20:35:44.329 › Migrator RemoveUnassignedItemsBannerDismissed (to version 67) should migrate: false - up
20:35:44.329 › Migrator MoveLastSyncDate (to version 68) should migrate: false - up
[1945065:1016/203544.336041:ERROR:wayland_connection.cc(198)] Failed to connect to Wayland display: No such file or directory (2)
[1945065:1016/203544.336120:ERROR:ozone_platform_wayland.cc(264)] Failed to initialize Wayland platform
[1945065:1016/203544.336139:ERROR:env.cc(258)] The platform failed to initialize. Exiting.
Segmentation fault (core dumped)
i also tried:
--in-process-gpuflagexport LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6sudo apt install libgl1-mesa-drinone of that helped
also the appearance of the app version from "Help" -> "About Bitwarden" is broken:
however, the right button correctly copies version info to the clipboard
Operating System
Linux
Operating System Version
24.04
Installation method
Snap
Build Version
Version 2024.9.0 Shell 32.0.1 Renderer 128.0.6613.36 Node 20.16.0 Architecture x64
Issue Tracking Info
- [X] I understand that work is tracked outside of GitHub. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.
Thank you for reporting this issue! We've added this to our internal tracking system. ID: PM-13735
@belous-dp This might be a duplicate of https://github.com/bitwarden/clients/issues/2628
@djsmith85 I don't think it's a duplicate, or rather the blurryness isn't. I don't know about the font issue. The blur is more likely due to electron (and thus bitwarden) using Xwayland by default. Xwayland works rather poorly with fractional scaling, scaling up the lower resolution image, resulting in a blurry image. This PR https://github.com/bitwarden/clients/pull/10359 fixes it by defaulting to Wayland and only falling back to X or Xwayland when overwritten by an env variable or when wayland is not available.
However there is a bug in electron right now, which prevents the PR from being merged.
@belous-dp Could you try the snap or appimage from https://github.com/bitwarden/clients/actions/runs/10809683171?pr=10359 to see if the blur is gone for you?
Adding the args doesn't work because prior to the PR, the electron builder config for snap does not contain "allowNativeWayland": true.
@quexten thanks for your detailed response! got it.
- .deb package works fine, UI scaling is ok, font issues resolved
- AppImage works fine (after installing libfuse2) -- no blurriness, no font issues
- for .snap package (after installing it with
snap install pckg.snap --dangerous), UI scaling is fine, but the 'About' font issue isn't resolved. anyway, the latter is insignificant because fonts across other parts of the app display correctly
Nice, thank you for testing. I hope the electron bug that blocks merging the change gets fixed soon.
The font issue is a different issue and tracked in the ticket that @djsmith85 linked above.