-
Notifications
You must be signed in to change notification settings - Fork 353
Description
Problem description
Arch Linux aarch64 works perfectly on my device. I'm able to run Termux-X11 and run xfce4 with no issues. Arch Linux x86 however, I cannot for the life of me get to work. The same commands that work perfectly on Arch Linux aarch64, fail for x86. All I see in Termux-X11 is a black screen with the default X cursor. No clear errors in the logs from my untrained eye.
Device: Pixel 9
OS: Android 15 (GrapheneOS)
Version: proot-distro latest (v4.21.0)
Arch Linux aarch64 working startxfce4 log
Arch Linux aarch64 working Termux-X11 debug log
Arch Linux x86 not working startxfce4 log
Arch Linux x86 not working Termux-X11 log
What steps will reproduce the bug?
Arch Linux aarch64
Termux
pd install archlinux
pd login archlinux
[root@localhost ~]# nano /etc/pacman.conf # uncomment DisableSandbox
[root@localhost ~]# pacman -Sy
[root@localhost ~]# pacman -Syu
[root@localhost ~]# pacman -S sudo
[root@localhost ~]# pacman -S xfce4
[root@localhost ~]# exit
./startxfce4_arch.sh
startxfce4_arch.sh
#!/data/data/com.termux/files/usr/bin/bash
# Kill open X11 processes
kill -9 $(pgrep -f "termux.x11") 2>/dev/null
# Enable PulseAudio over Network
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
# Prepare termux-x11 session
export XDG_RUNTIME_DIR=${TMPDIR}
TERMUX_X11_DEBUG=1 termux-x11 -ac -once -disable-dri3 :0 &> termux_x11.log &
# Wait a bit until termux-x11 gets started.
sleep 3
# Launch Termux X11 main activity
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity > /dev/null 2>&1
sleep 1
# Login in PRoot Environment. Do some initialization for PulseAudio, /tmp directory, vIPC
# and run XFCE4 as user root.
# See also: https://github.com/termux/proot-distro
# Argument -- acts as terminator of proot-distro login options processing.
# All arguments behind it would not be treated as options of PRoot Distro.
proot-distro login archlinux --no-sysvipc --shared-tmp -- /bin/bash -c 'export PULSE_SERVER=127.0.0.1 && export XDG_RUNTIME_DIR=${TMPDIR} && su - root -c "env DISPLAY=:0 LIBGL_ALWAYS_SOFTWARE=1 XDG_RUNTIME_DIR=${TMPDIR} startxfce4"' &> startxfce4.log
exit 0Arch Linux x86
Termux
DISTRO_ARCH=x86_64 pd install --override-alias archlinuxx86 archlinux
pd login archlinuxx86
[root@localhost ~]# nano /etc/pacman.conf # uncomment DisableSandbox
[root@localhost ~]# pacman -Sy
[root@localhost ~]# pacman -Syu
[root@localhost ~]# pacman -S dhcpcd dnssec-anchors ldns less libedit nano net-tools netctl openresolv openssh vi which # for package-parity with aarch64. Termux-x11 still does not work, but it makes the logs easier to compare
[root@localhost ~]# pacman -S sudo
[root@localhost ~]# pacman -S xfce4
[root@localhost ~]# exit
./startxfce4_archx86.sh
startxfce4_archx86.sh
#!/data/data/com.termux/files/usr/bin/bash
# Kill open X11 processes
kill -9 $(pgrep -f "termux.x11") 2>/dev/null
# Enable PulseAudio over Network
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
# Prepare termux-x11 session
export XDG_RUNTIME_DIR=${TMPDIR}
TERMUX_X11_DEBUG=1 termux-x11 -ac -once -disable-dri3 :0 &> termux_x11x86.log &
# Wait a bit until termux-x11 gets started.
sleep 3
# Launch Termux X11 main activity
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity > /dev/null 2>&1
sleep 1
# Login in PRoot Environment. Do some initialization for PulseAudio, /tmp directory, vIPC
# and run XFCE4 as user root.
# See also: https://github.com/termux/proot-distro
# Argument -- acts as terminator of proot-distro login options processing.
# All arguments behind it would not be treated as options of PRoot Distro.
proot-distro login archlinuxx86 --no-sysvipc --shared-tmp -- /bin/bash -c 'export PULSE_SERVER=127.0.0.1 && export XDG_RUNTIME_DIR=${TMPDIR} && su - root -c "env DISPLAY=:0 LIBGL_ALWAYS_SOFTWARE=1 XDG_RUNTIME_DIR=${TMPDIR} startxfce4"' &> startxfce4x86.log
exit 0What is the expected behavior?
Able to see and use the xfce4 desktop environment in Termux-X11 on Arch Linux x86.