Running XBMC on Arch Linux on the ASUS Chromebox
#1
Has anybody had any luck running XBMC on Arch on the ASUS Chromebox?

I managed to install a basic version of Arch Linux on it, configured my external hard drive, samba shares. However, I'm having a hard time getting XMBC to run.

I installed the xbmc package, xorg-xinit to make auto start work and then by trial and error ended up installing xorg-server and a few other dependencies while trying to make it start with systemctl start xbmc; even if I'm not a 100% sure that I needed (I'm coming from a raspberrypi/xbmc configuration).

Running systemctl status xbmc (after trying to start it up) leaves me with:

Code:
[email protected] ~ $ sudo systemctl status xbmc
● xbmc.service - Starts instance of XBMC using xinit
   Loaded: loaded (/usr/lib/systemd/system/xbmc.service; enabled)
   Active: inactive (dead) since Sat 2014-05-24 17:35:54 PDT; 5s ago
  Process: 2219 ExecStart=/usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp vt7 (code=exited, status=0/SUCCESS)
Main PID: 2219 (code=exited, status=0/SUCCESS)

May 24 17:35:52 arch-chromebox systemd[1]: Starting Starts instance of XBMC using xinit...
May 24 17:35:52 arch-chromebox systemd[1]: Started Starts instance of XBMC using xinit.
May 24 17:35:52 arch-chromebox systemd[2219]: pam_unix(login:session): session opened for user xbmc by (uid=0)

Since I couldn't get any more detail, I tried running the ExecStart line manually and I did find something interesting; I know that it is trying something at least, and the issue is related with the GPU driver.

Any leads from here?
Reply
#2
What about just running xbmc from the command line?
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#3
Trying that gets me:

Code:
[email protected] ~ $ xbmc
Error: unable to open display
XBMC needs hardware accelerated OpenGL rendering.
Install an appropriate graphics driver.

Please consult XBMC Wiki for supported hardware
http://wiki.xbmc.org/?title=Supported_hardware

which makes sense since it's just the command line, I'm not running any desktop environment. I am trying to run XBMC in standalone mode, which needs X running underneath; that's what the ExecStart on the systemd script seems to be doing.
Reply
#4
OK so run X and then try running xbmc, debugging involves small steps.
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#5
Ok, so turns out I had the wrong driver installed. I now installed mesa-libgl and xbmc is at least starting up fine with the systemd script.

Also, running startx and then glxgears from an xterm shows a high frame rate (400fps?) so I'm guessing 3D acceleration is working.

However, XBMC is showing a really high CPU usage (95% in each CPU) and a very low frame rate (~12fps). Also, when trying a x264 video, the audio starts for a bit and then stops, but the screen remains black, and XBMC has to be restarted.

Here's the logs from the moment XBMC is started up to when I try to run a video.

Any help will be much appreciated! Smile
Reply
#6
Aaaand that was still the wrong driver, the right one was xf86-video-intel, as stated in the Arch wiki Big Grin

sudo pacman -S xf86-video-intel

That one fixed it. Now it runs with low CPU usage and blazingly fast Smile
Reply
#7
I wrote up a post/guide documenting the process, hope it's useful!

http://www.brazzi64.net/blog/running-min...chromebox/
Reply
#8
I'm curious why you chose to stick with the stock firmware (and still erase the entire hard drive) vs using the Coreboot firmware. With the Coreboot firmware, you wouldn't have to jump thru any hoops with using an older version (because of the bootloader incompatibility), adding switches to the command line, etc. The only benefit I can see is the ease of returning to ChromeOS (via the recovery button), but IMO that doesn't outweigh the benefits of using the Coreboot firmware.

Either way, a solid contribtion to the ChromeBox community, so thanks!
Reply
#9
brAzzi64, i tried out the chromiumos-ui from AUR and it works really well. You have to install chromiumos-ui-bin first and then you can
install the rest of it. Then you will need to link icudtl to chromiumos-ui.

Code:
ln -sf /usr/lib/chromium/icudtl.dat /usr/lib/chromiumos-ui

After that you should be able to run it as a service at boot up or whenever you want to use it. If you lose the ability to boot from a usb
after a flash you can use an SD, or you can follow what I did in this post and you'll be able to flash a previous rom from linux.

Asus ChromeBox EZ Setup (OpenELEC or Ubuntu+XMBC)
Reply
#10
I'm trying to do the exact same and am getting the same error. Any suggestions for how to fix this? I've confirmed I have the same driver installed as OP mentioned above

Error: unable to open display
XBMC needs hardware accelerated OpenGL rendering.
Install an appropriate graphics driver.

Please consult XBMC Wiki for supported hardware
http://wiki.xbmc.org/?title=Supported_hardware

Thanks for any help!!!
Reply
#11
Hello,

I am also one of these running vanilla Arch linux in dual boot mode on a HP Chromebox. I have chosen Arch linux over Openelec so I can also install some desktop e.g. xfce or mate and login either to Kodi or to my prefered DE from the display manager. Currently I am running LightDM 1.16 with Lightdm GTK greeter 2.0.1, Kodi 15,Mate 1.12.
What I would advise to anyone trying to do the similar thing:

* Do a device prep exactly per the instructions at the wiki.
* Boot into Chrome OS, launch EZSetup script as root and choose the option 1 Ubuntu dual boot. Select your partition size I've used 9 GB for the Arch linux install. Then reboot and let Chrome OS to repair it-self.
* Now boot Arch linux install image from USB or SD card. For creating that simply dd an install medium of your choice to the USB drive / memory card. Just to give credit, I'm blind almost since my birth so I require screen reading apps where available so I've used an image from talkingarch.tk.
* I had an issue that when my old Grundik TV is connected to the HDMI port the install image was unable to complete the boot process. The workaround for me was to boot with TV disconnected and do the setup with headphones connected to the analog audio output. I can't say if turning on the TV when the installer is fully booted makes the display to work. When the OS is installed display is working as it should.
* Then do the instal according to the install guide. You need to create and install the OS to the sda7 partition.
* I think for increased streaming quality you may want to connect your Chromebox via an ethernet cable. So an etherned cable and a dhcpcd service enabled at boot is the only networking setup I recommend. If you are about to use wifi, you may consider using NetworkManager instead.
* You should choose grub as your boot loader. You should install grub in a way so you will use bios boot partition on a GPT partitioned device. Before installing grub you need to create this bios boot partition using gdisk as written in the Chrome OS specific instructions. The partition has to be 1007kb in size i.e. when gdisk prompts for an end sector / size you will type in 1007K . The partition type has to be EF02 . After the bios boot partition is created you should install grub as described on the grub wiki page. Also don't forged to generate the main grub config file.
* After the install is done you may need to tweak the audio again by following Chrome OS specific instructions. I find especially the content of this gist very helpfull. Put this into /etc/asound.conf and edit it to choose your prefered default audio device i.e. analog audio output or HDMI audio output.
Then in order to run Kodi and other graphical apps you need to instal intel drivers including VA-API.
* And that's it you should now have working system and you may continue installing what you would like to. Remember you have chosen to take this route so you have great power over your setup and you do need to explore all the linked materials for example when installing Kodi these recommended settings are essential.
* When done installing you should boot into Chrome OS again to set your device boot options using the EZSetup script again.
Reply
 
Thread Rating:
  • 0 Vote(s) - 0 Average



Logout Mark Read Team Forum Stats Members Help
Running XBMC on Arch Linux on the ASUS Chromebox00