← Back to team overview

ubuntu-phone team mailing list archive

Convergence, Browser and WebRTC

 

Dear all, 

since now Vivid is the new stable version I tried out starting of native
X11 applications on my phone as described in the German Ubuntuusers
Wiki, have a look here:
https://wiki.ubuntuusers.de/Baustelle/Ubuntu_Touch_Erweiterte_Konfiguration#Grafische-Programme-vom-Ubuntu-PC

Starting graphical X11 programs on my Ubuntu Phone is working quite
well, especially if you consider that it is still unsupported. My aim in
testing was to get a Web browser like Firefox or Chromium working, so
that I can you use it for my desktop bookmarks and WebRTC VOIP
telephony.

I will describe here shortly, what you have to do to start graphical
programs. Note: I have adopted the work from the above-mentioned Wiki
page. So many thanks goes to the authors!

* Make your system partition writable

sudo mount -o remount,rw /

* Install a PPA with an updated XMir server

sudo add-apt-repository ppa:mlankhorst/ppa
sudo apt-get update
sudo apt-get install xserver-xorg-xmir 

* Install Fluxbox as window manager
sudo apt-get install fluxbox

* Install xvkbd as a virtual keyboard
sudo apt-get install xvkbd

* Install some Web Browser like Dillo, Firefox and Chromium
sudo apt-get install dillo
sudo apt-get install firefox
sudo apt-get install chromium-browser

Note: If you have not enough space left on your system partition /
(check with df -h) and getting error messages during install, I propose
a solution later.

* Create a programmstarter script, which allows to start graphical
programs by just giving their console command
~/.local/share/applications/programstarter.sh

############
#!/bin/bash
export DISPLAY=:1
Xmir $DISPLAY
--desktop_file_hint=/home/phablet/.local/share/applications/$1.desktop &
sleep 0.5
fluxbox &
$1 $2 &
xvkbd -geometry 540x320+0+550 -compact 
###########

Note: xvkbd without & is intended. In this way you can close / kill the
session by closing xvkbd. Furthermore, up to now xvkbd is only show in
portrait mode correctly.

* Make the programstarter.sh script executable
sudo chmod +x ~/.local/share/applications/programstarter.sh

* Create a desktop file, so that you can start your favorite
application.

~/.local/share/application/dillo.desktop

##################################
[Desktop Entry]
GenericName=Web Browser
Name=Dillo
Comment=Lightweight browser
MimeType=text/html;text/xml;application/xhtml+xml;
Exec=/home/phablet/.local/share/applications/programstarter.sh dillo
Terminal=false
Type=Application
Categories=Network;WebBrowser;
Icon=/usr/share/pixmaps/dillo.png
X-Ubuntu-Touch=true
####################################

~/.local/share/application/firefox.desktop

##################################
[Desktop Entry]
Version=1.0
Name=Firefox Web Browser
Comment=Browse the World Wide Web
GenericName=Web Browser
Keywords=Internet;WWW;Browser;Web;Explorer
Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
Exec=/home/phablet/.local/share/applications/programstarter.sh firefox
Terminal=false
Type=Application
Icon=/usr/share/pixmaps/firefox.png
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml
+xml;application/xml;application/rss+xml;application/rdf
+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http
StartupNotify=true
X-Ubuntu-Touch=true
#################################### 

~/.local/share/application/chromium.desktop

##################################
[Desktop Entry]
GenericName=Web Browser
Name=Chromium
Comment=Heavyweight browser
MimeType=text/html;text/xml;application/xhtml+xml;
Exec=/home/phablet/.local/share/applications/programstarter.sh
chromium-browser
Terminal=false
Type=Application
Categories=Network;WebBrowser;
Icon=/usr/share/pixmaps/chromium-browser.png
X-Ubuntu-Touch=true
####################################

* Reload your apps in the scope by choosing a sub category like
communication and then select all apps in your app scope again.
You can now try out your favorite graphical apps.

############
Conclusion:
############

 Dillo and Firefox are working fine and look nice. However, touch
support for scrolling is missing. So they show some ugly scroll bars.
Moreover, watching a Youtube video with Firefox results in a black
screen and I hear only the audio. Either some codecs are missing or the
CPU load is too heavy and the GPU is not used. 
Furthermore, the WebRTC functionality in Firefox is not working. I can
choose Firefox Hello, nonetheless, neither my video nor my audio is
transmitted.
Does anybody know which codecs are missing?

Since everything besides of that seems to work in Firefox, I honestly do
not understand, why Canonical is not trying to adopt the Firefox browser
instead of developing its own. From my experience one only needs an
addon which hides some ui parts like the additional settings, changes
the zoom and so on while using a small screen and which unhides this
parts and changes the page zoom if one switches to a larger screen. Or
at least it seems to me that convergence is not far away by such an
approach.
Maybe someone has an idea how to write such an addon? 

In Chromium the WebRTC functionality seems to work, so one could use
this for a VOIP. However, the UI font size is so big that Chromium is
not useable in the moment. 
Does anybody has an idea, how one could change the UI font size?

Exists another WebRTC client which is available as an armhf package and
which I could try out? Having WebRTC working on my Ubuntu Phone is a big
point on my priority list.

In the future it would be awesome, if one could use the native Ubuntu
Touch virtual keyboard and does not have to rely on xvkbd.
I also get the following error message in the terminal if I invoke
Firefox directly by typing ./programstarter.sh firefox :

Need more recent mir for cursor support!

So it seems a newer XMir version is needed to get the Multitouch and the
Ubuntu Touch virtual keyboard and some other stuff working.
Does anybody know if there is an updated package?


##############
Further Tweaks
##############

* If you need more space on your system partition and only need english
and german language support, you can try to remove the following
packages to get roughly 100 MB freed (Note: This is without warranty):

 hunspell-fr hunspell-fr-classical hunspell-hu hunspell-ru hunspell-sr
hunspell-sv-se language-pack-touch-ast language-pack-touch-bg
language-pack-touch-bs language-pack-touch-ca language-pack-touch-cs
language-pack-touch-da language-pack-touch-el language-pack-touch-es
language-pack-touch-eu language-pack-touch-fi language-pack-touch-fr
language-pack-touch-gd language-pack-touch-gl language-pack-touch-he
language-pack-touch-hu language-pack-touch-id language-pack-touch-it
language-pack-touch-ja language-pack-touch-ko language-pack-touch-lt
language-pack-touch-lv language-pack-touch-ms language-pack-touch-nb
language-pack-touch-nl language-pack-touch-oc language-pack-touch-pl
language-pack-touch-pt language-pack-touch-ro language-pack-touch-ru
language-pack-touch-sk language-pack-touch-sl language-pack-touch-sr
language-pack-touch-sv language-pack-touch-tr language-pack-touch-ug
language-pack-touch-uk language-pack-touch-zh-hans
language-pack-touch-zh-hant  myspell-ca myspell-cs myspell-es myspell-he
myspell-hr myspell-it myspell-nl myspell-pl myspell-pt myspell-pt-br
myspell-pt-pt ubuntu-keyboard-arabic ubuntu-keyboard-azerbaijani
ubuntu-keyboard-bosnian ubuntu-keyboard-catalan
ubuntu-keyboard-chinese-pinyin ubuntu-keyboard-croatian
ubuntu-keyboard-czech ubuntu-keyboard-danish ubuntu-keyboard-dutch
ubuntu-keyboard-finnish ubuntu-keyboard-french ubuntu-keyboard-hebrew
ubuntu-keyboard-hungarian ubuntu-keyboard-italian ubuntu-keyboard-polish
ubuntu-keyboard-portuguese ubuntu-keyboard-russian
ubuntu-keyboard-serbian ubuntu-keyboard-spanish ubuntu-keyboard-swedish

* The fluxbox UI shows the number of workspaces and the date, so that
the program icons are quite small. I changed this by adjusting the
following toolbar settings in ~/.fluxbox/init

session.screen0.toolbar.tools:   prevwindow, nextwindow, iconbar,
systemtray
session.screen0.workspaces:     1

* Change xkvbd to german or other keyboard layout
Change the following line in /etc/X11/app-default/XVkbd

#include "XVkbd-german"



Thanks to all developers for the fantastic work and keep going!!!

Best regards,

Marco

Attachment: signature.asc
Description: This is a digitally signed message part


Follow ups