clients icon indicating copy to clipboard operation
clients copied to clipboard

Blurry UI on Wayland with fractional scaling

Open belous-dp opened this issue 1 year ago • 2 comments
trafficstars

Steps To Reproduce

Ubuntu 24.04, Wayland, HiDPI, fractional scaling 150%

  1. fresh installed sudo snap install bitwarden (v2024.9.0r120)
  2. 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-gpu flag
  • export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
  • sudo apt install libgl1-mesa-dri none of that helped

also the appearance of the app version from "Help" -> "About Bitwarden" is broken: image 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.

belous-dp avatar Oct 16 '24 17:10 belous-dp

Thank you for reporting this issue! We've added this to our internal tracking system. ID: PM-13735

bitwarden-bot avatar Oct 16 '24 17:10 bitwarden-bot

@belous-dp This might be a duplicate of https://github.com/bitwarden/clients/issues/2628

djsmith85 avatar Oct 16 '24 18:10 djsmith85

@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 avatar Oct 23 '24 09:10 quexten

@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

belous-dp avatar Nov 14 '24 08:11 belous-dp

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.

quexten avatar Nov 14 '24 10:11 quexten