-
Notifications
You must be signed in to change notification settings - Fork 379
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
x11docker xpra and android #204
Comments
It seems there is no official xpra client for android. Can you show me what you have done?
I don't entirely understand the problem. However, you can specify the screen size in x11docker with e.g. |
this what I used |
Try to provide the resolution of your android display. |
android res: 1440x2392 here is the entire terminal output:
|
without even using docker - if I try a simple xpra server-client test I get the same result:
BTW this works fine on a second ubuntu box I have here - it just doesn't work on the android device |
ok, it is good to try with a simplified setup first. Maybe it is a firewall issue? Is your android part of the local network, or would it connect over the global internet? Can you show me xpra server and xpra client output of your example?
|
not a firewall issue as I have had a few other VNCs running ok on the android - but we need xpra because of the graphics and openGL etc...
do you mean from another ubuntu terminal? because there is no output that I can show you from the android device |
I mean the android device to check for possible error messages. |
here is the server info: |
Please run with |
nope - not sure what the problem is now I can't seem to connect with my android device... |
What if you try:
|
|
ok, so far the server looks well. Now if you try to connect with the xpra android client, some further output should appear. |
for whatever reason it is not connecting - I could get it to connect using the bash script for the docker version but not this simple version. settings on android device: |
Maybe this is the point: Specify |
ok some success - I have a black screen on my android
|
and here is the log:
|
The log basically looks good.
Did you terminate xpra on android, or did that happen on itself?
This sounds like a problem of the xpra android client. I am not sure how to proceed here if you cannot get a log output from it. |
not sure if the disconnect was unintentional - looks like it might be disconnecting straight after connecting will see if i can disable opengl - that could be a problem too... |
The timestamps in the log between connection and disconnection have a difference of two minutes.
It is just an idea - the black screen on your android could be an xpra client issue with OpenGL. |
I agree - but the problem is twofold:
|
That is not a problem. OpenGL on client side is just an acceleration to show the resulting window on android. That does not affect OpenGL on server side that generates the window content.
I don't know. Aren't there any config options in your android client? You could open a ticket at https://github.com/jksiezni. Maybe you'll get a response. |
doesn't look like jksiezni has responded for 2 years |
I am going to try and plug my android device into android studio to see if it will log the app |
ok - some progress - using openGL trace on my android device I got the following (actually a lot more - but hopefully this is the relevant part):
|
I can't say much to this log. |
i agree - seems to be ok |
I've done about as much as I can to get this thing to work. Can you suggest another android/x11docker compatible vnc viewer that supports gpu acceleration server side? That is why we went down the xpra path - because of the unity3d and gpu need. |
You did not open a ticket at https://github.com/jksiezni/xpra-client. That's the next step to do.
I know close to nothing about android and don't have a smartphone myself. So I cannot suggest android clients. To use hardware acceleration from an x11docker setup you need a VNC server that grabs an already existing display. Compare https://github.com/mviereck/x11docker/wiki/VNC. I don't know if android provides a VNC client. Note that VNC does not encrypt the transmission by default. |
There are plenty of VNC clients for Android - but they chug. |
It might be worth to try the xpra html5 client as suggested in jksiezni/xpra-client#5. x11docker wiki shows a sample setup: https://github.com/mviereck/x11docker/wiki/Container-applications-running-in-Browser-with-HTML5 |
thanks again mviereck - and apols for the slow response - been smokey in Oz Anyway, I have gone back to plain x11vnc. It supports hardware acceleration and openGL so fits our model. And, can connect from nearly any vnc viewer. Just need to work out the best frame rate i can get form which vnc viewer - most of them are too over specced for what we need - that's why the xpra client was so attractive - very thin. |
Thank you for the feedback!
I believe that TurboVNC (Github) might be more effective than x11vnc. I don't know if there is a TurboVNC viewer on android. Though, I don't know how to set up TurboVNC to grab an existing accelerated display. That is why I've chosen x11vnc as example in the x11docker wiki. If you find a satisfying VNC setup, it would be nice if you report it here in a new ticket. Maybe I can give additional hints in x11docker wiki. Overall I did not recommend VNC before because I always found it too slow. |
OK - so I have finally got back onto this and had some success. The iphone device works fine in safari but not so in chrome - can type into the xterm. Not sure whether this is a browser layer or android layer... Any ideas? |
@twyeld it looks like that docker image is based on an xpra version that is years out of date, and full of known bugs and security issues. I'm not saying that newer versions will work better on Android, but there's a chance. |
This is a HTML5 solution as suggested before. The dockerui.base-xpra image provides xpra in a docker image. The html5 way has the advantage to work everywhere where a browser is available. I recommend a html5 setup with recent and regulary updated xpra versions on host instead in image. |
I could not get the example html5 client working - I could connect to the xrpa server through my browser but I always got the server error "this browser does not support http requests". mgtsai's docker version seemed to work - but you are right, it uses an older version of xpra I have updated mgtsai's repo and created my own here: https://github.com/twyeld/dockerui.base-xpra-html I updated the Dockerfile to the latest version of ubuntu, xpra public key, xpra and the libgtk package it now works on my android device - i can type into the xterm i just need to edit the html client app so that the xterm spawns in the top left corner of the browser window thank you mviereck and antoine for your tireless help and patience |
That's because the xpra packages from the Ubuntu repositories are buggy and do not include the html5 client. |
I just checked and found /var/www/public_html/html5-xpra |
So they're modifying the build and doing it wrong. |
haha - well, it would be nice if it was consistent, but understandable when not I am surprised to see the ubuntu packages are the buggy ones - does that mean most of the contributors are working on windows/mac machines? |
No, Linux is the primary development platform. |
that's what I thought actually I manually installed from the official xpra.org site not from an Ubuntu repo - so, the html client app was definitely included The html client works on everything i have tried - but it is seriously slow. I am lucky to get 3fps. Using the standalone xpra client-server combo I can get at least 30-50fps on the client machine. I don't understand why running a program on the host machine can render at 100fps - but, when viewed from a remote machine it drops to 30-50fps. I thought it just forwards the video signal - ie it video streams whatever is rendered on the host machine to the remote machine? Basically, as predicted, running the client from a browser introduces some big/untenable overhead load. |
That's really slow, too slow to work with. Maybe one bottleneck is the internet connection? Both the upload rate of the server as the download rate of the client take effect. |
That's not normal.
No it doesn't, that can't be done. |
Closing due to inactivity. Feel free to comment again, I'll reopen than. |
...actually I got everything working with HTML and android (although only with an external bluetooth keyboard - the '.' and '/' characters are not correct in xterm when using touchpad - so can't launch an executable from touchpad, have to use external keyboard... ) - and the problem with the low framerate was at my end with how I had xorg and nvidia set up - its fixed now - I can see 300+fps on server from HTML (the app has a fps counter embedded) but only runs at about 15-30fps in browser client - but this seems to vary from device to device - faster on a device with better graphics capability... I plan to post a detailed overview soon - I just have a looming deadline to overcome first... thx again for your help and Antoine's |
This will be fixed soon: |
I have successfully installed jksiezni's xpra-client on my android device and I can connect to a x11docker session which launches a xterm on my ubuntu server but i cannot access the xterm from the android device. It looks like the client resolution is too high? I have tried setting resolution using xrandr but it seems to be ignored.
How to get xterm visible on Android device?
I would have posed this question to jksiezni but he/she seems to be offline since 2017.
The text was updated successfully, but these errors were encountered: