termux / termux-x11

Termux X11 add-on application.
https://termux.dev
GNU General Public License v3.0
1.94k stars 301 forks source link

Issues when using on chromebook #514

Closed rudolphpienaar closed 5 months ago

rudolphpienaar commented 9 months ago

Summary

Latest version of packages install and seem to execute/startup fine on an x84_64 chromebook. However, running an xfce4-session never seems to draw on the display.

Background

On an ASUS Chromebook Vibe CX55 (with Android and Linux containers setup/working fine):

Run 1 -- xfce4 within termux

export XDG_RUNTIME_DIR=$TMPDIR
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=1
cd $TMPDIR
TERMUX_X11_DEBUG=1 termux-x11 :0 > x11.log 2>&1

At this stage, x11.log seems fine with standard noise.

App starts up and seems fine. Single blank/black window (I had previously configure settings to be fullscreen). Now, try xfce4:

env DISPLAY=:0 dbus-launch --exit-with-session xfce4-session

Nothing appears on the termux-x11 app, and termux console has seemingly standard messages:

(xfdesktop:23020): WARNING **: 09:26:05.116: Failed to get system bus: Could not connect: No such file or directory

(xfce4-session:22964): xfce4-session-WARNING **: 09:26:05.557: failed to run script: Failed to execute child process “/usr/bin/pm-is-supported” (No such file or directory)

(xfce4-session:22964): xfce4-session-WARNING **: 09:26:05.559: failed to run script: Failed to execute child process “/usr/bin/pm-is-supported” (No such file or directory)                                                                                                                  (xfce4-session:22964): xfce4-session-WARNING **: 09:26:05.561: failed to run script: Failed to execute child process “/usr/bin/pm-is-supported” (No such file or directory) 
Xlib:  extension "DPMS" missing on display ":0.0".
env DISPLAY=:0 xfce4-session
(xfwm4:23265): xfwm4-WARNING **: 09:28:15.891: Unsupported GL renderer (llvmpipe (LLVM 17.0.3, 256 bits)).

** (xfdesktop:23297): WARNING **: 09:28:16.364: Failed to get system bus: Could not connect: No such file or directory                                                                                                                                                                       (xfce4-panel:23286): libclock-WARNING **: 09:28:16.365: could not get proxy for org.freedesktop.ConsoleKit

(xfce4-session:23241): xfce4-session-WARNING **: 09:28:16.857: failed to run script: Failed to execute child process “/usr/bin/pm-is-supported” (No such file or directory)

(xfce4-session:23241): xfce4-session-WARNING **: 09:28:16.860: failed to run script: Failed to execute child process “/usr/bin/pm-is-supported” (No such file or directory)

(xfce4-session:23241): xfce4-session-WARNING **: 09:28:16.862: failed to run script: Failed to execute child process “/usr/bin/pm-is-supported” (No such file or directory)
Xlib:  extension "DPMS" missing on display ":0.0".                                             Xlib:  extension "DPMS" missing on display ":0.0".                                             Xlib:  extension "DPMS" missing on display ":0.0".

(note still complains about trying to get system bus)

Run 2 -- within proot

TL;DR results (unsurprisingly) are the same when running from within a proot:

proot-distro login ubuntu --shared-tmp --bind /dev/null:/proc/sys/kernel/cap_last_cap  -- /bin/bash -c 'export PULSE_SERVER=127.0.0.1 && export XDG_RUNTIME_DIR=$TMPDIR && su - rudolphpienaar -c "env DISPLAY=:0 xfce4-session"'

Thinking to try a different DE, I also installed gnome-desktop into the proot and tried with gnome-session.

Other notes:

The x11.log is rather verbose. I checked for anything with "error":

grep -i error x11.log                                                                        
12-11 09:21:31.074 22559 22574 D gles-renderer: Xlorie: egl error on line 189: EGL not initialized or failed to initialize                                                                    12-11 09:21:31.074 22559 22574 D gles-renderer: Xlorie: egl error on line 199: EGL not initialized or failed to initialize                                                                    12-11 09:21:31.074 22559 22574 D gles-renderer: Xlorie: egl error on line 202: EGL not initialized or failed to initialize                                                                    12-11 09:21:31.074 22559 22574 D gles-renderer: Xlorie: egl error on line 214: EGL not initialized or failed to initialize                                                                    "Errors from xkbcomp are not fatal to the X server"
12-11 09:22:36.146 22559 22574 D gles-renderer: Xlorie: egl error on line 368: Invalid native window
12-11 09:22:36.147 22559 22574 D gles-renderer: Xlorie: egl error on line 368: Invalid native window
12-11 09:22:36.166 22559 22574 D gles-renderer: Xlorie: egl error on line 315: Invalid argument12-11 09:22:36.177 22559 22574 D gles-renderer: Xlorie: egl error on line 315: Invalid argument
12-11 09:26:34.417 22559 22574 D gles-renderer: Xlorie: egl error on line 315: Invalid argument"Errors from xkbcomp are not fatal to the X server"
twaik commented 8 months ago

Unfortunately I do not have chromebook to test it.

IntinteDAO commented 8 months ago

Unfortunately I do not have chromebook to test it.

Well, if you have a lots of time, you can try to install FydeOS in VM. It has Android support, but not sure it's the same implementation as on ChromeOS.

twaik commented 8 months ago

It will not be same.

twaik commented 6 months ago

It runs fine on FydeOS with -legacy-drawing flag. @rudolphpienaar can you reproduce this with -legacy-drawing?

twaik commented 6 months ago

Also I can say that it does not report any errors during normal execution (without -legacy-drawing). But still does not draw image. I am not sure what exactly is causing this behaviour, how to detect it and how to fix it because according to logs everything is fine, nothing suspicious.

twaik commented 5 months ago

@rudolphpienaar ?

twaik commented 5 months ago

I succeed to use termux-x11 without -legacy-drawing on FydeOS and S24+ (via Samsung Remote Test Lab) after https://github.com/termux/termux-x11/commit/9e61493a1ffdd6a3caab8f6a9416c4b0311cb1cc. Probably that is fixed too. Issue will be closed in a week if no response or activity.

twaik commented 5 months ago

The issue is being closed due to the lack of activity. Also considering this to be fixed since it works fine on FydeOS and S24+ (which had the same issue according to the available description).