Jump to content
Jeff

HOWTO: Bodhi on Samsung Chromebook

Recommended Posts

The version of Chrome we managed to get built is fairly older (like 22 I believe) so I wouldn't be surprised if it doesn't support "apps".

 

I haven't had any luck getting the headphone jack to work to date. If you find some combination of settings that work with it please let me know.

 

~Jeff

Share this post


Link to post
Share on other sites

I have version 31 of chrome (chromium-browser) compiled for Ubuntu working on my debian-jessie image. I plan to make the debian-jessie stuff for chromebook available in the near future. I also have the Mali GL stuff working so you can use OpenGL compositing. But I am trying to get e18 to at least start without immediately segfaulting. So far, no one has been able to assist me.

Share this post


Link to post
Share on other sites

This works much smoother that the ChrUbuntu i was running. Flash playback works, trackpad works, youtube works, sound works, however, i cannot get video playback to work. It works when i hover over the video file in the file manager window, i see the little preview and that works, but I cant get playback working in kmplayer or vlc =[ video playback worked out of the box for you guys? when i open a video in kmplayer it just opens kmplayer and nothing happens, same with vlc

 

 

edit: got it to work, i didnt realize i had to install mplayer and kmplayer, i previously only had kmplayer installed. Now it works. Thanks!

 

 

as for the headphone jack, someone said they got it working in arch linux by doing this

"Alsamixer, turn off/mute all the switches except for these:

DMIC1 Left, DMIC1 Right, Left ADC Mixer MIC2, Left Headphone Mixer Left DAC1, Left Headphone Mixer Right DAC1, Left Speaker Mixer Left DAC1, Left Speaker Mixer Right DAC1, MIC2 External Mic, Right ADC Mixer MIC2, Right Headphone Mixer Left DAC1, Right Headphone Mixer Right DAC1, Right Speaker Mixer Left DAC1, Right Speaker Mixer Right DAC1

And you should have sound. There's no speaker/headphone autoswitch, but I just leave Headphone unmuted and mute my speakers when I want headphones.

Oh, and turn the sound down a bit before you test it. It's quite loud."

 

 

I would try it but im not linux savvy enough to know how backup the current working alsamixer settings just incase i screw up

  • Like 1

Share this post


Link to post
Share on other sites

Good find! I'll have to play some of the settings when I get a chance to see if I can make audio come out of the headphone jack.

 

~Jeff

Share this post


Link to post
Share on other sites

In my debian jessie filesystem, I have had audio working from the headphones as well. I haven't checked yet whether it works from the speakers yet though. ;)

Share this post


Link to post
Share on other sites

I now have sound on both Chromebook and external speakers. You just need to have those headphones and speaker mixers turned on as listed above. Actually I have more turned on than listed above but it works.

Share this post


Link to post
Share on other sites

yayyy I followed my own post and got the headphone jack working wonderfully. This pretty much makes bodhilinux almost perfect for the chromebook for what i use it for. now i need to figure out how to get hibernate and suspend to work.

Share this post


Link to post
Share on other sites

I installed whatever was current about 2 days ago on my Samsung XE303, and it went fairly well to an SDHC card (helped that I was re-using a ChrUbuntu KDE "mess", so did not need the 2nd reboot). I have tried several times now to install software like Abiword and Firefox with menu item for the GUI via Chromium, but after that pops up a new browser window, nothing else happens.

 

I did install Abiword via the command line, and that went fine (although I had to backup up a bit and do the "apt-get update", then "--fix-missing" for Abiword). Hoping that got the needed repository/package update stuff done, I tried again for FF, but still just a "dead" browser window is all I got.

 

I can keep using apt-get, but it would be nice to work from those suggested bundles and apps in Chromium. Any suggestions?

 

TIA,

RO

Share this post


Link to post
Share on other sites

I installed whatever was current about 2 days ago on my Samsung XE303, and it went fairly well to an SDHC card (helped that I was re-using a ChrUbuntu KDE "mess", so did not need the 2nd reboot). I have tried several times now to install software like Abiword and Firefox with menu item for the GUI via Chromium, but after that pops up a new browser window, nothing else happens.

 

I did install Abiword via the command line, and that went fine (although I had to backup up a bit and do the "apt-get update", then "--fix-missing" for Abiword). Hoping that got the needed repository/package update stuff done, I tried again for FF, but still just a "dead" browser window is all I got.

 

I can keep using apt-get, but it would be nice to work from those suggested bundles and apps in Chromium. Any suggestions?

 

TIA,

RO

What do you mean install "via Chromium"? Are you trying to use the Bodhi AppCenter in the browser? Why don't you try:

 

sudo apt-get install synaptic

 

if it is not installed already. And then try to use synaptic to install packages.

Share this post


Link to post
Share on other sites

The Midori browser has the apt-url function ootb. There is AFAIR a plugin for firefox to get that functionality, I don't know about Chromium plugins.

 

Enjoy,

Charles.

Share this post


Link to post
Share on other sites

The app center does not support arm devices. Please use the command line or synaptic as suggested.

Share this post


Link to post
Share on other sites

Well, still you will probably find issues. For instance, I used it and looked at email clients. It listed Thunderbird as one (I have used it for years). I tried to download it and it failed. There is no Thunderbird in debian. They use the unbranded version, Icedove. Additionally, because the Bodhi ARM-based system is based on Debian instead of Ubuntu and because of the lack of many ARM packages, many packages the Bodhi AppCenter will list are just not available. Maybe use AppCenter as a Guide but use Synaptic to find what is really there.

 

Since I had used Synaptic anyway for years, I gave up on the Bodhi AppCenter for use with the Samsung Chromebook.

 

Edit: Sorry I had not seen Jeff's post when I posted this.

Share this post


Link to post
Share on other sites

Those are already in use on our latest testing file system. It is how we have opengles support.

 

~Jeff

Share this post


Link to post
Share on other sites

Then does the driver require some trick to enable the acceleration? I am stuck with mesa's software rendering.

 

libGL error: failed to load driver: armsoc

libGL error: Try again with LIBGL_DEBUG=verbose for more details.

When I try to run a game.

 

libGL: OpenDriver: trying /usr/lib/arm-linux-gnueabihf/dri/tls/armsoc_dri.so

libGL: OpenDriver: trying /usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so

libGL error: dlopen /usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so failed (/usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so: cannot open shared object file: No such file or directory)

libGL: OpenDriver: trying ${ORIGIN}/dri/tls/armsoc_dri.so

libGL: OpenDriver: trying ${ORIGIN}/dri/armsoc_dri.so

libGL error: dlopen ${ORIGIN}/dri/armsoc_dri.so failed (${ORIGIN}/dri/armsoc_dri.so: cannot open shared object file: No such file or directory)

libGL: OpenDriver: trying /usr/lib/dri/tls/armsoc_dri.so

libGL: OpenDriver: trying /usr/lib/dri/armsoc_dri.so

libGL error: dlopen /usr/lib/dri/armsoc_dri.so failed (/usr/lib/dri/armsoc_dri.so: cannot open shared object file: No such file or directory)

libGL error: unable to load driver: armsoc_dri.so

libGL error: driver pointer missing

libGL error: failed to load driver: armsoc

libGL: OpenDriver: trying /usr/lib/arm-linux-gnueabihf/dri/tls/swrast_dri.so

libGL: OpenDriver: trying /usr/lib/arm-linux-gnueabihf/dri/swrast_dri.so

After addition of the LIBGL_DEBUG=verbose flag.

Share this post


Link to post
Share on other sites

Then does the driver require some trick to enable the acceleration? I am stuck with mesa's software rendering.

 

libGL error: failed to load driver: armsoc

libGL error: Try again with LIBGL_DEBUG=verbose for more details.

When I try to run a game.

 

libGL: OpenDriver: trying /usr/lib/arm-linux-gnueabihf/dri/tls/armsoc_dri.so

libGL: OpenDriver: trying /usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so

libGL error: dlopen /usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so failed (/usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so: cannot open shared object file: No such file or directory)

libGL: OpenDriver: trying ${ORIGIN}/dri/tls/armsoc_dri.so

libGL: OpenDriver: trying ${ORIGIN}/dri/armsoc_dri.so

libGL error: dlopen ${ORIGIN}/dri/armsoc_dri.so failed (${ORIGIN}/dri/armsoc_dri.so: cannot open shared object file: No such file or directory)

libGL: OpenDriver: trying /usr/lib/dri/tls/armsoc_dri.so

libGL: OpenDriver: trying /usr/lib/dri/armsoc_dri.so

libGL error: dlopen /usr/lib/dri/armsoc_dri.so failed (/usr/lib/dri/armsoc_dri.so: cannot open shared object file: No such file or directory)

libGL error: unable to load driver: armsoc_dri.so

libGL error: driver pointer missing

libGL error: failed to load driver: armsoc

libGL: OpenDriver: trying /usr/lib/arm-linux-gnueabihf/dri/tls/swrast_dri.so

libGL: OpenDriver: trying /usr/lib/arm-linux-gnueabihf/dri/swrast_dri.so

After addition of the LIBGL_DEBUG=verbose flag.

I am not sure how you installed the driver. I will tell you the easiest way to do it, assuming you installed the recent Bodhi Chromebook image using the testing repository:

  1. Download the X11 driver from here to either your home directory or ~/Downloads. Do not extract it. Leave it as a .tgz file.
  2. Execute the command: sudo install_mali_x11. It will install the driver in a particular place and do needed links that, if not done, prevent the driver from being utilized properly

If you do that, to switch to the Mali libraries first use Ctrl-Alt-F1 to switch to a virtual terminal and log in. Then issue the command:

sudo switch_x11_libs mali

 

Now it is best to reboot.

 

Now, after rebooting, you can verify that it is using the Mali libraries by executing the command

es2_info

within a terminal window (like terminology)

 

You should also be able to use OpenGL compositing within e.

 

Regarding games, I haven't tried any. There are clearly limitations to the OpenGL support, especially with the Chrome OS 3.4.0 kernel being used. Also, there is no armsoc_dri.so, DRI support is built in. So if you install and set up the libraries properly, you can ignore warnings about that missing.

Share this post


Link to post
Share on other sites

Everything in the quote may have been based on wrong assumption.

Thank you.

I am both happy and sad now.

Happy because I just did not know about those couple of steps and it looks like the working driver is just out my reach now.

I am sad because it looks like the instructions apply to the "wheezy" version of Xserver.

The following packages have unmet dependencies:
xserver-xorg-video-armsoc : Depends: xorg-video-abi-12 which is a virtual package.

In my previous installation (I just reinstalled to clean up the system) I have forced installation of xserver packages from wheezy repo.

And I just realized one stupid mistake on my part - I did not do glxinfo | grep OpenGL in last - the most important one -.- .

After that I got display server flashing when I was moving the cursor around.

Now I think it was the Mali driver breakage thanks to some unmet dependency, that I was no longer in soft render...

Would it be a lot of effort to bump the video-armsoc up to compatibility with xorg-video-abi-14 or whichever is in jessie now? I believe it is a better path than having an outdated xserver.

 

Should I try to reproduce the broken desktop from my previous installation and get more diagnostic information? Any logs you would be interested in? Maybe you know which packages specifically should I downgrade to wheezy?

I just may not able to tap into the driver properly.

$ es2_info
[PLUGIN INFO] Plugin initializing
[PLUGIN DEBUG]  './override.instr_config' not found, trying to open the process
config file
[PLUGIN DEBUG]  './es2_info.instr_config' not found, trying to open the default
config file
[PLUGIN ERROR] Couldn't open default config file './default.instr_config'.
[PLUGIN INFO] No configuration file found, attempting to use environment
[PLUGIN INFO] CINSTR GENERAL: Output directory set to: .
[PLUGIN INFO] No instrumentation features requested.
EGL_VERSION: 1.4 Midgard-"r3p0-02rel0"
EGL_VENDOR: ARM
EGL_EXTENSIONS:
   EGL_KHR_config_attribs, EGL_KHR_image, EGL_KHR_image_base,
   EGL_KHR_fence_sync, EGL_KHR_wait_sync, EGL_ARM_pixmap_multisample_discard,
   EGL_KHR_gl_texture_2D_image, EGL_KHR_gl_renderbuffer_image,
   EGL_KHR_create_context, EGL_KHR_surfaceless_context,
   EGL_KHR_gl_texture_cubemap_image, EGL_KHR_image_pixmap
EGL_CLIENT_APIS: OpenGL_ES
GL_VERSION: OpenGL ES 3.0
GL_RENDERER: Mali-T604
GL_EXTENSIONS:
   GL_ARM_rgba8, GL_ARM_mali_shader_binary, GL_OES_depth24,
   GL_OES_depth_texture, GL_OES_depth_texture_cube_map,
   GL_OES_packed_depth_stencil, GL_OES_rgb8_rgba8, GL_EXT_read_format_bgra,
   GL_OES_compressed_paletted_texture, GL_OES_compressed_ETC1_RGB8_texture,
   GL_OES_standard_derivatives, GL_OES_EGL_image, GL_OES_EGL_image_external,
   GL_OES_EGL_sync, GL_OES_texture_npot, GL_OES_vertex_half_float,
   GL_OES_required_internalformat, GL_OES_vertex_array_object,
   GL_OES_mapbuffer, GL_EXT_texture_format_BGRA8888, GL_EXT_texture_rg,
   GL_EXT_texture_type_2_10_10_10_REV, GL_OES_fbo_render_mipmap,
   GL_OES_element_index_uint, GL_EXT_shadow_samplers, GL_KHR_debug,
   GL_EXT_occlusion_query_boolean, GL_EXT_blend_minmax,
   GL_EXT_discard_framebuffer, GL_OES_get_program_binary, GL_OES_texture_3D,
   GL_EXT_texture_storage, GL_EXT_multisampled_render_to_texture,
   GL_OES_surfaceless_context, GL_ARM_mali_program_binary

Right now everything in my system seems to fall back to swrast by mesa. Even after following your instructions. So now I am starting to think I need to launch programs with some env var set up in order to utilize the Mali driver. I have no idea how that var is supposed to look like, though.

 

Time passes...

 

Just found a proof for my latest theory.

https://bugs.launchpad.net/chromebook-arm/+bug/1085596/comments/22

When run with --use-gl=egl, chromium-browser does report in chrome://gpu that GL_RENDERER=Mali-T604 .

Later I will try to make Flash use HW acceleration, but for now I have to log out to life.

Share this post


Link to post
Share on other sites

It's my first post on the board and I want to say thank you to all the guys at Bodhi Linux for their great work. I've recognized that the official support for arm is dropped. Never the less I tried the chromebook image and the first impression is very positive. I have chrubuntu on the chromebook and the GUI of Bodhi Linux fits to my demands on such a device.

 

Whats the point? After a update and dist-upgrade the xorg system is broken, due to a incompatibility between the glx module and the x server.

 

What I've done:

 

1) download the installer under Chromeos

2) chmod +x the installer

3) start the installation: sudo bash XXXX.sh /dev/mmcblk1

4) installation and reboot went fine

5) configuration: locales, keyboard, timezone

5) update: sudo apt-get update & apt-get dist-upgrade with no errors

6) after reboot I'm in the cli and starting the xorg system (startx/ Enlightenment_start) stops with an error

7) xorg.0.log: version mismatch between glx and x server, major numbers are different (14 vs 15?)

 

Question:

1) my solution is to pin the xorg system before the dist-upgrade. Is this the right way to go?

2) Due to the fact that the support for armhf is dropped, will errors like this one be fixed in the near future?

 

Thank you in advance.

 

Kind regards

 

Alexander

Share this post


Link to post
Share on other sites

Unless seekamp finds time to try and fix this there won't be an update. Pinning xorg is a good solution.

Share this post


Link to post
Share on other sites

×