warpdotdev / Warp

Warp is the agentic development environment, built for coding with multiple AI agents.
https://warp.dev
Other
24.03k stars 488 forks source link

Warp window in macOS VM not showing #6613

Closed manjaroblack closed 2 weeks ago

manjaroblack commented 3 weeks ago

Pre-submit Checks

Describe the bug

OS: macOS Ventura Virtual Machine Graphics: VMVGA

Here is the terminal output when launching Warp:

Last login: Wed Jun 18 09:10:36 on ttys000
➜  ~ RUST_LOG=wgpu_core=info,wgpu_hal=info MESA_DEBUG=1 EGL_LOG_LEVEL=debug /Applications/Warp.app/Contents/MacOS/stable 
09:22:09 [INFO] Initial open file descriptor limit is 256, with a hard limit of 9223372036854775807
09:22:09 [INFO] Increased open file descriptor limit to 2560
09:22:09 [INFO] Spawning terminal server process...
09:22:09 [INFO] Running terminal server...
09:22:09 [INFO] application will finish launching
09:22:09 [INFO] Unable to read user from secure storage: SecureStorageError(Unknown(The specified item could not be found in the keychain.))
09:22:09 [WARN] SQLite error 283 (A WAL mode database file was recovered): recovered 480 frames from WAL file /Users/ds/Library/Application Support/dev.warp.Warp-Stable/warp.sqlite-wal
09:22:09 [INFO] Connecting to SQLite database
09:22:09 [INFO] Initializing crash reporting Some("mac_stable_release") with tag "v0.2025.06.11.08.11.stable_01"...
09:22:09 [INFO] Initializing Sentry for cocoa app with endpoint https://0195a81da0714f55a93ee4624825f9ec@o540343.ingest.sentry.io/5658526
09:22:09 [INFO] Removing old executable dir...
09:22:09 [INFO] Removing old executable file...
09:22:10 [INFO] Starting warp with channel state ChannelState { channel: Stable, app_id: AppId { qualifier: "dev", organization: "warp", application_name: "Warp-Stable" }, additional_features: {}, firebase_api_key: "AIzaSyBdy3O3S9hrdayLJxJ7mriBR4qgUaUygAs", server_root_url: "https://app.warp.dev", ws_server_url: "wss://rtc.app.warp.dev/graphql/v2", session_sharing_server_url: Some("wss://sessions.app.warp.dev"), rudderstack_config: RudderStackConfig { write_key: "2iyG8S1RaV4XTX6SEypetFSEbLK", root_url: "https://warpianwzlfqdq.dataplane.rudderstack.com", ugc_write_key: "2uBazVfcqYBDYSOHnqSVx45GpTV" }, releases_base_url: "https://releases.warp.dev", sentry_url: "https://0195a81da0714f55a93ee4624825f9ec@o540343.ingest.sentry.io/5658526", logfile_name: "warp.log", show_autoupdate_menu_items: true } and version Some("v0.2025.06.11.08.11.stable_01")
09:22:10 [INFO] Enabling use of lazy scene building
09:22:10 [INFO] Enabling flat storage
09:22:10 [INFO] Computing available system fonts
09:22:10 [INFO] Start to send telemetry events to RudderStack
09:22:10 [INFO] Start to send telemetry events to RudderStack
09:22:10 [INFO] Start to send telemetry events to RudderStack
09:22:10 [INFO] Performance metrics collector started
09:22:10 [INFO] Dropping empty RudderStack telemetry batch
09:22:10 [INFO] Flushed telemetry events.
09:22:10 [INFO] Initializing app services
09:22:10 [INFO] Checking for update on channel stable_release. Update id is PSDsbqt
09:22:10 [INFO] Fetching channel versions (without changelogs) from Warp server
09:22:10 [INFO] Initialized execution profile model with state: Unsynced
09:22:10 [INFO] Start to send telemetry events to RudderStack
09:22:10 [INFO] dispatching global action for root_view:open_from_restored
09:22:10 [INFO] Opening window with id 0
09:22:10 [INFO] Start to send telemetry events to RudderStack
09:22:10 [ERROR] error opening window: could not obtain metal device
09:22:10 [INFO] application did become active
09:22:10 [INFO] fetching updated cloud objects
09:22:10 [WARN] Failed to retrieve initial request limit info: Failed to get access token for GraphQL request

Caused by:
    Attempted to retrieve access token when user is logged out
09:22:10 [INFO] forcing sync of all objects
09:22:10 [INFO] application can reach internet
09:22:10 [INFO] Received channel versions from Warp server: dev: ChannelVersion { version_info: VersionInfo { version: "v0.2025.06.18.08.11.dev_00", version_for_new_users: None, update_by: None, soft_cutoff: Some("v0.2023.05.12.08.03.dev_00"), last_prominent_update: Some("v0.2025.03.05.08.02.dev_00"), is_rollback: None }, overrides: [] }; preview: ChannelVersion { version_info: VersionInfo { version: "v0.2025.06.11.08.11.preview_01", version_for_new_users: None, update_by: None, soft_cutoff: Some("v0.2025.04.30.08.11.preview_03"), last_prominent_update: Some("v0.2025.06.11.08.11.preview_01"), is_rollback: None }, overrides: [] }; canary: ChannelVersion { version_info: VersionInfo { version: "v0.2022.09.29.08.08.canary_00", version_for_new_users: None, update_by: None, soft_cutoff: None, last_prominent_update: None, is_rollback: None }, overrides: [] }; beta: ChannelVersion { version_info: VersionInfo { version: "v0.2024.12.18.08.02.beta_00", version_for_new_users: None, update_by: None, soft_cutoff: None, last_prominent_update: None, is_rollback: None }, overrides: [] }; stable: ChannelVersion { version_info: VersionInfo { version: "v0.2025.06.11.08.11.stable_01", version_for_new_users: None, update_by: None, soft_cutoff: Some("v0.2025.04.30.08.11.stable_01"), last_prominent_update: Some("v0.2025.06.11.08.11.stable_01"), is_rollback: None }, overrides: [] }
09:22:10 [INFO] get_workspaces_metadata_for_user: request failed with error Error polling for workspace metadata changes. Trying again.
09:22:10 [WARN] fetch_changed_objects: request failed with error Failed to get access token for GraphQL request. Trying again.
09:22:10 [INFO] Already up to date with v0.2025.06.11.08.11.stable_01
09:22:10 [INFO] No update available
09:22:12 [INFO] fetching updated cloud objects
09:22:12 [INFO] forcing sync of all objects
09:22:12 [WARN] fetch_changed_objects: request failed with error Failed to get access token for GraphQL request. Trying again.
09:22:12 [INFO] get_workspaces_metadata_for_user: request failed with error Error polling for workspace metadata changes. Trying again.
09:22:16 [INFO] fetching updated cloud objects
09:22:16 [INFO] forcing sync of all objects
09:22:16 [WARN] fetch_changed_objects: request failed with error Failed to get access token for GraphQL request. Trying again.
09:22:16 [INFO] get_workspaces_metadata_for_user: request failed with error Error polling for workspace metadata changes. Trying again.
09:22:25 [INFO] get_workspaces_metadata_for_user: request failed with error Error polling for workspace metadata changes. Retries exhausted.
09:22:25 [INFO] fetching updated cloud objects
09:22:25 [INFO] forcing sync of all objects
09:22:25 [WARN] fetch_changed_objects: request failed with error Failed to get access token for GraphQL request. Retries exhausted.
09:22:34 [INFO] dispatching global action for root_view:update_quake_mode_state
09:22:40 [INFO] Start to send telemetry events to RudderStack
09:22:40 [INFO] Flushed telemetry events.

To reproduce

Configure a macOS VM using the VMVGA graphics driver. Install and launch Warp. Warp starts but no window is rendered.

Expected behavior

Warp terminal should be visible.

Screenshots, videos, and logs

No response

Operating system (OS)

macOS

Operating system and version

Ventura VM

Shell Version

No response

Current Warp version

No response

Regression

No, this bug or issue has existed throughout my experience using Warp

Recent working Warp date

No response

Additional context

No response

Does this block you from using Warp daily?

Yes, this issue prevents me from using Warp daily.

Is this an issue only in Warp?

Yes, I confirmed that this only happens in Warp, not other terminals.

Warp Internal (ignore): linear-label:b9d78064-c89e-4973-b153-5178a31ee54e

None

dannyneira commented 3 weeks ago

Hi @manjaroblack The error [ERROR] error opening window: could not obtain metal device indicates that the VMVGA drivers aren't supported since Warp expects metal support on macOS. You may be able to workaround this by installing the latest VMware tools on the macOS VM (i'm assuming you're using VMWare fusion) and make sure to enable 3D acceleration in the vm settings, but this may not work due to the Metal requirements (i.e. Minimum requirements: Intel or Apple silicon macOS 10.14 or above and hardware that supports Metal). Also make sure the host machine you're on supports Metal.

I hope this helps.

dannyneira commented 2 weeks ago

Closing as non-metal macOS devices aren't supported.