Coming from this thread, I thought I'd rather open a different step-by-step one not strictly related to the Cubieboard, since apparently this works on other A10 boards too in a basic/generic Arch Linux ARM environment (pcDuino, Marsboard, etc)
This guide is about all you really need in order to make xf86-video-fbturbo driver happen, but:
$this->bbcode_list('1')
If not please let me know, maybe with libhybris there's extra hope ...
How To Successfully Install Mali Binaries In Arch Linux From Scratch
step after step, this is the cleanest way I've tested in order to have a X capable Cubieboard A10 with these drivers. Feel free to skip one or more step if done already ... such ...
/home
This is the folder I've used for everything ... feel free to use a different one and remember to change it in each snippet of code, if needed.
Set Right CPU Frequency
This is what I do as very first thing in a freshly backed Arch Linux ARM boot as root.
Feel free to skip this point.
$this->bbcode_second_pass_code('', '
pacman -S cpupower
sync
# for best performance but
# max power consumption
echo '
governor="performance"
'>>/etc/default/cpupower
# enable this service
systemctl enable cpupower.service
systemctl start cpupower.service
')
Make /dev/ump And /dev/mali Reachable
This is necessary to avoid a "modesetting" error in /var/log/Xrog.log.0 after installation but you might not need this.
In order to verify if you need this:
$this->bbcode_second_pass_code('', '
# check loaded modules
lsmod
# check permissions
ls -la /dev/ump
ls -la /dev/mali
')
If lsmod shows mali, ump, and other things, it's OK ... otherwise we need to do this:
$this->bbcode_second_pass_code('', '
# only non builtins modules forced
echo '
# needed for xf86-video-fbturbo
ump
mali
# apparently needed too
drm
mali_drm
# wi-fi ... if needed ...
8192cu
' >/usr/lib/modules-load.d/modules.conf
')
This will force those modules to load next reboot ... we don't need to reboot though:
$this->bbcode_second_pass_code('', '
# load modules for current session
modprobe ump
modprobe mali
modprobe drm
modprobe mali_drm
')
We can double check via lsmod again and see those modules loaded. However, permissions are still not good:
$this->bbcode_second_pass_code('', '
# enabling mali.service via systemctl
echo '[Unit]
Description=reachable /dev/ump and /dev/mali
[Service]
Type=oneshot
ExecStart=/usr/bin/chmod 666 /dev/ump
ExecStart=/usr/bin/chmod 666 /dev/mali
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target'>/etc/systemd/system/mali.service
systemctl enable mali.service
systemctl start mali.service
')
We can double check again via ls -la /dev/mali and see permissions should be OK.
Update And Install Required Modules
The classic update first:
$this->bbcode_second_pass_code('', '
pacman -Syu --noconfirm
')
Now we need some development package such:
$this->bbcode_second_pass_code('', '
pacman -S make gcc git-core automake autoconf pkg-config libtool
')
Now we need some xorg related package plus libGL.so via mesa
$this->bbcode_second_pass_code('', '
pacman -S xorg-server-devel xorg-server mesa-libgl
')
Now, to be sure we do things in X we might want to install the basics
$this->bbcode_second_pass_code('', '
pacman -S xorg-xinit xterm xf86-video-fbdev
')
xterm is not really needed if not to just xinit and find ourself inside a white console where we'll do the rest.
Bear in mind at this point we have already everything we need to use a X11 desktop environment.
Keep reading only if you think you really might need these drivers in such env.
Build Drivers Using Binaries
first of all, repositories:
$this->bbcode_second_pass_code('', '
# inside xterm, after launching xinit or startx
cd /home
git clone https://github.com/robclark/libdri2.git
git clone https://github.com/linux-sunxi/sunxi-mali.git
git clone https://github.com/ssvb/xf86-video-fbturbo
')
We can build libdri2 now but we need to specify the right prefix.
At least in my case this library could not be used/installed/recognized properly otherwise.
$this->bbcode_second_pass_code('', '
cd /home/libdri2
./autogen.sh --prefix=/usr
make install
')
Now we can build sunxi-mali:
$this->bbcode_second_pass_code('', '
cd /home/sunxi-mali
git submodule init
git submodule update
make config ABI=armhf VERSION=r3p0
make install
')
Above build should take care of libUMP too.
[edit]
In some case /dev/mali and /dev/ump cannot be reached regardless ... we can use VERSION so it will work in any case.
What I've written before was:
$this->bbcode_second_pass_quote('', '
')If the config fails it's because it did not find/read/recognize the /dev/mali path.
Be sure about privileges and availability instead of simply forcing the VERSION since you might have problems later on regardless.