Installing GNOME 46 (Rawhide) on Fedora with Termux
This guide walks through setting up and installing GNOME 46 (available in Fedora Rawhide, Manjaro unstable, and Debian Experimental for arm64) on Termux. It assumes Termux is already installed on your Android device. If not, install it from F-Droid or the Google Play Store.
Before starting, ensure Termux has external storage permissions. Update and prepare Termux using:
pkg update && pkg upgrade -y
pkg install termux-x11-nightly pulseaudio proot-distro -y
termux-setup-storage
Step 1: Install Termux-X11
For universal APK support, download Termux-X11 from the releases page. Then enable external app access in Termux.
nano $HOME/.termux/termux.properties
Uncomment the following line, then save and exit:
allow-external-apps = true
Step 2: Configure PulseAudio
Edit the PulseAudio configuration for better sound support.
nano $PREFIX/etc/pulse/default.pa
Add the following under the [General] section:
load-module module-sles-sink
Next, disable the idle timeout:
nano $PREFIX/etc/pulse/daemon.conf
exit-idle-time = -1
Step 3: Install Fedora with proot-distro
Fedora is recommended for access to newer GNOME versions.
pd list
pd install fedora
Step 4: Log in to Fedora
pd login fedora
Step 5: Update Fedora and Install GNOME
sudo dnf update -y
sudo dnf groupinstall -y "GNOME" --skip-broken
sudo dnf install -y dbus-x11
Step 6: Fix systemd and D-Bus Issues
find /usr -type f -iname "*login1*" -exec rm -f {} \;
sudo mkdir /run/dbus
Step 7: Create a GNOME Startup Script
nano ~/gnome.sh
#!/data/data/com.termux/files/home/gnome.sh
kill -9 $(pgrep -f "termux.x11") 2>/dev/null
pulseaudio --start
export XDG_RUNTIME_DIR=$TMPDIR
termux-x11 :0 >/dev/null &
sleep 3
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity
sleep 1
proot-distro login fedora --shared-tmp -- \
/bin/bash -c '
export DISPLAY=:0 PULSE_SERVER=127.0.0.1 XDG_CURRENT_DESKTOP="GNOME";
rm -rf /run/dbus/pid;
dbus-daemon --system;
dbus-launch gnome-shell --x11'
Make the script executable:
chmod +x ~/gnome.sh
Step 8: Start GNOME 46
./gnome.sh
To end the GNOME session, force-close the Termux app or press Ctrl + C.