I can't start wayland-native version of 1Password.

Options
ftpd
ftpd
Community Member

When I try to run 1password with the well-known OzonePlatform, I get the following:

INFO  2023-08-07T22:51:44.006 ThreadId(14) [client:typescript] Client starting.
INFO  2023-08-07T22:51:44.114 ThreadId(14) [1P:op-localization/src/lib.rs:227] system locale detected as 'en-US'
INFO  2023-08-07T22:51:44.114 ThreadId(14) [1P:op-localization/src/lib.rs:253] selected translations for EN_US based on detected locale en-US
INFO  2023-08-07T22:51:44.114 ThreadId(14) [status:op-app/src/app.rs:519] App::new(1Password for Linux/81009046 (EN_US), /$USER/.config/1Password/1password.sqlite)
INFO  2023-08-07T22:51:44.117 ThreadId(14) [1P:data/op-db/src/db.rs:446] Table Integrity Check Succeeded
INFO  2023-08-07T22:51:44.118 ThreadId(14) [1P:data/op-db/src/db.rs:462] DB Integrity Check Succeeded
INFO  2023-08-07T22:51:44.118 ThreadId(14) [1P:data/op-db/src/db.rs:137] Starting DB at version: 29
INFO  2023-08-07T22:51:44.187 ThreadId(14) [1P:ssh/op-ssh-config/src/lib.rs:248] agent not configured
INFO  2023-08-07T22:51:44.188 tokio-runtime-worker(ThreadId(9)) [1P:native-messaging/op-native-core-integration/src/lib.rs:281] Mute native core integration is waiting for Shared Lock State to be enabled
INFO  2023-08-07T22:51:44.189 tokio-runtime-worker(ThreadId(9)) [1P:ssh/op-agent-controller/src/desktop.rs:433] Starting filesystem watcher for SSH agent configuration directories...
ERROR 2023-08-07T22:51:44.189 tokio-runtime-worker(ThreadId(9)) [1P:/builds/dev/core/core/ssh/op-agent-controller/src/desktop.rs:434] Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })
ERROR 2023-08-07T22:51:44.209 tokio-runtime-worker(ThreadId(1)) [1P:op-global-shortcuts/src/lib.rs:69] AppError at /builds/dev/core/core/op-global-shortcuts/src/node.rs:62:6
binding shortcut

Caused by:
    BindRefused

Stack backtrace:
   0: op_global_shortcuts::node::bind::{{closure}}
   1: op_executor::spawn_no_span::{{closure}}
   2: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
   3: std::panicking::try
   4: tokio::runtime::task::harness::Harness<T,S>::poll
   5: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
   6: tokio::runtime::scheduler::multi_thread::worker::Context::run
   7: tokio::macros::scoped_tls::ScopedKey<T>::set
   8: tokio::runtime::scheduler::multi_thread::worker::run
   9: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
  10: std::panicking::try
  11: tokio::runtime::task::harness::Harness<T,S>::poll
  12: tokio::runtime::blocking::pool::Inner::run
  13: std::sys_common::backtrace::__rust_begin_short_backtrace
  14: core::ops::function::FnOnce::call_once{{vtable.shim}}
  15: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
      <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
      std::sys::unix::thread::Thread::new::thread_start
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys/unix/thread.rs:108:17
  16: <unknown>
  17: <unknown>

ERROR 2023-08-07T22:51:44.209 tokio-runtime-worker(ThreadId(10)) [1P:op-global-shortcuts/src/lib.rs:69] AppError at /builds/dev/core/core/op-global-shortcuts/src/node.rs:62:6
binding shortcut

Caused by:
    BindRefused

Stack backtrace:
   0: op_global_shortcuts::node::bind::{{closure}}
   1: op_executor::spawn_no_span::{{closure}}
   2: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
   3: std::panicking::try
   4: tokio::runtime::task::harness::Harness<T,S>::poll
   5: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
   6: tokio::runtime::scheduler::multi_thread::worker::Context::run
   7: tokio::macros::scoped_tls::ScopedKey<T>::set
   8: tokio::runtime::scheduler::multi_thread::worker::run
   9: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
  10: std::panicking::try
  11: tokio::runtime::task::harness::Harness<T,S>::poll
  12: tokio::runtime::blocking::pool::Inner::run
  13: std::sys_common::backtrace::__rust_begin_short_backtrace
  14: core::ops::function::FnOnce::call_once{{vtable.shim}}
  15: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
      <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
      std::sys::unix::thread::Thread::new::thread_start
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys/unix/thread.rs:108:17
  16: <unknown>
  17: <unknown>

INFO  2023-08-07T22:51:44.479 invocation_loop(ThreadId(21)) [1P:op-app/src/app/backend/lock_screen.rs:72] System unlock is enabled: true
INFO  2023-08-07T22:51:44.487 tokio-runtime-worker(ThreadId(10)) [1P:op-app/src/app/backend/lock_screen.rs:88] Sys auth status NotSetup

X11 version (via Xwayland) works fine. What should I do to get a wayland-native version running?


1Password Version: 8.10.9
Extension Version: Not Provided
OS Version: Not Provided
Browser: Not Provided

Comments

  • georgealton
    georgealton
    Community Member
    Options

    I'm having the same issue

    /opt/1Password/1password --enable-features=UseOzonePlatform --ozone-platform=wayland
    
    INFO  2023-08-11T20:37:18.692 ThreadId(6) [client:typescript] Client starting.
    INFO  2023-08-11T20:37:18.776 ThreadId(6) [1P:op-localization/src/lib.rs:227] system locale detected as 'en-GB'
    INFO  2023-08-11T20:37:18.776 ThreadId(6) [1P:op-localization/src/lib.rs:253] selected translations for EN_US based on detected locale en-GB
    INFO  2023-08-11T20:37:18.776 ThreadId(6) [status:op-app/src/app.rs:519] App::new(1Password for Linux/81009046 (EN_US), /home/$USER/.config/1Password/1password.sqlite)
    INFO  2023-08-11T20:37:18.778 ThreadId(6) [1P:data/op-db/src/db.rs:446] Table Integrity Check Succeeded
    INFO  2023-08-11T20:37:18.779 ThreadId(6) [1P:data/op-db/src/db.rs:462] DB Integrity Check Succeeded
    INFO  2023-08-11T20:37:18.779 ThreadId(6) [1P:data/op-db/src/db.rs:137] Starting DB at version: 29
    INFO  2023-08-11T20:37:18.780 ThreadId(6) [1P:ssh/op-ssh-config/src/lib.rs:246] agent configured
    INFO  2023-08-11T20:37:18.780 tokio-runtime-worker(ThreadId(4)) [1P:native-messaging/op-native-core-integration/src/lib.rs:324] Starting IPC listener on 1Password-BrowserSupport
    INFO  2023-08-11T20:37:18.781 tokio-runtime-worker(ThreadId(1)) [1P:native-messaging/op-native-core-integration/src/lib.rs:336] Active native core integration is awaiting messages
    INFO  2023-08-11T20:37:18.781 invocation_loop(ThreadId(13)) [1P:native-messaging/op-nm-installer/src/nix_utils.rs:68] Created NMH manifest at /home/$USER/.config/google-chrome/NativeMessagingHosts/com.1password.1password.json
    INFO  2023-08-11T20:37:18.781 invocation_loop(ThreadId(13)) [1P:native-messaging/op-nm-installer/src/nix_utils.rs:68] Created NMH manifest at /home/$USER/.config/google-chrome-beta/NativeMessagingHosts/com.1password.1password.json
    INFO  2023-08-11T20:37:18.781 invocation_loop(ThreadId(13)) [1P:native-messaging/op-nm-installer/src/nix_utils.rs:68] Created NMH manifest at /home/$USER/.config/google-chrome-unstable/NativeMessagingHosts/com.1password.1password.json
    INFO  2023-08-11T20:37:18.781 invocation_loop(ThreadId(13)) [1P:native-messaging/op-nm-installer/src/nix_utils.rs:68] Created NMH manifest at /home/$USER/.config/chromium/NativeMessagingHosts/com.1password.1password.json
    INFO  2023-08-11T20:37:18.781 invocation_loop(ThreadId(13)) [1P:native-messaging/op-nm-installer/src/nix_utils.rs:68] Created NMH manifest at /home/$USER/.config/microsoft-edge-dev/NativeMessagingHosts/com.1password.1password.json
    INFO  2023-08-11T20:37:18.782 invocation_loop(ThreadId(13)) [1P:native-messaging/op-nm-installer/src/nix_utils.rs:68] Created NMH manifest at /home/$USER/.config/BraveSoftware/Brave-Browser/NativeMessagingHosts/com.1password.1password.json
    INFO  2023-08-11T20:37:18.782 invocation_loop(ThreadId(13)) [1P:native-messaging/op-nm-installer/src/nix_utils.rs:68] Created NMH manifest at /home/$USER/.config/vivaldi/NativeMessagingHosts/com.1password.1password.json
    INFO  2023-08-11T20:37:18.782 invocation_loop(ThreadId(13)) [1P:native-messaging/op-nm-installer/src/nix_utils.rs:68] Created NMH manifest at /home/$USER/.config/vivaldi-snapshot/NativeMessagingHosts/com.1password.1password.json
    INFO  2023-08-11T20:37:18.782 invocation_loop(ThreadId(13)) [1P:native-messaging/op-nm-installer/src/nix_utils.rs:68] Created NMH manifest at /home/$USER/.mozilla/native-messaging-hosts/com.1password.1password.json
    INFO  2023-08-11T20:37:18.782 invocation_loop(ThreadId(13)) [1P:native-messaging/op-nm-installer/src/nix_utils.rs:83] Successfully installed all native messaging manifests.
    INFO  2023-08-11T20:37:18.782 tokio-runtime-worker(ThreadId(1)) [1P:ssh/op-agent-controller/src/desktop.rs:614] SSH Agent has started.
    INFO  2023-08-11T20:37:18.782 tokio-runtime-worker(ThreadId(1)) [1P:ssh/op-agent-controller/src/desktop.rs:433] Starting filesystem watcher for SSH agent configuration directories...
    ERROR 2023-08-11T20:37:18.786 tokio-runtime-worker(ThreadId(1)) [1P:/builds/dev/core/core/ssh/op-agent-controller/src/desktop.rs:434] Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })
    ERROR 2023-08-11T20:37:18.805 tokio-runtime-worker(ThreadId(3)) [1P:op-global-shortcuts/src/lib.rs:69] AppError at /builds/dev/core/core/op-global-shortcuts/src/node.rs:62:6
    binding shortcut
    
    Caused by:
        BindRefused
    
    Stack backtrace:
       0: op_global_shortcuts::node::bind::{{closure}}
       1: op_executor::spawn_no_span::{{closure}}
       2: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
       3: std::panicking::try
       4: tokio::runtime::task::harness::Harness<T,S>::poll
       5: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
       6: tokio::runtime::scheduler::multi_thread::worker::Context::run
       7: tokio::macros::scoped_tls::ScopedKey<T>::set
       8: tokio::runtime::scheduler::multi_thread::worker::run
       9: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
      10: std::panicking::try
      11: tokio::runtime::task::harness::Harness<T,S>::poll
      12: tokio::runtime::blocking::pool::Inner::run
      13: std::sys_common::backtrace::__rust_begin_short_backtrace
      14: core::ops::function::FnOnce::call_once{{vtable.shim}}
      15: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                 at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
          <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                 at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
          std::sys::unix::thread::Thread::new::thread_start
                 at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys/unix/thread.rs:108:17
      16: <unknown>
      17: <unknown>
    
    ERROR 2023-08-11T20:37:18.805 tokio-runtime-worker(ThreadId(4)) [1P:op-global-shortcuts/src/lib.rs:69] AppError at /builds/dev/core/core/op-global-shortcuts/src/node.rs:62:6
    binding shortcut
    
    Caused by:
        BindRefused
    
    Stack backtrace:
       0: op_global_shortcuts::node::bind::{{closure}}
       1: op_executor::spawn_no_span::{{closure}}
       2: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
       3: std::panicking::try
       4: tokio::runtime::task::harness::Harness<T,S>::poll
       5: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
       6: tokio::runtime::scheduler::multi_thread::worker::Context::run
       7: tokio::macros::scoped_tls::ScopedKey<T>::set
       8: tokio::runtime::scheduler::multi_thread::worker::run
       9: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
      10: std::panicking::try
      11: tokio::runtime::task::harness::Harness<T,S>::poll
      12: tokio::runtime::blocking::pool::Inner::run
      13: std::sys_common::backtrace::__rust_begin_short_backtrace
      14: core::ops::function::FnOnce::call_once{{vtable.shim}}
      15: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                 at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
          <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                 at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
          std::sys::unix::thread::Thread::new::thread_start
                 at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys/unix/thread.rs:108:17
      16: <unknown>
      17: <unknown>
    
    [4262:0811/213718.839084:ERROR:browser_main_loop.cc(274)] Gtk: gtk_widget_get_scale_factor: assertion 'GTK_IS_WIDGET (widget)' failed
    INFO  2023-08-11T20:37:19.124 invocation_loop(ThreadId(13)) [1P:op-app/src/app/backend/lock_screen.rs:72] System unlock is enabled: true
    INFO  2023-08-11T20:37:19.139 tokio-runtime-worker(ThreadId(4)) [1P:op-app/src/app/backend/lock_screen.rs:88] Sys auth status NotSetup
    
    pacman -Q wayland sway 1password
    wayland 1.22.0-1
    sway 1:1.8.1-1
    1password 8.10.9-46
    
  • ftpd
    ftpd
    Community Member
    Options

    I can confirm it still doesn't work on the new version, 8.10.13.

  • AliH1P
    edited August 2023
    Options

    Hey @ftpd, @georgealton, thanks for reaching out.

    I understand you're encountering issues with starting 1Password on native-wayland. At the moment, running 1Password in an xorg-free environment is not recommended.

    This is an issue our team is aware of and requires some further investigation. We don't have a timeline to share regarding this issue.

    I apologize for any inconvenience this may cause.

    Ali

    ref: dev/core/core#11478

  • georgealton
    georgealton
    Community Member
    Options

    Thanks for the response Ali, appreciate the feedback.

    Im looking forward to a wayland native version.

    George

  • You're most welcome @georgealton. Let me know if there's anything else we can help with.

    Ali

  • afkmario
    afkmario
    Community Member
    Options

    Same problem here :( waiting for Wayland support

  • Hi @afkmario,

    Thanks for your feedback. I'll go ahead and pass along this information to the team.

    Franky

  • Claudi
    Claudi
    Community Member
    Options

    Thanks @FrankyO1P. Yes, please pass it along. This used to work until 1Password v8.10.8 (which came with Electron 24). It’s a regression and needs to be fixed.

  • Thanks for the +1 @Claudi 👍

  • Shediv3aiMapiTh9
    Shediv3aiMapiTh9
    Community Member
    Options

    Just another note confirming that this is a regression introduced in v8.10.8.

    It is very disconcerting for a password manager to randomly stop working with a routine upgrade of just the patch version.

    Furthermore, it seems that one can not easily downgrade from v8.10.8 to v8.10.7 if one managed to get the higher version intermittently working. Presumably the database schema was updated? Again, this seems rather ill-advised for a patch version update where one would assume backwards compatibility.

    I ended up having to completely remove all local user data and freshly sign in to all my accounts to get the older version working again.

    @FrankyO1P Given that this issues has remained unaddressed for several months, I think it deserves a higher priority.

  • Claudi
    Claudi
    Community Member
    Options

    @FrankyO1P When re-assessing priority, please keep in mind that leaving us stuck at v8.10.7 (or v8.10.8) means we’re also left affected by the webp vulnerability.

  • Thank you everyone for your feedback.

    I know that support for Wayland is something that some folks find necessary and I've let the team know that you're still eager to see support be introduced in a future version of 1Password for Linux.

    That being said, currently 1Password for Linux does not support Wayland. While older versions might have run in some capacity using Wayland, I don't recommend using those older versions since they're missing several important bug fixes and security updates. We always recommend using the latest version of 1Password: https://releases.1password.com/linux/

    If you're unable to run the latest version of the 1Password for Linux on your device, then as a workaround, I would recommend sticking with 1Password in the browser (extension) in stand alone mode for now rather than running an older version of the desktop app:

    Get to know 1Password in your browser

    Franky

  • Shediv3aiMapiTh9
    Shediv3aiMapiTh9
    Community Member
    edited November 2023
    Options

    @FrankyO1P Thank you for your response, though it is a disappointing one.

    How exactly is one supposed to learn that 1Password does not support Wayland?

    Before we signed up for our paid business account, we checked the requirements documentation on https://support.1password.com/system-requirements/#system-requirements-for-the-1password-apps. There is no mention of either Wayland or X.org / X11 / X on that page.

    We created a trial account and downloaded the app. It worked perfectly fine under Wayland.

    We later read through further documentation and found https://support.1password.com/keyboard-shortcuts/ in your official knowledge base which specifically mentions Wayland: “If you’re using Linux with the X11 or Wayland protocols, you can customize global keyboard shortcuts for 1Password.”

    If it quacks like a duck, and it walks like a duck …

    Then a patch version update completely breaks the app, and suddenly we are informed that Wayland is not supported. Are we supposed to conclude that it never was supported? That it only ever worked by accident? That any mention of Wayland in the knowledge base is a typo? And that by pure accident no one ever deemed it necessary to document the fact that one can not use 1Password under Wayland?

    Without a specific notice that Wayland was not supported, I certainly wouldn't have anticipated this being the case. Wayland has been the default on Ubuntu since 21.04 (released 2½ years ago!), on Debian since 10 Buster (released 4 years ago!!), Fedora since 34 (released 2½ years ago!), and openSUSE since Leap 15.0 (released more than 5 years ago!!!). Respectfully, what does Linux support even mean, if it lags that much behind and if the app doesn't run on any of the current major distros without workarounds (such as Xwayland—if that even fully works)?

    Besides, this is a security product after all. Thinking about its overall mission, 1Password should actively discourage customers from using X and point them towards Wayland instead. The former's architectural flaws are well known, the many high severity CVEs are but a quick search away, and its ever slowing release cadence / its increasingly anaemic release notes speak for themselves.

    I realize that this is a rather harsh message. I am glad that you are participating in this discussion, @FrankyO1P, and I certainly do not blame you personally for any of this. From an engineering perspective, I simply cannot understand the decision to disregard Wayland. I can understand still wanting to support X for backwards compatibility, but why on earth would one do so at the cost of supporting Wayland. And from a business perspective, I find it, frankly, rather fraudulent-ish to cloak the issue of Wayland incompatibility in silence in seemingly all public-facing materials, produce an application that initially works, and then silently take that “feature” away in a future patch-version update.

    To your point about using the browser extension in standalone mode: My understanding is that this will support neither the CLI nor running an SSH agent. It is thus not a replacement.

    What are we left to do? Migrate to a different vendor? Will we get refunds for any prepaid time on 1Password? What about other users in our family accounts who are running a different OS and are thus not affected? Can they transition to free 1Password accounts to continue using it?

  • blau
    blau
    Community Member
    Options

    That being said, currently 1Password for Linux does not support Wayland.

    that surely is very disappointing especially keeping in mind that Linux is moving more and more towards Wayland. Considering this is a regression bug, makes it even worse. I would also appreciated a more straight forward communication as I see no need for whitewashing. To me it very much seems like you guys broke the functionality and don't care enough about a few users to fix it.

  • AJCxZ0
    AJCxZ0
    Community Member
    Options

    Bumping due the lack of response to the important, urgent, clear and reasonable comments above by @Shediv3aiMapiTh9 @solarizde and @blau after the somewhat disappointing response from @FrankyO1P.

    I have nothing new to add, except that 1Password is one of, if not the, only client on my several Linux platform desktops which requires Xwayland, i.e. to work in compatibility mode with a protocol which has reached the end of its very long life.

    I look forward to 1Password running by default as a client of modern Linux desktop platforms, i.e. using Wayland, with X11 support being a bonus feature for backwards compatibility.

  • retspen
    retspen
    Community Member
    Options

    Thank you for 1Password for linux! But on this year all new distribution want to move from X11 to wayland and drop X11. I don't have problem with Google Chrome, Slack, Discord, Vscode and even IDEA 2024.1 now fully supports wayland and fractional scaling. When do you plan to add full wayland support?

  • Claudi
    Claudi
    Community Member
    Options

    @FrankyO1P I'm still stuck with the vulnerable version v8.10.8, just like I was when this thread was created. I don't understand why you would think that this is an acceptable situation, or why you would seriously suggest that I migrate my entire system to X11, a dated and insecure environment, instead of having your developers fix the regression that they introduced nine months ago.

    I think that we, your paying customers, have demonstrated a lot of patience, given the severity. But now nine months have passed without a fix on the horizon. I respectfully request that you please ask the development team for an approximate timeline for when they plan to fix that regression, and then get back to us with a response. Would you be willing to do that for us please?

  • Mitch
    edited April 30
    Options

    Hey all. It's been several months since we last revisited this topic. As things are rapidly changing in the Linux world, I wanted to check in and provide some notes and guidance about running 1Password in native Wayland mode.

    Running 1Password on Wayland

    I did a fresh install with:

    • Ubuntu 24.04 LTS
    • GNOME on Wayland (default in Ubuntu 24.04)
    • The latest stable version of 1Password (8.10.30, installed via the official apt repository)

    I was then able to launch 1Password in native Wayland mode using ELECTRON_OZONE_PLATFORM_HINT=auto 1password.

    I confirmed that 1Password was indeed running in Wayland mode by launching xeyes and running my cursor over the app — the eyes did not follow. 👀

    Caveats and things to keep in mind

    The ELECTRON_OZONE_PLATFORM_HINT env variable is a newer and better way of configuring the app than the Ozone command-line flags which you may have seen or tried before. If you set it globally, it will affect all apps using recent versions of Electron, including when launched from the GUI (e.g. by adding export ELECTRON_OZONE_PLATFORM_HINT=auto to ~/.bashrc).

    Typical 1Password functionality including sign-in, the tray icon, browser integration, SSH agent, and item browsing and editing worked well for me in Wayland mode.

    There are still some gotchas:

    • 1Password currently depends on XWayland for secure clipboard access, even in Wayland mode. You do not need to log in to an X11 session, simply have it installed. We would like to migrate to a fully-native clipboard implementation for Wayland but we will need to build one that meets our security requirements for putting passwords on the clipboard.
    • Global keyboard shortcuts do not work out of the box. (You will see an error about keyboard shortcuts on launch but this can be ignored.) You can however create your own keyboard shortcut launchers in GNOME/KDE/your WM of choice to simulate the built-in ones, e.g. 1password --quick-access to open Quick Access and 1password --lock to lock.
    • The QR code scanner does not work in native Wayland mode.
    • The Snap package will not launch in native Wayland mode.

    Now every distribution/WM/configuration is different, and Wayland support is still in flux, so my experience may not be the same as yours. Please make sure to update your OS/GPU drivers and 1Password, and share in the thread if you run into difficulties. I'll do my best to help out and/or flag issues to the team.

    -Mitch

  • ftpd
    ftpd
    Community Member
    edited April 30
    Options

    Well, it doesn't work for me:

    ~ ❯ env | grep -i electron
    ELECTRON_OZONE_PLATFORM_HINT=auto
    ~ ❯ flatpak run com.onepassword.OnePassword
    INFO  2024-04-30T23:38:20.659 ThreadId(15) [client:typescript] Client starting.
    INFO  2024-04-30T23:38:20.660 ThreadId(15) [1P:ffi/op-core-node/src/lib.rs:982] detected an external seccomp filter
    WARN  2024-04-30T23:38:21.596 ThreadId(15) [1P:op-crash-reporting/src/killswitch.rs:58] Failed to check Sentry enabled status, Sentry is disabled. Reason: IoError(IoError(error sending request for url (<redacted URL>): operation timed out))
    INFO  2024-04-30T23:38:21.597 ThreadId(15) [1P:op-localization/src/lib.rs:232] system locale detected as 'en-US'
    INFO  2024-04-30T23:38:21.597 ThreadId(15) [1P:op-localization/src/lib.rs:258] selected translations for EN_US based on detected locale en-US
    INFO  2024-04-30T23:38:21.597 ThreadId(15) [status:app/op-app/src/app.rs:568] App::new(1Password for Linux/81030032 (EN_US), /$USER/.var/app/com.onepassword.OnePassword/config/1Password)
    INFO  2024-04-30T23:38:21.606 ThreadId(15) [1P:data/op-db/src/common/mod.rs:120] Core DB Table Integrity Check Succeeded
    INFO  2024-04-30T23:38:21.608 ThreadId(15) [1P:data/op-db/src/common/mod.rs:134] Core DB Integrity Check Succeeded
    INFO  2024-04-30T23:38:21.608 ThreadId(15) [1P:data/op-db/src/core_db/db.rs:164] Starting Core DB at version: 31
    INFO  2024-04-30T23:38:21.610 ThreadId(15) [1P:data/op-db/src/common/mod.rs:120] Resources DB Table Integrity Check Succeeded
    INFO  2024-04-30T23:38:21.610 ThreadId(15) [1P:data/op-db/src/common/mod.rs:134] Resources DB Integrity Check Succeeded
    INFO  2024-04-30T23:38:21.611 ThreadId(15) [1P:data/op-db/src/resources_db/db.rs:133] Starting Resources DB at version: 1
    INFO  2024-04-30T23:38:21.705 ThreadId(15) [1P:ssh/op-ssh-config/src/lib.rs:325] agent not configured
    ERROR 2024-04-30T23:38:21.709 ThreadId(15) [1P:app/op-app/src/app/backend/native_messaging/mod.rs:73] BrowserSupport manifest installer failed: InvalidAppPath
    WARN  2024-04-30T23:38:21.721 ThreadId(15) [1P:native-messaging/op-native-core-integration/src/lib.rs:167] detected 1Password was in an incompatible sandbox, disabling native messaging.
    INFO  2024-04-30T23:38:21.723 tokio-runtime-worker(ThreadId(5)) [1P:ssh/op-agent-controller/src/lib.rs:502] Starting filesystem watcher for SSH agent configuration directories...
    ERROR 2024-04-30T23:38:21.723 tokio-runtime-worker(ThreadId(5)) [1P:/builds/dev/core/core/ssh/op-agent-controller/src/lib.rs:503] Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })
    ERROR 2024-04-30T23:38:21.768 tokio-runtime-worker(ThreadId(5)) [1P:op-global-shortcuts/src/lib.rs:69] AppError at /builds/dev/core/core/op-global-shortcuts/src/node.rs:62:6
    binding shortcut
    
    Caused by:
        BindRefused
    
    ERROR 2024-04-30T23:38:21.768 tokio-runtime-worker(ThreadId(10)) [1P:op-global-shortcuts/src/lib.rs:69] AppError at /builds/dev/core/core/op-global-shortcuts/src/node.rs:62:6
    binding shortcut
    
    Caused by:
        BindRefused
    
    INFO  2024-04-30T23:38:22.200 tokio-runtime-worker(ThreadId(10)) [1P:app/op-app/src/app/backend/lock_screen.rs:89] System unlock is enabled: false
    INFO  2024-04-30T23:38:22.200 tokio-runtime-worker(ThreadId(10)) [1P:app/op-app/src/app/backend/lock_screen.rs:117] Sys auth status Disabled
    

    And nothing happens - 1Password window doesn't appear.

    Version:

    1Password for Linux 8.10.30
    81030032, on PRODUCTION channel
    

    installed via Flatpak, from the official 1Password repository. Void Linux with kernel 6.8.8, qtile 0.25. All other Electron apps work great natively on Wayland.

  • Mitch
    edited May 1
    Options

    Well you intrigued me @ftpd. I had never used Void Linux before. (Interesting distro… no systemd! Thanks for introducing me to it.)

    I set up a fresh install of Void in a qemu VM (x86_64, glibc version), and installed qtile plus some dependencies (elogind, flatpak, and polkit) and was able to launch 1Password in Wayland mode. I did have to enable the elogind and dbus services and export the output of dbus-launch to get the flatpak to launch.

    I also got the same console output as you, but those errors did not prevent the window from appearing:

    This is on a system without Xorg or even Xwayland installed, so I can confirm that it is possible to run 1Password in Wayland in qtile on Void Linux.

    Some more questions to help you troubleshoot:

    1. Are you using the glibc or musl version of Void? I assume this is x86_64.
    2. What GPU? Could you try launching with --disable-gpu?
    3. Could you try deleting the 1Password app user data in ~/.var/app? (Make sure you have your Emergency Kit saved so you can sign back in to your account.)
    4. In case there's a problem specific to the flatpak, could you try running 1Password from the portable .tar.gz? https://support.1password.com/install-linux/#other-distributions-or-arm-targz

    Let's see if we can get this working as well for you as it did in my VM.

  • ftpd
    ftpd
    Community Member
    Options
    1. glibc, it is x86_64.
    2. some generic gpu on my AMD Ryzen 5 4650U, all I can identify is AMD ATI 06:00.0 Renoir. Using --disable-gpu changes nothing.
    3. I've tried, still the same result.
    4. This is when it starts to get interesting. While using the portable version, I see an icon in system tray. I still can't open the main window - it doesn't show automatically and does not show when I click the systray icon. The weird thing is: I can select 'Settings' from the icon's menu and they work just fine.

    Note: I normally don't have elogind, but for testing purposes I've installed it and even enabled the service (even if it should be automatically started by dbus). This changed nothing.
    I've also installed all Vulkan-related stuff (as the documentation instructs), but it didn't help either.

    So, the problem has to be somewhere on my side, since it works for you in Gnome and qtile.

  • ftpd
    ftpd
    Community Member
    Options

    @Mitch, what do you have set as XDG_CURRENT_DESKTOP? Maybe here the problem lies, as I'm setting it manually in my qtile config.

  • Mitch
    Options

    @ftpd: I do not have that variable set.

    env | grep XDG
    XDG_SEAT=seat0
    XDG_SESSION_TYPE=wayland
    XDG_SESSION_CLASS=user
    XDG_VTNR=1
    XDG_SESSION_ID=1
    XDG_RUNTIME_DIR=/run/user/1000
    XDG_DATA_DIRS=/home/mitch/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
    

    Could you also try running the app (either Flatpak or tar) with dbus-run-session? Failing that I'd try with a fresh user account and home directory.

  • ftpd
    ftpd
    Community Member
    Options

    I start qtile with dbus-run-session already, but I've tried also explicitly add it to my flatpak run - still nothing. I've created a fresh user, run qtile as this user on the default configuration, installed 1Password (from flatpak too) and also the same problem.

    My XDG_* values are the same as yours. Maybe I'm missing some not-obvious dependency?