Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Warp on Linux #3602

Aug 29, 2023 · 53 comments · 169 replies
Discussion options

@vorporeal and @alokedesai have been working on porting a build of Warp for Linux. We're opening up this discussion so we can field people's questions about the process and also get insight from the community!

[Feb 2024] Hey everyone, we're excited to announce that Warp on Linux is now generally available, download it from our website and see our quickstart guide here. 🥳 🚀

You must be logged in to vote

Replies: 53 comments 169 replies

Comment options

So, does it use GTK or Qt? Show us some screenshots, please!

You must be logged in to vote
10 replies
Comment options

Another option, as indicated above, is tauri, but I personally wouldn't want my terminal to be written in a js/ts framework. There was a terminal app that went with that approach, don't remember the name unfortunately, and it just felt slow, though it was using electron I believe, so mb it wouldn't be as bad with tauri, but can't tell for sure.

Yeah you're probably thinking of Hyper. Seeing as the warp devs are compiling with WASM that should keep things fast. Also Tauri is built with Rust and is more lightweight than Electron so it may turn out to be a good combination. I'm excited to see what they come up with. 👍

Comment options

Yeah you're probably thinking of Hyper. Seeing as the warp devs are compiling with WASM that should keep things fast. Also Tauri is built with Rust and is more lightweight than Electron so it may turn out to be a good combination. I'm excited to see what they come up with. 👍

Correct, Hyper was it. And ye, that's why I said I can't be completely sure that web frameworks are a bad choice, since tauri is actually good🤣

Comment options

Maybe I'm missing something, didn't the devs build their own UI framework from the ground up? Is there a reason to believe they wouldn't port it to Linux, rather than use GTK/Qt? Or am I completely misunderstanding how the pieces fit together here?

Comment options

Tauri is honestly not the best option for linux primarily because (last time I checked), there is no way to explicitly set the backend to be wayland, and it defaults to X whenever the application uses global hotkeys. It even seems to override or ignore the env variable GDK_BACKEND=wayland

Comment options

Voting for GTK4 with Libadwaita components.

It's pretty easy to use from Rust (It's basically like manipulating DOM elements with vanilla JS) and looks great. I am sure there are frameworks out there to make it easier to work with but it has been fine by itself for me.

Supports Wayland out of the box and Gnome is shipping a Vulkan renderer in the next few months.

Comment options

hype!

What is the biggest challenge in porting it?

You must be logged in to vote
4 replies
Comment options

I'm assuming mostly low-level graphics work, since they wouldn't have to port it if they were using vulkan/wgpu (mb small tweaks here and there), since it's cross-platform by default. And bc it has been mac-only, I'm assuming they were using metal for graphics, which cannot be used on Linux/Windows

Comment options

webgpu can target vulkan, metal, and direct3d 12, if they rewrite their graphics in webgpu then it should be write-once-run-everywhere

Comment options

webgpu can target vulkan, metal, and direct3d 12, if they rewrite their graphics in webgpu then it should be write-once-run-everywhere

Oh true, forgot it can do metal as well

Comment options

We built a wgpu implementation of our renderer as part of this effort that we intend to use as our backing renderer on Linux, Windows, and the web.

Once we do enough performance testing, we also plan on replacing our Metal renderer with the wgpu renderer so we don't need to maintain two different implementations of our renderer :)

Comment options

X only, or Wayland too?

You must be logged in to vote
13 replies
Comment options

X11 should be really considered deprecated. Wayland support should really be the primary goal and X11 support if there's time, not the other way around. Good to see winit covers both though!

Comment options

I can't speak for Nvidia GPU owners but I have been using Wayland for the last 2 years on Gnome 4x and haven't had any issues. I would be fine if this were Wayland-only, especially if that means a smoother experience that is easier for the team to maintain.

Comment options

I can't speak for Nvidia GPU owners but I have been using Wayland for the last 2 years on Gnome 4x and haven't had any issues. I would be fine if this were Wayland-only, especially if that means a smoother experience that is easier for the team to maintain.

I have an Nvidia GPU, and wayland is great; it's X11(or Xwayland) apps that tend to fail spectacularly

Comment options

X11 is too old , I think

Comment options

When you take an already fragmented platform that is linux and then divide that in half by what compositor a system is running

Compare that to Windows, though, where the single API (some of the features dating back to DOS) is a nightmare to work with and will never, ever change.

The single API? euh... ok. And never changes ? euh.. anyway, so much ideology, so little knowledge.

Comment options

Will there be a beta program?

You must be logged in to vote
0 replies
Comment options

What's going to be the release format? Official repo, rpm, deb, appimage, flatpak, snap?

You must be logged in to vote
28 replies
Comment options

Given that Warp developers target WASM (or x86_64-unknown-linux-musl?) on Linux, it would probably be a single executable, hopefully statically linked, so the packaging would be extremely easy: only one file to add, apart from the .desktop and the permissions needed (which for a terminal emulator would be full access to all filesystem, etc).

Ye, that I can't argue with, I'll admit. I guess I was talking just more generally about all kinds of software written in all kinds of languages. Rust applications are definitely the easiest ones to package in my experience (of course there are exceptions but on average I perceive it to be true, but let me know if stats (if there are any) prove otherwise)

Comment options

To clarify here - use of WASM to make a version of Warp that runs in a web browser is unrelated to the work to port Warp to Linux. Linux releases of Warp will be good old fashioned ELF binaries (with specifics of packaging and distribution still TBD). But yes, Rust's tendency towards statically compiling all dependencies into the binary itself (as opposed to relying on shared dynamic libraries) should make this significantly easier.

Comment options

Anyone mentioned cargo binstall yet? Completely distro (and platform) independent and does not require compiling from source. The only downside is that it assumes that that the user has rust toolchain installed locally, but i think as one of the options it would be perfect.

Comment options

I use Fedora so I am happy with whatever works there. I'd honestly be fine with a straight up executable I download from the GitHub releases section and a list of dependencies to install.

curl -L --url .../linux-amd64.tar.gz | tar -xvzf - -C $HOME/.local/warp
sudo dnf install gtk #... maybe not needed?

It'll be largely statically linked so I don't imagine there will be many (if any) dependencies to install.
Maybe open the wiki up to the community to maintain up distro-specific install instructions?

Comment options

I think it's not really important, but don't use snap, snap is so awful.
If you won't add it into the software sources, I think .tar.gz is the best one.

Comment options

Also info about the requirements in the machine?

You must be logged in to vote
0 replies

This comment was marked as duplicate.

Comment options

To make this discussion easier for anyone and especially the developers to follow, please don’t start new threads when one already exists for the subject matter. Release formats are discussed in this thread.

This comment was marked as duplicate.

Comment options

To make this discussion easier for anyone and especially the developers to follow, please don’t start new threads when one already exists for the subject matter. Packaging is discussed in this thread.

Comment options

Please people stop asking for flatpak or others. One post is enough just upvote the others comments.
I am getting too many notifications.

You must be logged in to vote
4 replies
Comment options

Comment options

I want to get updates here but not 30 emails about "please flatpak"

Comment options

Yea well that hornets nest has been stirred. This will only end when someone closes the discussion at this point from my experience with literally every other piece of linux software. lol

Comment options

Yeah, but we can be better. @Mte90 has specifically said that he wants to stay informed, but that he cannot if he is being spammed. So... let's not spam!

Comment options

What package formats will be natively supported? My recommendation would be nix, Great, easy and supports building to multiple other formats.

On a sidenote, is there an argument to run a command at launch, for example:

Alacritty -e echo UwU
You must be logged in to vote
1 reply
Comment options

To make this discussion easier for anyone and especially the developers to follow, please don’t start new threads when one already exists for the subject matter. Release and package formats are discussed in this thread.

Comment options

do we have the first release for Linux build to test it out? Then we can list of distros to package it with appropriate binaries.

You must be logged in to vote
1 reply
Comment options

they wrote on top that they are experimenting and that is not yet available.

Comment options

  1. Any rough ETA on when this might be ready?

  2. Does this mean I'll be able to start using Warp on Windows by installing the Linux release on WSL2, or is it not that simple?

You must be logged in to vote
5 replies
Comment options

  1. Does this mean I'll be able to start using Warp on Windows by installing the Linux release on WSL2, or is it not that simple?

Most likely this will not be feasible, but wsl2 supports graphical X11 apps, more or less, so maybe?

Comment options

I'm not positive if that would be feasible, but we do plan on building Warp for Windows once we've wrapped up building Linux (no concrete timeline just yet).

Windows provides a "PTY"-like interface which makes our lives much easier.

We also intend to build support for Powershell as part of building Warp on Windows.

Comment options

Please keep in mind when you start working on Windows support that WSL support is a must-have for most people (myself included :D). Fortunately, if you follow the new PTY interface that Microsoft introduced for their Windows Terminal to work, there isn't much additional work to do in order to support WSL.

Comment options

Absolutely--we also considering supporting WSL a must :) I didn't mention it above because there isn't much additional work for us to support WSL for the exact reasons you mention

Comment options

X11 is Legacy. WSL2 Supports for Graphical Wayland apps

Comment options

Will it be port for X11 or Wayland?
In theory we can use xwayland, but native version will be nice

You must be logged in to vote
2 replies
Comment options

Already answered here: #3602 (reply in thread)

Comment options

The Wayland Support is a must-have

Comment options

In my understanding of WASM, WASM itself does nothing except pure computation, i.e., it cannot use any syscalls, such as fork, alarm, rendering through GPU.

To be able to use syscalls, there are two main approaches:

  • Import such functionalities implemented in host languages

  • WASI, or WASIX which was recently posted.

    These two approaches are more efficient and graceful in my understanding, since these functionalities are usually provided by the WASM runtime (which is more standardized and atomic), or by ourselves through component model (which, however, is not supported widely in current).

I am not aware of the total architecture of Warp, but I think as a well-known terminal app using WASM, the team could approaches the WASM/WASI/WASIX official team if some requirements could not be met.

You must be logged in to vote
3 replies
Comment options

Import such functionalities implemented in host languages

with the limitation of being restricted to only what can be implemented in memory*

without native bindings, vanilla WASM (aka, WASM without WASI) can't do any IO. as such, if the host language has a filesystem implementation, it'll be restricted entirely to being in-memory, and without any way of saving the data - so if you exit the program and then reload it (or just start another process of the program), there will be no saved state

since these functionalities are usually provided by the WASM runtime (which is more standardized and atomic)

the existence of WASIX isn't standardized at all :) wasmer got too antsy and released it without working with Bytecode Alliance, which means wasmer isn't wasi. wasi preview 2 coming soon though, and should support what most WASI apps would need

or by ourselves through component model (which, however, is not supported widely in current).

it's not even "officially" released yet! hopefully by EOY. and i doubt wasmer will support it, since they're... doin their own thing

see more: https://bytecodealliance.org/articles/webassembly-the-updated-roadmap-for-developers

Comment options

To clarify here - use of WASM to make a version of Warp that runs in a web browser is unrelated to the work to port Warp to Linux. Linux releases of Warp will be good old fashioned ELF binaries (with specifics of packaging and distribution still TBD).

Comment options

wasmer got too antsy and released it without working with Bytecode Alliance, which means wasmer isn't wasi

This is not only technically wrong but is also misleading. WASIX preserves full API compatibility with WASI Preview 1, while WASI Preview 2 is a breaking change from its previous version.

Of course, we (Wasmer) did not agree to make any breaking changes and as such we created a new standard closest to POSIX that built on top of the previous working version... hopefully that will be useful for some. If you think the component model is for you, go all in... of course! But that may not be sufficient for many! (especially if you want to use sockets, threads, forks, signals, or many other features)

I also think Warp would really benefit from Wasm and WASIX. So happy to help in case help is needed!

Comment options

Make use of everything that kitty tty has pioneered, e.g. https://sw.kovidgoyal.net/kitty/protocol-extensions/
If warp can't compete with kitty, why would we switch? It's the benchmark. Better than alacritty and everything that came before it.

You must be logged in to vote
0 replies
Comment options

guys what is the link for discord?
when i mailed them for access, like since it's invite-only, i got a reply from @zachlloyd, i thought it was access link, but it turned out to b an autobot mail..., so hw can i access the beta?, and that guy who posted the build instructions thing, it doesnt work...

i m using arch linux, hyprland

You must be logged in to vote
2 replies
Comment options

Comment options

Also, your account needs to get whitelisted for the beta. Otherwise, you can't login.

Comment options

Happy New Year! As you may have seen in the discussion, Warp on Linux is in a private beta to a few hundred users to make sure everything is stable ahead of a larger release. We will update this thread when Warp on Linux becomes widely available and you can also add your name to the waitlist. We're excited about Warp on Linux launching and we can't wait to share it with you when it's ready!

You must be logged in to vote
6 replies
Comment options

@noahzweben Attention attention please 🖐🏻🖐🏻 waiting for so long here 😃

Comment options

Everyone wanting to join the beta need to go here ==> https://discordapp.com/channels/851854972600451112/1184925886487724063

Comment options

@eosdev-x is there an invitation to join the server? I'm unable to see this channel.

Comment options

Comment options

any updates, waiting like hell for this Time Warper

Comment options

guys 👋🏻 does anyone of you has access but dont have time? pls give me your email and i will use warp on my machine bcoz i am not able to wait anymore and @zachlloyd isn't giving me access to Warp 😢 idk if it works but i've been spamming my email in the linux waitlist every 15 mins thru a python bot but ig it doesnt work coz i thought that there's more priority to ppl who gives their names more...

You must be logged in to vote
3 replies
Comment options

Ok 1. Why are you not able to wait? What's the urgent use case that can't be solved by using an alternative solution? The product is simply not ready, and I can't think of any particular feature of Warp that makes it an irreplaceable solution...
2. Spamming the list doesn't do anything. There must be deduplication logic in place. And even if you use different emails, the first one was already the highest priority you can get if the list is on a first come first serve basis.
3. There were early build and instructions previously shared in this topic. I downloaded them and tried bit they didn't work on wsl just yet. There were no credentials required to test. You don't need someone else account.
4. Did you already join the discord server? It's faster to ask for instructions there than nagging here.

Comment options

i'll answer you step by step:

  1. I am waiting since september 2021, since i heard they started Warp on Linux, no urgent use case but its the first time i heard AI enabled terminal, i saw fig.io but they have disabled signups coz they have integrated with AWS.
  2. I guess spamming the same email again and again works coz i got an email from Warp that i am allowed access.
  3. There's no early build right now, they are in Beta right now and we need a whitelisted account to have access to warp as its a private beta.
  4. Yeah i am in the discord server already and i've posted about letting me access a few times in the server
Comment options

@daUnknownCoder
Maybe you will temporarily be satisfied with such a decision?
ollama
& script to install:
webinstall.dev
Of course, it is local, and if you lack computing power, then it is unacceptable.

Comment options

Thank you for your interest in Warp for Linux. The wait is almost over!

Warp for Linux will be widely released on Thursday February 22nd, 2024.

If you added your email to the waitlist, you’ll receive an email from Warp when Warp for Linux is generally available.

We will also be hosting a live "Launch Party" event on the release day and you’re invited to attend. You can pre-register now.

For folks who have been waiting to join the private beta: we had been adding people by email in batches to the private beta allowlist as we worked to ensure stability ahead of the release. At this time, the release appears stable. We will be slowing down invitations to the private beta after today.

We are looking forward to making Warp for Linux available to everybody soon!

You must be logged in to vote
1 reply
Comment options

Amazing!

How about windows? Could then warp be used on Windows through WSL?

Comment options

Hey everyone, we're really excited to announce that Warp on Linux is now generally available and can be downloaded from our website 🥳 🚀.

Thank you to everyone here for the thoughtful comments and for the beta users who gave us early feedback on how we could make Warp on Linux better, it is much appreciated.

As Noah mentioned above, we will also be hosting a live "Launch Party" event today which we'd love for you to attend. You can pre-register here.

You must be logged in to vote
14 replies
Comment options

@EliteAMDGamer Yes, it is installed.

Comment options

I'm also having issues with hidpi and wayland. Using latest hyprland with xdg-desktop-portal-hyprland and xdg-desktop-portal-gtk installed.

Anyone find any flags or env vars yet?

Comment options

Not yet, but I'm sure as heck lookin'.

Comment options

I've found a workaround using a shell script to be able to pass commands to warp-terminal usage is just call the script with the command as the first argument (in quotes if there's spaces):

#!/bin/bash
# Check if warp-terminal is installed
if ! command -v warp-terminal &> /dev/null; then
 echo "Error: warp-terminal is not installed or not in PATH"
 exit 1
fi
# Check if xdotool is installed
if ! command -v xdotool &> /dev/null; then
 echo "Error: xdotool is not installed or not in PATH"
 exit 1
fi
# Check if an argument is provided
if [ $# -eq 0 ]; then
 echo "Usage: 0ドル <command>"
 exit 1
fi
# Launch warp-terminal in a new tab
warp-terminal &
# Wait for the terminal window to appear
sleep 1
# Send commands to the terminal
xdotool type --delay 50 --clearmodifiers "1ドル"
xdotool key Return
# Optionally, you can send more commands by adding them as additional arguments
# for arg in "${@:2}"; do
# xdotool type --delay 50 --clearmodifiers "$arg"
# xdotool key Return
# done
Comment options

@asjur @ndom91 (and anyone else with Wayland issues) From #4240, there's the WARP_ENABLE_WAYLAND=1 environment variable that might work for you.

Comment options

Can i use Warp on Kali Linux ?
i install it by the DEB file.. i can actually see trhe program in my system , but then when i open it nothing shows. only sistem tray icon of warp.

Any help will/would be appreciated

image

image

You must be logged in to vote
2 replies
Comment options

I'm having the same result...I guess it's not working on Kali for now.

Comment options

Maybe is something about a privacy matters.. after all Warp need a login, so i was thinking perhaps they actully get more than just a
' login token ' of you system and Kali or Parrot is quite an experience in that matter .
just a random thoughts; after tring it on Debian and Fedora.

Comment options

Hey guys, can anyone help me out so i can remove the "Almost**" from this?

Almost** Working Warp For WSL2 (on win10)

  1. Enable x11 apps in WSL2
    sudo apt install x11-apps libegl1 libxkbcommon-x11-0
  2. download & install Windows X Server - https://sourceforge.net/projects/vcxsrv/
  3. start XLaunch, config:
    Multiple Windows -> Next -> Start no client -> Next -> disable Native opengl AND enable Disable access control -> Run
  4. in wsl2 (put it in your rc file if working)
    export DISPLAY=$(ip route list default | awk '{print 3ドル}'):0
    export LIBGL_ALWAYS_INDIRECT=1
    echo $DISPLAY # make sure this looks right
  5. test its working with runnning xcalc
    you should see xcalc open now
  6. install & start warp
    wget https://releases.warp.dev/stable/v0.2024年02月20日.08.01.stable_01/warp-terminal_0.2024年02月20日.08.01.stable.01_amd64.deb
    sudo dpkg -i warp-terminal_0.2024年02月20日.08.01.stable.01_amd64.deb
    warp-terminal

the steps are from https://stackoverflow.com/questions/61110603/how-to-set-up-working-x11-forwarding-on-wsl2

also: echo "*customization: -color" >> ~/.Xdefaults enables colors, if not, the apps are black and white (can be seen with xcalc)

Doing this, it looks like warp-terminal is starting, i can see the program logs
but i see a black sceen for warp instead of the app, i see xcall running nicely
this might be do to opengl but im pretty sure i tried all combination, with, without (in xlaunch) LIBGL_ALWAYS_INDIRECT=1, LIBGL_ALWAYS_INDIRECT=0

so yea i feel like im almost there, can anyone help??
Thanks a lot and all the best!

You must be logged in to vote
3 replies
Comment options

- warp is running successfully on wsl2, but rendered blank/black when launched to xlaunch
- I dont know what the hello screen is but pressing enter takes me to https://app.warp.dev/logged_in/remote?is_user_new=false&scheme=warp&public_beta=true and i see "Logged in as....", thats how i know warp is working (+ logs)

I feel like its one step away from working
any thoughts @alokedesai ? ☝️

Comment options

@alokedesai any thoughts/revelations ?
would be super apreciated
Thanks and all the best!

Comment options

will someone try to make it working on wsl2 alpine @fire17 ? :D

Comment options

i'm using warp on opensuse, and i would like to have a url for a .repo file so that i can make a script call zypper addrepo when i reinstall the system. would you mind letting me know if such a link is available for us to use?
also, is there a timeline for when warp supports completion for commands with completion scripts in ~/.local/share/bash-completion/completions/?
many thanks!

You must be logged in to vote
0 replies
Comment options

Not sure if this should be here or a separate post, but on linux (Ubuntu 22.04, non-wayland, default desktop) and I've hit two issues so far:

1 - There is no menu I can find. On mac it'd be there of course, but on linux the 'menu' in the menu bar just has "show details" and "new window". So all the documentation for submitting feedback etc isn't possible.
2 - If you have passwordless sudo the tab title doesn't update when you sudo -i. IE:

Non passwordless sudo:

  • log in to server
  • tab title shows user@host as well as the command line prompt
  • run sudo -i and it waits for you to put your password in
  • tab title shows "sudo -i" (command being executed - makes sense, all good so far
  • put in password
  • now the prompt on the command line shows 'root@host.com'
  • the tab title also shows 'root@host.com'
  • This is exactly as it should be, and easy to identify servers if you have lots of tabs open

Passwordless sudo:

  • log in to server
  • prompt and tab title shows user@host
  • run sudo -i
  • since it's passwordless there's no prompt and I'm root right away
  • prompt now hows "root@host"
  • tab title shows "sudo -i"

This second case is sub-optimal obviously as if you're more than one server and all your tab titles show "sudo -i" you have no idea where you are.

Please let me know if submitting this here is good or if it needs to go as a separate post / report or report it through another way.

You must be logged in to vote
0 replies
Comment options

Any chance for an ARM version? Running a Linux (Ubuntu in that case) VM on my Apple Silicon MacBook Pro, for that ARM version would be needed.

You must be logged in to vote
1 reply
Comment options

ARM linux versions are now on the Warp download page. https://www.warp.dev/download!

Comment options

wrong datetime in warp.log
maybe log the server time, not my local time.
os: ubuntu 22.04

You must be logged in to vote
0 replies
Comment options

Just wanted to write in and let the Warp team know that Warp appimage is running well for me on Fedora Bluefin:

image

I do wish I could just install from flathub, though, since flatpak is well integrated with Bluefin/Silverblue/ublue etc.

You must be logged in to vote
1 reply
Comment options

And note this is wayland with 150% scaling, no flickering or weird artifacts so far.

Comment options

Did anyone had the copy-paste issue to and from warp to other apps in Ubuntu 24.04? This is really making my life hard to use warp.

You must be logged in to vote
1 reply
Comment options

Ok, doing this solved the problem:
echo WARP_ENABLE_WAYLAND=0 >> ~/.config/environment.d/envvars.conf

Comment options

Is there a way to start the warp terminal silently/minimized at startup? I use ubuntu 22.

You must be logged in to vote
1 reply
Comment options

I'm not sure there's a built in way (yet?), but this might help in the interim.

Comment options

i can't enable wayland on warp terminal

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

AltStyle によって変換されたページ (->オリジナル) /