インストール
注意: FreeBSD 上の Ebitengine は、作者によってあまりテストされていません。
デスクトップ環境
Ebitengine を動かすためには X Window system が必要です。 GNOME3 のようなウィンドウマネージャをインストールする必要があります。公式マニュアルを参照してください。 pkg install xorg を実行する必要があることに注意してください。
Go のインストール
Go をインストールしてください。 Ebitengine を動かすためには Go 1.25 以降が必要です。
Ebitengine v2.10 から、デスクトップ (Windows、macOS、Linux、FreeBSD) 向けのビルドは Pure Go になりました。 C コンパイラーや開発用ヘッダーファイルは不要です。モバイル向けのビルドには引き続き Cgo が必要です。モバイル (英語) を参照してください。
実行時のライブラリ
以下は Ebitengine v2.10 の標準の X11 デスクトップバックエンド向けの手順です。動作中の X サーバー (Wayland セッションでは XWayland) と、動作するグラフィックスドライバーが必要です。クライアントライブラリをインストールするだけではデスクトップ環境は構築されません。開発用パッケージや pkg-config は不要です。
描画バックエンドは libX11 と OpenGL のライブラリ (libGL / libGLX) を読み込みます。以下のコマンドは OpenGL の実装として Mesa を使用します。すでにプロプライエタリなグラフィックスドライバーが動作している場合は、 Mesa のパッケージをインストールする代わりに、ディストリビューションのドライバー設定を維持してください。
X11 拡張ライブラリ (libXcursor、 libXi、 libXinerama、 libXrandr、 libXrender、 libXext) は省略可能ですが、カーソル、入力、モニター、ウィンドウの機能のために推奨します。以下では別のコマンドに分けています。間接的な依存パッケージはパッケージマネージャーが自動でインストールするため、一部はすでにインストールされている場合があります。
音声については、Oto はまず PulseAudio 互換サーバーに接続します。 PipeWire の PulseAudio サービスも利用できます。 Go のクライアントを使うため、 libpulse は不要です。下記の音声パッケージが提供する libasound.so.2 は、 ALSA へのフォールバック時にのみ必要です。 ALSA ライブラリのインストールだけでは、音声デバイスや権限の設定は行われません。
Debian / Ubuntu
下記の ALSA のコマンドは Debian 13 と Ubuntu 24.04 以降向けです。 Debian 12 と Ubuntu 22.04 では libasound2t64 の代わりに libasound2 を使用してください。
# 描画 (Mesa)
sudo apt install libx11-6 libgl1 libglx-mesa0
# X11 拡張 (省略可能、推奨)
sudo apt install libxcursor1 libxi6 libxinerama1 libxrandr2 libxrender1 libxext6
# ALSA フォールバック (省略可能)
sudo apt install libasound2t64
Fedora
# 描画 (Mesa)
sudo dnf install libX11 libglvnd-glx mesa-libGL mesa-dri-drivers
# X11 拡張 (省略可能、推奨)
sudo dnf install libXcursor libXi libXinerama libXrandr libXrender libXext
# ALSA フォールバック (省略可能)
sudo dnf install alsa-lib
Solus
# 描画 (Mesa)
sudo eopkg install libx11 libglvnd mesalib
# X11 拡張 (省略可能、推奨)
sudo eopkg install libxcursor libxi libxinerama libxrandr libxrender libxext
# ALSA フォールバック (省略可能)
sudo eopkg install alsa-lib
Arch
# 描画 (Mesa)
sudo pacman -S libx11 libglvnd mesa
# X11 拡張 (省略可能、推奨)
sudo pacman -S libxcursor libxi libxinerama libxrandr libxrender libxext
# ALSA フォールバック (省略可能)
sudo pacman -S alsa-lib
Alpine
# 描画 (Mesa)
sudo apk add libx11 mesa-gl mesa-dri-gallium
# X11 拡張 (省略可能、推奨)
sudo apk add libxcursor libxi libxinerama libxrandr libxrender libxext
# ALSA フォールバック (省略可能)
sudo apk add alsa-lib
Void
# 描画 (Mesa)
sudo xbps-install libX11 libglvnd mesa-dri
# X11 拡張 (省略可能、推奨)
sudo xbps-install libXcursor libXi libXinerama libXrandr libXrender libXext
# ALSA フォールバック (省略可能)
sudo xbps-install alsa-lib
FreeBSD
# 描画 (Mesa)
pkg install libX11 libglvnd mesa-libs mesa-dri
# X11 拡張 (省略可能、推奨)
pkg install libXcursor libXi libXinerama libXrandr libXrender libXext
# ALSA フォールバック (省略可能)
pkg install alsa-lib
環境の確認
正しい環境を持っているかどうかは、サンプルを実行して確かめることができます:
go run github.com/hajimehoshi/ebiten/v2/examples/rotate@latest
回転する Gopher の絵がウィンドウ上に表示されたならば、おめでとうございます! Ebitengine を動かすための正しい環境が整いました。

Linux 用 Windows サブシステム (WSL)を使用している場合は、go run コマンド実行時に環境変数 GOOS=windows を設定する必要があります。
GOOS=windows go run github.com/hajimehoshi/ebiten/v2/examples/rotate@latest
Ebitengine を使ったプログラムの実行
Ebitengine は通常の Go ライブラリとして使用できます。プログラムが Ebitengine を使用していれば、 Go コマンドが自動的に Ebitengine をインストールします。
最初に、ローカルモジュールを作ります。
# Create a directory for your game.
mkdir yourgame
cd yourgame
# `go mod init` で go.mod を初期化する.
go mod init github.com/yourname/yourgame
github.com/yourname/yourgame のような URL をモジュール名に使用します。実際のところ、自分のプログラムを公開するつもりがないのであれば、 example.com/m などどんなモジュール名でも問題ありません。モジュール名は後でいつでも変えられます。
次のような内容で main.go ファイルを追加します:
go mod tidy を実行して、依存ライブラリを go.mod に追加します:
go mod tidy
最後に、プログラムを実行するために go run コマンドを実行します:
go run .
メッセージを含んだウィンドウが表示されるはずです:
