I got an Asus Tinkerboard and an Elecrow 5 inch HDMI screen and here's how I got them to work together.
Unlike the raspberry pi, there doesn't seem to be a boot/config.txt
so when I was looking through the documentation for the Elecrow display1 I couldn't figure out how to make the damn thing work. Google turned up a utility that's like raspi-config
2 but it didn't really help.
I'm not going to cover the debian installation steps in detail, as it's much like any other SD card based single board computer. I downloaded the debian stretch OS from Asus, unzipped it, and used dd
to copy the .img
file over a micro SD card. Okay, that's not the order I did it, first I tried the android image, but it refused to boot to anything other than recovery mode and my input devices would only sometimes work. It wasn't much fun navigating the menu since the keyboard would only work on some reboots, and choosing any menu options just dumped me back at the recovery menu. So I quickly moved on to the Debian image.
In case you're hunting for it, the default user and password are linaro
and linaro
.
Console
Upon trying to log in I had text running off the right and bottom of the screen. I assumed it was because it thought the screen was bigger than it really was. Luckily, fbset
made this liveable.
Typing the fbset -xres 800 -yres 480
made it so I could type stuff and see what I was doing.
Typing startx resulted in a big fat failure. Some of the useful text from /var/log/Xorg.0.log
:
[724681.952] (EE) modeset(0): Output HDMI-1 enabled but has no modes
[724681.953] (EE) modeset(0): No modes.
Network
I thought it would be nice to be able to ssh in and work on it in case I messed up a display setting and could no longer see the display content. Luckily, ssh is pre-installed, it just had to be turned on:
sudo /etc/init.d/openssh start
I didn't use the wirelss because I was sitting right next to a switch. I didn't have to do any network configuration, it brought the ethernet device up with DHCP and I was ready to move on. A quick check with ip a
told me my IP address. So from my desktop I was able to ssh in.
Fixing X
Remember that Xorg.0.log file I mentioned? There was a little bit more content in there that was handy, namely the following:
[724681.948] (II) modeset(0): Supported detailed timing:
[724681.948] (II) modeset(0): clock: 32.0 MHz Image Size: 108 x 68 mm
[724681.948] (II) modeset(0): h_active: 800 h_sync: 840 h_sync_end 888 h_blank_end 928 h_border: 0
[724681.949] (II) modeset(0): v_active: 480 v_sync: 493 v_sync_end 496 v_blanking: 525 v_border: 0
[724681.949] (II) modeset(0): EDID (in hex):
[724681.949] (II) modeset(0): 00ffffffffffff000481040001000000
[724681.949] (II) modeset(0): 01110103800f0a000a00000000000000
[724681.950] (II) modeset(0): 00000000000001010101010101010101
[724681.950] (II) modeset(0): 010101010101800c208030e02d102830
[724681.950] (II) modeset(0): d3006c44000000180000001000000000
[724681.950] (II) modeset(0): 00000000000000000000000000100000
[724681.951] (II) modeset(0): 00000000000000000000000000000010
[724681.951] (II) modeset(0): 00000000000000000000000000000017
[724681.952] (II) modeset(0): No remaining probed modes for output HDMI-1
[724681.952] (II) modeset(0): Output HDMI-1 connected
[724681.952] (WW) modeset(0): Unable to find initial modes
[724681.952] (EE) modeset(0): Output HDMI-1 enabled but has no modes
[724681.953] (EE) modeset(0): No modes.
I needed modes and a supported resolution. Well, it looks like it should do 800x480, but I needed a modeline. I put the following into /etc/X11/xorg.conf.d/50-resolution.conf
:
Section "Monitor"
Identifier "HDMI-1"
Option "PreferredMode" "800x480"
ModeLine "800x480" 32 800 840 888 928 480 493 496 525 +hsync +vsync
EndSection
And now I have a working X11. Isn't it pretty?
Remaining Issues
The display goes to sleep and doesn't come back quite right. Edit: The display goes to sleep and wakes up just fine, but video playback seems to result in a bit of a focus issue. If the system is playing a video in full screen long enough for the timeout to fire, the mouse has to be used to command stuff in the UI. I don't know why. I'm still working on a fix.
The touch screen isn't working yet, or at least, I haven't added the xinput stuff for it, yet.
Once I fix these issues, I might write up a proper howto.
Thanks for this post. I am a big fan of the raspberry pi, but am always curious about other options that are out there.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I like SBCs. They're so damn cheap now a days, I just with they had more RAM.
I still entertain the fantasy that I'll build a laptop using an SBC, some kind of e-ink display, and a nice clicky keyboard....
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit