Note: updated rootfs has working VPU.
What's working :
1. GPU + VPU acceleration.
2. Wifi
3. Choice of Unity 2D or Xubuntu desktop
4. Chromium
5. glxgears/glmark2-es2/es2gears working in Unity 2D and Xubuntu.
What's currently not working:
1. Bluetooth
2. Pre-installed Neverball (3D ball game) - broken something
If you prefer not to follow the manual instructions listed below user hste (aka
Haakon Stende
To install (assuming oneiric image already on sd card):
1. Download rootfs linaro_12_04_gpu_vpu.tar.gz. Thanks to hste for hosting.
2. Delete existing rootfs from oneiric image (this is the "ubuntu" partition on the SD card).
rm -rf <sd card mount point>/ubuntu/*
sync
3. Extract new rootfs:
cd <sd card mount point>/ubuntu
tar xvf linaro_12_04_gpu.tar.gz
sync
4. Download kernel with cpu frequency or without (requires a good heatsink) and 'dd' to sd card.
dd if=arch/arm/boot/uImage_cpufreq of=/dev/sdc bs=1048576 seek=1 && sudo sync
OR
dd if=arch/arm/boot/uImage_no_cpufreq of=/dev/sdc bs=1048576 seek=1 && sudo sync
5. Download uboot and 'dd' to sd card.
dd if=u-boot.imx bs=1k seek=1 of=/dev/sdc && sync
4. Remove SD card and place in internal SD slot and power up.
Thanks for your work!
ReplyDeleteI'm just waiting for mine to arrive, but bought it based on the open Freescale community and also your progress!
I want to replace an aging - but still good - notebook which I use in the last year solely as a terminal client for my mediaPC. With a small HW like this I can free up a lot of space on my table and still - expecting at least - a pleasant user experience, maybe an occasional Video playback too.
Keep up the good work, I really appreciate your work (as a Unix admin I really know what I am talking about :) )
hello , great job ,
ReplyDeletecan you think you can install "ubuntu tv" on the usb stick, to plug on a tv ?
ubuntu 12.04 + ubuntu tv 12.04 on the I.MX6 with gpu acceleration its possible ?
Hi, I'm not sure whether it would work or not as, but maybe something to look at in the future.
DeleteWhen you say "for help building the gpu drivers", did you build the gpu drivers from source? From my understanding the gpu source is closed source. Could you enlighten on the steps you took to build 12.04 with gpu drivers? I have been following the meta-freescale archives and so am familiar with the build environment. I'd like to be able to duplicate your steps. Thanks
ReplyDeleteThe vivante gpu drivers are closed source. What has to be built are the xorg/dri drivers so that they match the xserver version you are running.
Deleteand how do you go about building the xorg/dri drivers? I am using yocto 'danny' as my build environment. Thanks
DeleteThe script for installing the newest linaro image from jas is:
ReplyDeletehttp://stende.no-ip.info/files/mksdcard_jas_1204_gpu_vpu.sh
This is fantastic! However, the script is resulting in an endless while loop when choosing the kernel.
DeleteGreat job to the both of you!
Thanks a lot for the image and your great work on this project. The WiFi required a tiny bit of work (didn’t showup in the network admin tool but worked when WiFi was setup with an entry to the /etc/network/interfaces) to sort out but other than that everything worked out of the box. The system booted up much quicker than with the Geekbuying Image and Unity interface was much more responsive and apps opened quite quickly. It sometimes hung for a few seconds and got unresponsive, especially when using the Ubuntu Software Centre but other than that no big problems. Youtube HTML5 video playback using Chromium and Firefox was extremely choppy but web browsing experience overall was not bad at all. Sadly I didn’t have any luck with Totem Youtube playback as well, but OpenGL ES HW acceleration etc. worked well. Not sure whether it will be good enough to use a TV PC given the current performance but it might be useful for compute intensive control applications, computer vision for robotics etc. where something like a Raspberry Pi or (current) Beaglebone is not fast enough.
ReplyDelete@ tanaka_ds
DeleteI've had no luck seeing WiFi options anywhere inside Ubuntu, and I'm guessing from your comment that you were in the same situation.
Would you mind giving the specifics about how you managed to get WiFi up and running. I'd really appreciate it.
This comment has been removed by the author.
Delete@ Art MacNeil
DeleteThis is just a temporary fix to get online. Assuming that you want to connect to a WPA protected router,
Open up terminal
sudo chmod 0600 /etc/network/interfaces (Optional – this is to stop the PSK from being exposed)
[Enter your password. The default password is “linaro”]
gksu gedit /etc/network/interfaces
[Enter your password]
Add the following text to the end of your interfaces file
auto wlan1
iface wlan1 inet dhcp
[tab indented] wpa-ssid yournetworkssid
[tab indented] wpa-psk yourpassword
I think you can run the following to get a list of available networks if you can’t remember the exact SSID,
sudo iwlist wlan1 scan (Optional)
Now save the file and quit gedit. The “auto” should make the system connect automatically on startup, I don’t have access now to the GK802 to check.
Now we have to restart the wlan1 interface.
sudo ifdown wlan1
sudo ifup wlan1 (I got an error here, just ignore it)
Open your web browser, hopefully you will be connected to the internet.
@ tanaka_ds
DeleteThanks so much for posting a reply so quickly! I gave your method a whirl, but no network access. I tried a few things prior to seeing your post, so I may have screwed something up then.
I'll try a fresh rootfs tomorrow and see if I can get online.
Thanks again.
There is bug in ubuntu do with dbus which disabling wifi http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659953.
DeleteFix is:
chgrp messagebus /usr/lib/dbus-1.0/dbus-daemon-launch-helper
chmod +s /usr/lib/dbus-1.0/dbus-daemon-launch-helper
reboot
Hi, and thanks again for this work Jas.
ReplyDeleteIs EDID supposed to work in this version? I tried it but got a resolution that is not that of my screen...
Btw I tried to compile the kernel, using either the gk802 config file, but couldn't achieve to make EDID work...
My current is currently missing EDID code, if you compile kernel our self it should be enabled. BTW I currently working fix uboot so that the screen resolution can be configured.
Deleteare you on github anywhere? there is a https://github.com/imx6-dongle/linux-imx giit account for linux kernels.
DeleteWould you be able to put your progress on git such that we can track it as well as collaborate to it? Thanks
I'm one of the main contributors to that git repo (https://github.com/imx6-dongle/linux-imx). Although some stuff is not checked-in. Please join us on irc imx6-dongle at freenode.
DeleteThanks Jas. Conclusion with Ubuntu 12.04 ARM on GK802: After removing of bluez, complete cups, hpijs and so on and stuff not really needed, complete localization in german and spending much time i think you can use the GK802 but there are many limitations. First of all, Flash 11.* is not available for this ARM platform, power-management do not wake up the desktop-manager, vlc, mplayer/2 do not work (all packages from the ubuntu repos) and ubuntu unity is really slow. xubuntu (xfce4) works good, also with libreoffice. Network management with wicd is IMHO a good alternative to network-manager. But the future i think we should have such a box with linux or android on every tv...
ReplyDeleteThanks Jas. I managed to get the 12.04 to run. I seem to have a problem with audio. I don't have any. The videos play as if they hardware decoded etc. But no audio. Any ideas?
ReplyDeleteOk Jas,
DeleteNice job! System seems very reactive with kernel without cpu frequency regulation and good heatsink.
All works out of the box except:
1- wifi (work after suggested workaround)
2- internal bluetooth (but bluetooth works with external dongle)
3- Sound simply does NOT work
4- Monitor resolution fixed to 640x480
There are 54 packages update...can I update safely ? I don't want to loose acceleration...
I have updated, 63 packages in total... All seems to be running and no funcionality lost. However my problem is that device boots up every 8-15 power ups... I have no idea what might be the cause?
ReplyDeleteAfter fixing wifi with Jas instructions and couple of reboots - sound also somehow started working.
Ok Romuh,
ReplyDeleteI've just update all packages suggesetd by APT and all seems to run OK BUT there are some problems watching videos...
Video (all formats) seems to run in "slow motion-mode" it is incredible!!!
Watching video is not possible....are very slow....
Glxgears and glmark-es2 both crash X!!!
Perhaps better DO NOT update?
Help me please...I don't want reinstalling...
By updating the xserver + gstreamer packages are updated which mean some packages need to be recompiled.
DeleteI'm putting together a new Xubuntu image which will have all the updated packages with X and Video working.
Thanks Jas!
DeleteThe new root image you uploaded seems to have problems:
Delete1-movie still reproducted "in slow motion-mode"
2-wifi fixed
3-monitor resolution still fixed to 640x480 (do you suggest a step-by-step simply howto to quickly change it?)
4-external bluetoolh dongle works
5-sound works
6-accelleration seems to work (but problem to play videos)
7- problem to change User and Desktop Enviroment from Unity to XFCE or other.
Bye
I haven't uploaded an Xubuntu image it is work in progress.
DeleteI want to buy device with iMX.6
ReplyDeleteanybody can confirm if there is working hw accelerated video and audio decoding/encoding with working libs(gstreamer for example) on ubuntu ?
I saw some information about watermarking in video encoder
Any idea how to get around the following?
ReplyDelete-----------------------------------------------
root@linaro-ubuntu-desktop:~# apt-get install libbz2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libbz2-dev : Depends: libbz2-1.0 (= 1.0.6-1) but 1.0.6-1linaro1 is to be installed
Hi, you can try to update libbz2 first and then ibbz2-dev. Alternatively try the Xubuntu 12.04 release it should have the latest packages.
ReplyDeleteJas, I'm eagerly awaiting your new image, thanks very much for contributing to this!
ReplyDeleteHi, I see this is an outdated thread but was wondering if there is an easy way to get this installed for a noob like me. I will take your honest opinion if you feel I will not be up to it. basically I need to know where to start. I did download the tar.gz file and have an mk809 device.
ReplyDeleteMK809 is not compatible, it has a Rockchip CPU, not Freescale i.MX6.
DeleteGreetings! Is it possible to get an armHF build rather than armEL?
ReplyDeleteHi, yes I do have a armhf rootfs with working X11 (accelerated) but sadly no video support.
DeleteHello Jasbir,
ReplyDeleteThank you for your work. Could you please put the 'u-boot.imx' file on http://stende.no-ip.info/jas/? There is only the 'u-boot_multi_boot.imx' file.
Thank you!
Hi, try this one http://stende.no-ip.info/jas/u-boot.imx
DeleteThank you for the file, it works fine on my gk802, in 720p.
DeleteNow Xubuntu finds new packages: can I update packages, or packages must be left as they were on the original image ?
Also, when I launch Synaptic, I have the following error:
root@none:~# synaptic
No protocol specified
No protocol specified
(synaptic:4199): Gtk-WARNING **: cannot open display: :0.0
root@none:~#
Any ideas ?...
TIA!
You should be able to update to the latest packages.
DeleteNot sure about the Synaptic issue.
Hi Jasbir,
DeleteSorry to enter here firstly. I am a new bee. I want put Ubuntu to my gk802. Could u tell me how to do it in my laptop windows 8 in step by step please.
I bought gk802 but it unable to read my USB NTSC format, in which I put my 1080p movies.
Great thanks
Hi Jasbir,
ReplyDeleteI bought a GK802 recently and I have been tried both the oneric and 12.04 steps (using the script as well). No success. Although on examination of the contents of the sd card looks fine with all the rootfs but on powering up it always boots to android. can you help me understand what may be happening. how do i debug the boot process?
Many thanks in advance for your help :)
Shyam
Hi,
DeleteI think it because you are not booting the image from the internal SD card. There is an internal SD card slot containing the android image. You need to remove the card from the internal SD card slot and replace with ubuntu SD card.
Aah ok, I did not know that until you spelt it out. It is DEEPLY fulfilling to see it boot to ubuntu now :).
DeleteThank you very much!!
one more thing, can you suggest a gcc cross compiler toolchain for this stick. i tried linaro gcc 4.7 from boundarydevices.com sabre lite board. But a simple hello world program did not compile :-|....
DeleteI searched a lot and i found this package from freescale - L3.0.35_1.1.0_121218_source.tar.gz
Deleteupon untarring, there was a linaro gcc rpm that i was able to extract and use to cross compile and run a hello world program successfully on the dongle.
(installing LTIB did not work on my dev machine that runs ubuntu 12.04, seems that it needs ubuntu 9)
Hi,
DeleteI am using gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) without any problems. You need to make sure your are compiling for soft float ie
arm-linux-gnueabi-
Hmm can you point me to a pre-built downloadable link (i checked the linaro website but looks like i need to build gcc on my own, thought i could save some time :D)?
ReplyDeleteright, i checked the gcc options on the machine and it pointed that it was soft float, so i am forcing it by including -mfloat-abi=softfp in the ARCH_FLAGS that i set while compiling.
thanks again Jas :)
Has anyone been able to get the script to work?
ReplyDeleteOnce the script completes, pop back in the sd card, boot up the device... nothing happens. No video ever gets displayed :\
Hi,
ReplyDeleteI see you are using 3.0.5 codes/plugins version, however it is not available on Freescale web site. There is a new version and I have some problems playing video. Please, could you give me some details where did you get and how did you install vpu support, including IMX_MMCODEC_3.0.5.
Thank you in advance,
Dmitry
Hi,
DeleteWhich BSP are you using 1.0.0, 4.0.0 or 4.1.0 ?
Hi,
DeleteThank you for a quick reply.
I'm working with 4.0.0.
Actually, I'm trying to update the codecs, but the sources are based on GStreamer v0.10.35, while Ubuntu 12.04 has updated GStreamer v0.10.36.
How did you install 3.0.5 pack with GST 0.10.36? I suppose you patched the sources to have a valid gst-plugins-base.
I'm appreciate you assistance.
Thank you in advance,
Dmitry
Hi Jas,
ReplyDeleteWe are able to boot the image but not able to test GPU functionalities.
We are checking /var/log/Xorg.0.log after booting up, below (Getting segmentation fault at the end)
[ 10.273] (EE) AIGLX: reverting to software rendering
[ 10.366] (II) AIGLX: Loaded and initialized swrast
[ 10.366] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 10.368]
Backtrace:
[ 10.368] Segmentation fault at address (nil)
[ 10.368]
Caught signal 11 (Segmentation fault). Server aborting
[ 10.368]
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 10.369] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 10.369]
[ 10.372] ddxSigGiveUp: Closing log
[ 10.372] Server terminated with error (1). Closing log file.
Redwan
Also not able to boot for the second time with below errors
ReplyDeleteAlso we are not able reach the console on the second boot, getting attached errors (second_boot.txt) below
EXT3-fs: barriers not enabled
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk1p2): warning: maximal mount count reached, running e2fsck is recommended
mmc2: new high speed DDR MMC card at address 0001
mmcblk2: mmc2:0001 MMC04G 3.52 GiB
mmcblk2boot0: mmc2:0001 MMC04G partition 1 16.0 MiB
mmcblk2boot1: mmc2:0001 MMC04G partition 2 16.0 MiB
mmcblk2: p1 p2
mmcblk2boot1: unknown partition table
mmcblk2boot0: unknown partition table
EXT3-fs (mmcblk1p2): using internal journal
EXT3-fs (mmcblk1p2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
Freeing init memory: 188K
end_request: I/O error, dev mtdblock0, sector 0
Buffer I/O error on device mtdblock0, logical block 0
end_request: I/O error, dev mtdblock0, sector 0
Buffer I/O error on device mtdblock0, logical block 0
end_request: I/O error, dev mtdblock0, sector 0
Buffer I/O error on device mtdblock0, logical block 0
Redwan
Hi, what device are you booting on? Also can you pastebin the full kernel boot.
DeleteWe are booting custom i.MX6 board
Deletehttps://www.dropbox.com/s/ne8d9p16zjkrn2w/second_boot.txt
Hi, trace output shows a problem with the EXT3 partition (mmcblk1p2), are you sure the rootfs on mmcblk1p2 is EXT3 not EXT4? If it is EXT4 then you need to enable support in the kernel.
Deletekjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk1p2): warning: maximal mount count reached, running e2fsck is recommended
Thanks Jasbir.
DeleteAbove problem occurs second time onwards, I mean it boots perfectly fine for the first time with the same setup (including card)
Hi Jasbir,
DeleteI used your image on imx6 sabre-sd board and i built qt example apps using your image. I am getting segmentation fault when i am running opengl related apps.
Please do help me if there is a way to fix this issue
Hi Redwan,
DeleteDo you have entries in fstab for the your mounted drives?
# UNCONFIGURED FSTAB FOR BASE SYSTEM
DeleteUUID=5975c044-88eb-464f-b71a-80477146670b / ext4 errors=remount-ro 0 1
Hi SATYANARAYANA,
DeleteWithout some sort of trace output it is difficult to diagnose,
Also "The system is running in low graphics mode" is coming for the first time and then the below issue from second time onwards
ReplyDeleteend_request: I/O error, dev mtdblock0, sector 0
Buffer I/O error on device mtdblock0, logical block 0
end_request: I/O error, dev mtdblock0, sector 0
Buffer I/O error on device mtdblock0, logical block 0
end_request: I/O error, dev mtdblock0, sector 0
Buffer I/O error on device mtdblock0, logical block 0
Please suggest. Thanks.
Comment out the line in your fstab file.
Delete