You are not logged in.

#1 2013-12-01 12:38:52

ackalker
Member
Registered: 2012-11-27
Posts: 201

Chromium OS UI ('official' prebuilt snapshot), display manager session

I've uploaded chromiumos-ui-bin, chromiumos-ui-tts-git, chromiumos-ui-session and chromiumos-ui-service, packages for installing an 'official' prebuilt snapshot of the UI component of Chromium OS (the open source variant of Chrome OS) to the AUR.

Chromium_OS_UI_thumb.png
Chromium OS UI running in a window, using i3 window manager

What sets these packages apart from other similar packages:

chromiumos-ui-bin

  • Can update to the latest known-to-be-good version, without re-downloading the same zip file if there are no changes

  • Depends on chromium package for the chrome-sandbox SUID helper

  • Minimalist wrapper script, no commandline options hardcoded except to set user data directory to $HOME/.config/chromiumos-ui, to prevent clobbering of Chromium's user data directory

  • Configuration via /etc/chromiumos-ui/default, which can be a symlink to /etc/chromium/default, for sharing of commandline options, Pepper plugins, etc

  • Use without logging into a Google account (appears logged in as "stub-user@example.com"): `chromiumos-ui`, "Chromium OS UI" desktop menu item, useful for Web app development

  • Login to Google account, with sync support: `chromiumos-ui --login`, "Chromium OS UI (Login manager)" desktop menu item, first-time login supports the "out-of-box-experience"

  • Resume last login session (no password required, convenient for use with display manager sessions): `chromiumos-ui --login --lastuser`, "Chromium OS UI (Last logged-in user)" desktop menu item

chromiumos-ui-session

  • Display manager sessions for use with LightDM, GDM etc., using Matchbox window manager to make Chromium OS UI display fullscreen

chromiumos-ui-service

  • Systemd service support, for running Chromium OS UI as standalone display manager, running as user 'chronos'

chromiumos-ui-tts-git

  • Support for ChromeVox text-to-speech, with accessibility support

What works for me:

chromiumos-ui-bin:

  • Syncing (note: may break with specific builds, currently broken after build 237973, remember: this is development stuff). Check your current sync status by browsing to chrome://sync

  • Graphics: Aura, compositing, hardware acceleration, WebGL, when available. Check supported features by browsing to chrome://gpu

  • Sound: tested with Pulseaudio, with pulseaudio-alsa package installed

  • Touch operation: tested with touchscreen on a Dell XT2 convertible tablet/notebook. List input devices with `xinput --list`, then add touch-capable device IDs to commandline option `--touch-devices=<id1>,<id2>,...`

  • Flash support: tested using chromium-pepper-flash-stable package from the AUR

  • Native Client support: tested using "Bullet Native Client Acceleration Module" from the App Store.

  • Accessibility: tested the built-in screen magnifier (turn it on using Settings/Show Advanced Settings/Accessibility/Enable screen magnifier) and screen reader (using chromiumos-ui-tts-git package, use Ctrl-Alt-Z to toggle it on/off), but I don't know what some of the keyboard mappings are (notably Ctrl-BrightnessUp/-Down to zoom in/out). Braille support is also installed by chromiumos-ui-tts, but I haven't tested it

chromiumos-ui-session:

  • Login session: tested using LightDM

chromiumos-ui-service:

  • Run as systemd service: replacing the primary display manager, run as independent display manager on any VT

chromiumos-ui-tts:

  • Speech output during login and normal use. (Tip: Install "US English Female Text-to-speech (by Google)" from the App Store for much better audio quality than the built-in voice)

What doesn't work (yet):

  • Signing out: the application exits, but user stays logged in

  • Volume control, display settings, Bluetooth, network management: missing (D-Bus and other) services

Known problems:

  • Dependency on chromium for the chrome-sandbox SUID helper: required until I figure out either where to find a corresponding version of this helper for Chromium OS prebuilt binaries, or how to build it from source without the need to "rebuild the world"

  • The infamous `NVIDIA: could not open the device file /dev/nvidia0 (Operation not permitted).` error is back, probably affecting VDPAU support. This can be worked around by adding `--no-sandbox` commandline option, with obvious security implications. Help with this is very welcome

  • For some reason, only touch drag (for moving/resizing/scrolling windows) currently works, tapping flashes the tapped item, but doesn't actually perform any action

  • Touch drag reverts to mouse pointer movement after unblanking the screen after it blanks from inactivity

  • On exit, the application may leave behind stray processes which may interfere with subsequent runs (the application appears to 'hang'), and which can be hard to kill. This is a long-standing, well-known problem with all things Chrome/Chromium. A remedy is to run `$ pkill -9 -f chromiumos-ui/chrome` or use a 'reaper' wrapper script. Mainly upstream problem I think (leaving processes running after exit for the benefit of some "background apps" or extensions only makes sense if it is possible to reliably 'reconnect' with them on subsequent runs), but help with this is also very welcome. (EDIT: Simple reaper loop added to chromiumos-ui-session script)

  • Speech output may stop working after the session has been idle for a while, earcons continue working

Questions, comments and suggestions are very welcome.

Last edited by ackalker (2013-12-06 07:30:27)

Offline

#2 2013-12-01 20:13:46

blackout23
Member
Registered: 2011-11-16
Posts: 781

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

This is probably better suited for the "Community Contributions" Forum: https://bbs.archlinux.org/viewforum.php?id=27

Really cool project. I'll be following it!

Offline

#3 2013-12-01 20:25:29

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,797

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

.... And, I am moving it to Community Contributions smile


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#4 2013-12-01 21:41:38

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Thanks smile I will keep you updated.

Offline

#5 2013-12-02 13:10:40

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Updated first post: added chromiumos-ui-tts (ChromeVox text-to-speech, with accessibility support) optional dependency package, added tests for Native Client and accessibility support, all working smile

Offline

#6 2013-12-02 13:28:34

blackout23
Member
Registered: 2011-11-16
Posts: 781

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

I tested it yesterday. It works surprisingly well! What kind of login manager does ChromeOS use? I had the problem, that I signed in with email address A into the Chrome desktop and signed into Chromium with email address B which is asscoiated to the same Google account, which resulted in not being able to install any offline chrome apps from the Chrome Store. It wanted me to switch the accounts but signing out of Chromium means I get back to GDM, which is used as login manager.

Offline

#7 2013-12-02 13:52:05

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

@blackout23
Yup, signing out is a known problem. It is also not possible to add or switch to another user or Google account yet, neither using the login manager nor from the Settings menu, probably because a lot of the infrastructure of Chromium OS isn't actually there.

Currently, I've wired things up to use the login manager only the first time you log in (it gives you the "out-of-box-experience" and asks for your Google account info), also because using it for all logins would cause it to ask for a password, which is inconvenient if you start the UI from a display manager (in which case you would have been asked for a password already).

To fix your problem, I think the best thing to try is to delete $HOME/.config/chromiumos-ui/user directory and try to login again (my script will then try and use the login manager once more). Since everything on a Chromebook is supposed to be synced to the cloud, you should not lose any data, but make a backup of $HOME/.config/chromiumos-ui if you want to be really sure.

Hope this helps, if not, don't hesitate to ask wink

Last edited by ackalker (2013-12-02 13:53:58)

Offline

#8 2013-12-02 14:01:56

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Thinking of it, it may be wise to use the login manager also when you run the Chromium OS UI from a desktop environment and not a login session, because that way it will ask for your password and not log you into Google automatically.
I just have to figure out a way to detect whether chromiumos-ui-login is started as a session or as a regular application. Preferably something that isn't too easy to 'fake', as otherwise your smart 9-year-old nephew could log into your Google account without you knowing wink

Offline

#9 2013-12-02 17:24:20

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Updated chromiumos-ui-bin, chromiumos-ui-session:

chromiumos-ui-bin:

  • Reworked login manager logic: starting Chromium OS UI as regular application now always uses the login manager, starting it as a session from a display manager only uses it when the user has never logged into a Google account before. This avoids the need for a user to type in two passwords in succession. It also means that new users can only be added when the UI is started as regular application

  • Added proper license file

chromiumos-ui-session:

  • Forcibly kill off all stray processes at the end of the session

Last edited by ackalker (2013-12-02 18:25:03)

Offline

#10 2013-12-03 02:16:11

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Updated chromiumos-ui-bin:

  • chromiumos-ui-login and "Chromium OS UI (Login manager)" will now always use the login manager

  • chromiumos-ui-login --session and "Chromium OS UI (Last logged-in user)" will attempt to login as the last non-stub user, or fall back to using the login manager

Offline

#11 2013-12-03 06:29:09

orschiro
Member
Registered: 2009-06-04
Posts: 2,136
Website

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

@ackalker

Very interesting! Can you post a screenshot of your Chromium OS UI?

Offline

#12 2013-12-03 16:22:50

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Sure, I'm adding one to the first post.

Last edited by ackalker (2013-12-03 18:15:33)

Offline

#13 2013-12-04 22:02:38

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Added test: Touch operation kinda works: touch dragging to move/resize/scroll windows works great, but tapping only flashes the tapped item, doesn't actually perform any action. Also, touch drag stopped working (reverting to mouse pointer movement) after unblanking the screen when it had blanked after a period of inactivity. Still a great start wink , but need to investigate further.

Last edited by ackalker (2013-12-04 22:23:11)

Offline

#14 2013-12-05 19:17:38

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Updated chromiumos-ui-bin and chromiumos-ui-session (cleanup), added chromiumos-ui-service: run Chromium OS UI as either primary display manager or alongside your existing DM, on any VT.
This runs as user 'chronos', like on a 'real' Chromebook.

To enable as primary display manager (you may wish to install xterm package to enable the use of an emergency shell with Ctrl-Alt-X, a Matchbox keyboard shortcut):

# systemctl enable chromiumos-ui.service

To start as independent display manager on any VT, say vt2 (which maps to tty2):

# systemctl start chromiumos-ui@tty2.service

Last edited by ackalker (2013-12-05 20:13:54)

Offline

#15 2013-12-05 20:06:47

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Tip: If Alt-Tab and possibly other keyboard shortcuts aren't working in a Chromium OS UI session started from your display manager, this is because the Matchbox window manager has grabbed them. To fix this, create $HOME/.matchbox/kbdconfig with the following contents:

# Start emergency shell
<ctrl><alt>x=!xterm

(You can add keyboard shortcuts for other tools, e.g. network setup, volume control, etc. as well, as long as they don't clash with Chromium OS keyboard shortcuts that you plan on using.)

This has been fixed also in chromiumos-ui-service.

Last edited by ackalker (2013-12-05 20:12:49)

Offline

#16 2013-12-05 21:59:00

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Quickfix: adding xorg-xinit as dependency to chromiumos-ui-service. Oops, sorry wink

Last edited by ackalker (2013-12-05 22:01:59)

Offline

#17 2013-12-06 00:27:32

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Yay, sync working well again with latest build. Setting chromiumos-ui-bin version to fetch latest known good revision (LKGR). Have fun wink

Last edited by ackalker (2013-12-06 06:34:04)

Offline

#18 2014-03-25 16:49:58

ch3l0_1M
Member
Registered: 2014-03-25
Posts: 1

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Aclaker i'm getting this error while i try to install chromiumos-ui-bin

==> Validando el archivo fuente con md5sums...
    chrome-linux-252451.zip ... Saltando
    LICENSE.chromium_os ... FALLÓ
    chromiumos-ui.default ... Aprobado
    chromiumos-ui.desktop ... Aprobado
    chromiumos-ui.sh ... Aprobado
    chromiumos-ui-lastuser.desktop ... Aprobado
    chromiumos-ui-login.desktop ... Aprobado
==> ERROR: ¡Uno o más archivos no pasaron la verificación de integridad!
==> ERROR: Makepkg no ha podido compilar chromiumos-ui-bin.
==> Reiniciar la compilación de chromiumos-ui-bin? [s/N]

Offline

#19 2014-03-25 23:15:16

root
Member
From: 127.0.0.1
Registered: 2012-04-13
Posts: 297

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

@ch3l0_1M

Please respect the Forum Etiquette when posting output,

Please prepend LC_ALL=C to posted commands so that the output will be in English.


\(o_X)/
                        'Cause I wanna be an Archy - An Archy in the UK // Sex Pistols

Offline

#20 2014-03-25 23:16:48

HalosGhost
Forum Moderator
From: Twin Cities, MN
Registered: 2012-06-22
Posts: 2,093
Website

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

root wrote:

Please respect the Forum Etiquette when posting output,

And, for the love of all that is sacred,

Use code tags. Else, you defile all that you know and love.

All the best,

-HG

Offline

#21 2014-04-23 08:58:43

ackalker
Member
Registered: 2012-11-27
Posts: 201

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Sorry for the very late reply :-(
The LICENSE file must have changed, I will check it and update the PKGBUILD.

Offline

#22 2014-05-16 01:07:33

c_smith
Member
Registered: 2014-05-16
Posts: 1

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Hey, I think I may have found an issue that might need to be looked into, or at least the LKGR needs to be changed to something that doesn't contain ICU issues, anyway, when I try to run this on my hardware (can't test it on other people's hardware, just my laptop and desktop) I get this:

0513/003837:FATAL:content_main_runner.cc(735)] Check failed: base::i18n::InitializeICU().
Aborted (core dumped)

when initializing it from a tty AND from i3 with urxvt, and I'm assuming it's running into that when run as a service, as well.

Now, I've done some googling at this issue, and found nothing but a bug report on dz0ny's Ubuntu package for the UI, which is no longer maintained. so I'm wondering if this might be something more widespread and needs looking into?

Offline

#23 2014-05-16 10:31:00

linktohack
Member
From: Vietnam
Registered: 2011-02-22
Posts: 6
Website

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

@c_smith, try symlink `icudctl.dat` from `chromium` to `chromiumos-ui`

ln -sf /usr/lib/chromium/icudctl.dat /usr/lib/chromiumos-ui

You cand modify `.install` file, too.

Offline

#24 2014-05-20 09:07:31

aditya3098
Member
From: In front of the computer
Registered: 2014-05-01
Posts: 53
Website

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

aditya@aditya-desktop ~                                              [14:36:08]
> $ chromiumos-ui                                                             
[0520/143610:FATAL:content_main_runner.cc(735)] Check failed: base::i18n::InitializeICU().
[1]    8392 abort (core dumped)  chromiumos-ui
                                                                               
aditya@aditya-desktop ~                                              [14:36:10]
> $

Offline

#25 2014-05-20 09:08:27

aditya3098
Member
From: In front of the computer
Registered: 2014-05-01
Posts: 53
Website

Re: Chromium OS UI ('official' prebuilt snapshot), display manager session

Also, arch 64bit. I have the google-chrome-dev from aur installed, could that be the cause?

Offline

Board footer

Powered by FluxBB