Chromebook support for Ubuntu

Today I added some Chromebook related packages into my PPA. What is there?

  • xserver-xorg-video-armsoc == accelerated Xorg video driver.
  • chromium-mali-opengles == OpenGL ES support — works as long as you have ROOT-A partition with Chromium OS cause I mount it to get Mali library.
  • libasound2 == ALSA packages with UCM profiles for Chromebook. Say “no more” to fried speakers.

No support from me as usual. I provide packages for just released Ubuntu “quantal” and for development version (“raring”).

Kernel will probably be next. There are instructions from Olof Johansson for it. Not hard task but requires some time. Also requires packaging of vboot tools (for signing kernels) and cgpt (for manipulating GPT).

Another part is touchpad snippet for X11:

Section "InputClass"
        Identifier "touchpad"
        MatchIsTouchpad "on"

Any idea how to package it in friendly way? I thought about “meta-chromebook” package for such tweaks but it does not sound nice to me.

Video acceleration would be great. But this part is beyond me so far.

So, if you have Ubuntu running on your Chromebook (nevermind is it on internal storage or side SD or USB stick) as long as it is at least “quantal” go and grab my packages. They will make use of device much more pleasant. Share any tweaks and tips in comments.

UPDATE: There is a new project related to Chromebook support in distributions. More about it in my blog post about it.

19 thoughts on “Chromebook support for Ubuntu”

  1. Thank you ! for all the work you have done – really imporved my experince. I think I’ll leave it in ChrUbuntu now.. -D

  2. Hey thanks for your works.

    I would like to use your PPA but unfortunately, I can’t upgrade to quantal or raring because everytime, I got a plymouth error:

    “plymouthd: ply-terminal.c:611: ply_terminal_open: Assertion terminal != ((void *)0) failed”

    Do you have any fix for this issue ?

    I have been trying to add something like echo “console=tty1 debug nosplash noplymouth verbose root=/dev/mmcblk1p3 rootwait rw” > /tmp/config when I generate the kernel. But it doesn’t seems to change anything.

    Thank you very much.

  3. Ok so I have now updated to 12.10 quantal and got rid of the plymouth bug by:

    1. copying the xorg.conf.d/exynos.conf from the ChromeOS partition into the xorg.conf.d/ folder in the ubuntu system.

    2. update from 12.04 to 12.10 but DONT reboot

    3. Add Marcin’s ppa to your software sources: add-apt-repository ppa:hrw/my-own-packages

    4. apt-get install xserver-xorg-video-armsoc

    5. apt-get install chromium-mali-opengles

    6. reboot

    Thanks to Loïc Nogues for your help today.

    Only problem is X is running slowly and it is using software rasterizing mode. the following shows up in /var/log/xorg.o.log

    [ 5.078] (EE) AIGLX error: dlopen of /usr/lib/arm-linux-gnueabihf/dri/ failed (/usr/lib/arm-linux-gnueabihf/dri/ cannot open shared object file: No such file or directory) [ 5.078] (EE) AIGLX: reverting to software rendering [ 5.078] (II) AIGLX: Screen 0 is not DRI capable

    Any ideas guys?

    1. Ach, right — I have to add that exynos.conf file to X11 driver. Forgot about it. Hope that my 32GB card will arrive soon so I will have second copy of system to test my binaries without any hacks.

        1. Few even:

          1. I forgot to include /etc/X11/xorg.conf.d/exynos.conf to make use of ‘armsoc’ driver.
          2. Armsoc driver is just a bit better/other then ‘fbdev’ one.

          There is still work to do. We do not got OpenMAX video acceleration working under !Chromium OS for example.

          1. cant understand whether there is an armsoc driver or not.

            First you say there isnt “There is no such thing as — never was.” Then you refer to it twice “I forgot to include /etc/X11/xorg.conf.d/exynos.conf to make use of ‘armsoc’ driver. Armsoc driver is just a bit better/other then ‘fbdev’ one.”

            Its a little confusing

          2. Greg: There are two things named “armsoc”:

            • x11 display driver (in /usr/lib/xorg/modules)
            • dri driver (the one probed but not found)

            First one exists and I provide it for Quantal and Raring. Second one never existed.

  4. See, that’s what I don’t understand. I think the custom kernel is in its own partition (I’m not sure, as I ran the script linked to earlier). My GPT looks like:

    Number  Start (sector)    End (sector)  Size       Code  Name
       1          282624         3981311   1.8 GiB     0700  STATE
       2           20480           53247   16.0 MiB    7F00  KERN-A
       3        27082752        31277055   2.0 GiB     7F01  ROOT-A
       4           53248           86015   16.0 MiB    7F00  KERN-B
       5        22888448        27082751   2.0 GiB     7F01  ROOT-B
       6         3981312         4014079   16.0 MiB    7F00  KERN-C
       7         4014080        22888447   9.0 GiB     7F01  ROOT-C
       8           86016          118783   16.0 MiB    0700  OEM
       9           16450           16450   512 bytes   7F02  reserved
      10           16451           16451   512 bytes   7F02  reserved
      11              64           16447   8.0 MiB     FFFF  RWFW
      12          249856          282623   16.0 MiB    EF00  EFI-SYSTEM

    And even when I try and install the stock ubuntu kernel, the kernel stays the same:

    yochai@ChrUbuntu:~$ uname -a Linux ChrUbuntu 3.4.0 #1 SMP Sat Nov 24 23:10:06 PST 2012 x86_64 x86_64 x86_64 GNU/Linux

Comments are closed.