Hi all, I didn't know exactly where to place this post, somewhere in XU3/XU4 sub forum ? somewhere in VU5A sub forum ? somewhere in gaming ? there is a Howto about
VU5A Display, Howto install GBM enabled Userspace Drivers and Howto build Retro Gaming Emulators, so I decided to place it here

the use of the Mali GBM enabled userspace library in real live, how good it works and for what it can be used. For all the showcases it uses a VU5A display ( really a nice toy )

The Howto will install an Ubuntu 18.04 minimal image for XU3/4 and prepare the use of the GBM Mali Driver for it,
as a result PPSSPP will run notorious hard to emulate games pretty good and without tearing
Download and install the Image:
https://odroid.in/ubuntu_18.04lts/XU3_X ... 910.img.xz
Extract and write it on eMMC or SD
Installing and configure:
login for that image is:
user:root
pw:odroid
Update the image:
Code: Select all
apt update && apt full-upgrade -y
Code: Select all
apt-get install libx11-dev libsm-dev libxext-dev git cmake mercurial libudev-dev libdrm-dev zlib1g-dev pkg-config libasound2-dev alsa-utils htop bc ifupdown2 net-tools libssl1.0-dev mlocate bluez libfreetype6-dev libx11-xcb1 libxcb-dri2-0
Code: Select all
adduser odroid
usermod -aG sudo,adm,audio,operator,input,video,tty,staff,games,users,plugdev,netdev,bluetooth,disk odroid
Code: Select all
su - odroid
Code: Select all
sed -i '1iforce_color_prompt=yes' ~/.bashrc
su odroid
Code: Select all
wget https://www.areascout.at/kodi/mali-x11-gbm-fbdev_19.0.6-1_armhf.deb
dpkg -i mali-x11-gbm-fbdev_19.0.6-1_armhf.deb
Code: Select all
cd ~
hg clone http://hg.libsdl.org/SDL SDL2
cd SDL2
./configure --disable-video-opengl --enable-video-kmsdrm
Video drivers : dummy x11(dynamic) kmsdrm(dynamic) opengl_es1 opengl_es2 vulkan
it is ? -> cool, now to compile the SDL2 package
Code: Select all
make -j7
sudo make install
Code: Select all
cd test
./configure
make -j7
./testgles2
ESC
keyAnd if you are on VU5A, you will notice something like this which is TOO SLOW:
INFO: 56.89 frames per second
It should reach 60fps, if not it's a real problem for emulators, if they try to just hold 60fps and they can't, then it will really slow down things a lot, very good to observe on PPSSPP game intro videos
Building the Kernel for >60fps on VU5A: (Update: The kernel patch isn't needed anymore, it's already upstream)
As we have to patch the kernel to get more then 56fps, I will open an PR and maybe you can get this patch included in mainline and updated bei the apt package system,
but here a quick reminder on how to do it by our own.
So the pixel clock and probably some H or V sync timing values of HDMI PHY config are not right for that VU5A Display, more explanation here https://github.com/hardkernel/linux/com ... 238493af6d
Ok so Hardkernel took the closest one but they choose it to be on the lower side of 60fps, for emulation it's better to choose the higher side of 60fps, so at the end we will have a fixed frame rate of 64fps, it can't be higher then that but lower, which is ok.
checkout the kernel, you will need some GB free of space ! We choose to take the HDMI PHI config from the next higher pixel clock, what is really inside this HDMI PHY config is unknown to the public
I have asked several developers but no one could give me an answer, only in kernel 3.10 there is some small code to change this 32byte long config, so only some few bytes are known, but they don't change the refresh rate

Code: Select all
git clone https://github.com/hardkernel/linux.git
cd linux
wget -O VU5A.patch https://pastebin.com/raw/aWEYArWL
patch -p1 < VU5A.patch
make odroidxu4_defconfig
make -j7
sudo cp arch/arm/boot/zImage /media/boot/.
sudo cp arch/arm/boot/dts/exynos5422-odroidxu4.dtb /media/boot/.
sudo make modules_install
Code: Select all
cd SDL2/test
./testgles2
INFO: 64.01 frames per second
In the next post we will build PPSSPP, after this we will build RetroArch with GBM KMSDRM backend + some libretros, it's huge, but for today -> see you later !
Have Fun