Waveshare AMOLED: Difference between revisions
No edit summary |
|||
| (10 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
The [https://www.waveshare.com/wiki/5.5inch_HDMI_AMOLED Waveshare wiki page] for the device is a good place to start. The screen takes anywhere from 250 to 650mA, using more power to display lighter, brighter pixels. | The [https://www.waveshare.com/wiki/5.5inch_HDMI_AMOLED Waveshare wiki page] for the device is a good place to start. The screen takes anywhere from 250 to 650mA, using more power to display lighter, brighter pixels. | ||
==Green LED== | |||
When the device is powered up, a green LED will blink if it is not receiving an HDMI signal. The manual only mentions that this can happen due to power supply issues, but that is incorrect (power supply issues <i>can</i> cause this symptom, but it can also simply be due to missing/bad HDMI input). | |||
==Raspbian== | |||
Add to <tt>config.txt</tt>: | |||
<pre> | |||
max_framebuffer_height=1920 | |||
config_hdmi_boost=10 | |||
hdmi_group=2 | |||
hdmi_force_hotplug=1 | |||
hdmi_mode=87 | |||
hdmi_timings=1080 1 26 4 50 1920 1 8 2 6 0 0 0 60 0 135580000 3 | |||
</pre> | |||
When using the [[Potato|Libre Potato]], the <tt>meson_dw_hdmi</tt> module must be blacklisted, or you'll get a black screen. This can probably be worked around, but I don't yet know how. Using the "fbdev" driver, you'll need a <tt>Rotate</tt> directive in <tt>xorg.conf</tt> to rotate the AML-S905X-CC Meson's Mali GPU (<tt>xrandr</tt> is not supported). | |||
==Console rotation== | ==Console rotation== | ||
Write 1 to <tt>/sys/class/graphics/fbcon/rotate</tt>. To do it from the kernel, add <tt>fbcon=rotate:1</tt> to the kernel command line; in Raspbian, this is done by editing <tt>/boot/cmdline.txt</tt>. This has no effect on Xorg. | Write 1 to <tt>/sys/class/graphics/fbcon/rotate</tt>. To do it from the kernel, add <tt>fbcon=rotate:1</tt> to the kernel command line; in Raspbian, this is done by editing <tt>/boot/firmware/cmdline.txt</tt>. This has no effect on Xorg. | ||
==Touch rotation== | |||
We can do it through Xorg: add the appropriate <tt>CalibrationMatrix</tt> to the <tt>touchscreen</tt> libevent stanza. For instance, rotate 90 degrees clockwise with <tt>Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1"</tt>. But this will only work for X. | |||
If we want to handle all libinput consumers (particularly [[Wayland]]), it's better to make a [[udev]] rule that sets <tt> | |||
ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1</tt>. You can test this by checking <tt>libinput list-devices | grep ^Calibration:</tt>. | |||
==Assembling front pane== | ==Assembling front pane== | ||
| Line 16: | Line 38: | ||
* Insert straight micro-USB cable into connector | * Insert straight micro-USB cable into connector | ||
* Insert Ethernet cable into Raspberry Pi | * Insert Ethernet cable into Raspberry Pi | ||
* Mount with M2.5 screws | |||
* GPIO pin 6 (ground) to LED long leg | |||
* LED long leg to 330Ω resistor | |||
* Resistor to GPIO pin 12 | |||
==Setup for [[Counterforce]]== | |||
* We want automatic login to X. Potato uses [http://www.lxde.org/ LXDE] by default. | |||
** <tt>$HOME/.config/lxsession/LXDE/autostart</tt> of the logged in user defines the Xsession. | |||
** Be sure to launch <tt>xscreensaver -no-splash</tt> to avoid AMOLED burnin | |||