UDOO – Monitor – OS update
I have been experimenting some time with the UDOO board and the touch screen I bought. The goal was to achieve a portrait orientation of the screen with a as far as possible OS “out of the box”, as I do not intent to re-compile the OS for major updates.
This leaves four major distributions that are available for the UDOO board.
The requirements I had were:
- a stable base operating system, allowing real multitasking, as I expect the computer to run pretty intense applications in the background (data processing and image processing for the dash cam)
- portrait orientation of the screen
- touchscreen operational.
The first problem that I ran into was, that the screen controller was not programmable and did not react to the modifications, as it should have. I contacted the manufacturer, and after some waiting got a working version of the monitor controller.
The next challenge was to get the portrait screen set up.
The last challenge was to get the touch input to work with the proper mapping.
I could not get android 4.3 to boot with any monitor output on this board / screen combination. Android was only a secondary choice anyhow, as the main resources are attributed to the foreground application, which for what I have planned is not the right balance. I expect most intense computing to happen in the background, the foreground is a mere display.
The other OSes I was trying were UDOObuntu (based on lubunto 12.04 LTS, armHF based), played a bit with self-compiling android 4.2.2, Linaro Ubuntu 12.04 LTS, Debian Wheezy armHF. I could not find anybody or any posts on the internet that describe what I have done, so I’ll post it in detail for everybody trying to do the same.
The configuration that I ended up using is the “official” UDOObuntu with modified config files to get the monitor and touchscreen to work:
I am using this UDOO board: UDOO Quad
with this screen: 14″ HDMI LCD touchscreen
I installed the linux ARM driver for the touch screen form here: EETI eGalax linux driver. Make sure to use the ARM one. Pretty straight forward, instructions included.
I prefer the editor nano, so the commands are based on this, feel free to substitute to your preference
Changing the configuration in the file xorg.conf:
sudo nano /etc/X11/xorg.conf
add:
Section "InputClass"
Identifier "evdev eGalaxTouch Virtual Device for Multi"
Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1"
EndSection
change Section “Device” as follows:
Section "Device"
Identifier "i/MX Accelerated Framebuffer Device"
Driver "vivante"
Driver "fbdev"
Option "fbdev" "/dev/fb0"
Option "vivante_fbdev" "/dev/fb0"
Option "HWcursor" "false"
Option "Rotate" "CW"
EndSection
change Section “Screen” as follows:
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "i.MX Accelerated Framebuffer Device"
Option "Rotate" "Right"
EndSection
Changing the configuration in the file 10-evdev.conf:
sudo nano /usr/share/X11/xorg.conf.d/10-evdev.conf
add Section “InputClass”:
Section "InputClass"
Identifier "evdev eGalaxTouch Virtual Device for Multi"
MatchProduct "eGalaxTouch Virtual Device for Multi"
EndSection