ifndef display_rotate display_rotate := 0 endif ifeq "${display_rotate}" "0" display_touch_calibration := 200 3950 250 4000 else ifeq "${display_rotate}" "2" display_touch_calibration := 3950 200 4000 250 endif define RPICONFIG += ### Waveshare 5 Inch Display ### hdmi_group=2 hdmi_mode=87 hdmi_cvt=800 480 60 6 0 0 0 hdmi_drive=1 dtparam=i2c_arm=on dtparam=spi=on enable_uart=1 dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900 # Display is better readable from top direction display_rotate=${display_rotate} endef define display_ws5inch_cfg := Section "InputClass" Identifier "evdev touchscreen catchall" MatchIsTouchscreen "on" Option "Calibration" "${display_touch_calibration}" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection endef export display_ws5inch_cfg PACKAGES += xserver-xorg-input-evdev xinput xinput-calibrator .PHONY: _display_ws5inch _config: _display_ws5inch _display_ws5inch: ${CFGROOT} _copy _mount mkdir -p "$${CFGROOT}/usr/share/X11/xorg.conf.d/" printf '%s\n' "$${display_ws5inch_cfg}" >"$${CFGROOT}/usr/share/X11/xorg.conf.d/45-evdev.conf" mkdir -p "$${CFGROOT}/etc/X11/Xsession.d/" printf 'xrandr --size 800x480\n' >"$${CFGROOT}/etc/X11/Xsession.d/10display_resolution"