1
0
mirror of https://github.com/lxsang/meta-rpi-diya.git synced 2025-08-01 05:31:02 +02:00

Compare commits

...

157 Commits

Author SHA1 Message Date
35832377c6 fix config error 2023-07-27 00:07:11 +02:00
9e3536aa73 fix recipes errors 2023-07-26 23:54:46 +02:00
49305da8d8 add custom config for wayland compositor and sfwbar 2023-07-26 23:25:42 +02:00
cf058762dd add custom config for wayland compositor and sfwbar 2023-07-26 23:21:06 +02:00
d659e76211 add gtk-layer-shell 2023-07-26 19:43:58 +02:00
2cbedc14c7 add wlopm 2023-07-26 16:27:43 +02:00
567ed192c4 add wlopm 2023-07-26 16:18:27 +02:00
c6c7b457c7 add wlopm 2023-07-26 16:16:33 +02:00
cb1f751458 add wlopm 2023-07-26 16:14:27 +02:00
695e5beb9f add wlopm 2023-07-26 16:10:06 +02:00
8df756a6e7 add wlopm 2023-07-26 15:45:05 +02:00
78a6473a6f add wlopm 2023-07-26 15:42:12 +02:00
07a057d7b3 add swaylock to sudo 2023-07-26 15:30:52 +02:00
a44cf639b6 remo dep on qt 2023-07-26 15:20:21 +02:00
1e68858b43 remove qt support 2023-07-26 15:02:10 +02:00
a07bff36fc customing swayidle 2023-07-26 14:17:13 +02:00
9b46056637 customing swaylock 2023-07-26 14:14:25 +02:00
76de7fee54 add some wayland based utilities 2023-07-26 14:10:54 +02:00
414f09c83a removing pam 2023-07-26 13:16:50 +02:00
9433ea77f0 customing wlroots 2023-07-26 13:12:48 +02:00
bc0bac3ebc add pam to distro feature 2023-07-26 12:52:47 +02:00
d74f0eae3e add labwc and foot from meta-wayland 2023-07-26 12:08:14 +02:00
718db6d18d add wl-roots 2023-07-26 11:51:06 +02:00
ff41d76c6a add wl-roots 2023-07-26 11:50:55 +02:00
b2d24c7d97 add wl-roots 2023-07-26 11:50:02 +02:00
055cc3334c add wl-roots 2023-07-26 11:49:32 +02:00
f5a86b5606 minor fix on labwc recipe 2023-07-26 11:24:58 +02:00
39c0eb80ec minor fix on labwc recipe 2023-07-26 11:24:00 +02:00
fe9a06d65f add labwc_git.bb recipe 2023-07-26 11:16:49 +02:00
d5eb6635fa export envar 2023-07-26 02:53:13 +02:00
af3e4bf92a add liberation-fonts font 2023-07-26 02:38:49 +02:00
92c4bb5dbc and fontconfig support 2023-07-26 02:31:04 +02:00
8c957f3300 update dep 2023-07-26 02:21:50 +02:00
5881ffbad0 update dep 2023-07-26 02:01:08 +02:00
f31bcaadb9 base-file dont expand variable in here doc 2023-07-26 01:39:30 +02:00
0cae78a47c remove user group wayland 2023-07-26 01:16:51 +02:00
2477a8e286 remove user group render 2023-07-26 01:11:33 +02:00
6c58282d66 update envar 2023-07-26 01:01:05 +02:00
167eac6cfb update envar 2023-07-26 00:59:52 +02:00
f2c7db1bb8 remove weston 2023-07-26 00:50:27 +02:00
db7c88ce90 remove sdl2 support 2023-07-26 00:33:46 +02:00
9cb4b8fcf1 add hwdata package to image 2023-07-25 12:04:32 +02:00
a723571517 add wayland-protocols support 2023-07-24 19:21:03 +02:00
a124d39851 remove qt virtual keyboard support 2023-07-24 17:57:40 +02:00
e3f556fbb4 fix: add hicolor-icon-theme 2023-07-24 14:05:29 +02:00
425547465b fix: weston fail to start 2023-07-24 11:55:00 +02:00
b2b277e2a3 fix: remove optimize size options 2023-07-24 11:41:47 +02:00
7f4d9c82da fix: disable QT envars 2023-07-24 11:34:47 +02:00
6fbcd74269 fix: disable QT envars 2023-07-24 10:39:29 +02:00
14e21ff92d fix: disable QT envars 2023-07-24 10:36:07 +02:00
58c96f6236 fix: change default westion user to diya 2023-07-24 10:09:20 +02:00
252ddde464 fix: change default westion user to diya 2023-07-24 10:07:03 +02:00
3e77d3ea67 enable wayland support 2023-07-23 14:00:38 +02:00
3ea7678d7c temporarly add gdbserver 2023-07-23 13:37:04 +02:00
694f6be04a feat: add rsync and coreutils 2023-07-22 22:37:41 +02:00
7075658d24 feat: add qtvirtualkeyboard support 2023-07-22 21:47:33 +02:00
28aa2b8099 feat: add qtdeclarative support 2023-07-22 21:23:14 +02:00
15004c7868 add qtgraphicaleffects support 2023-07-22 20:43:07 +02:00
b41540e82c add qtquickcontrol1 support 2023-07-22 20:29:42 +02:00
17eff21322 add quick control support 2023-07-22 15:29:28 +02:00
def162a82a fix: add missing dev package to sdk 2023-07-22 11:48:49 +02:00
d9727faf43 add support to opengles3 2023-07-22 11:18:08 +02:00
22c519e777 add qt support to the sdk 2023-07-21 12:51:46 +02:00
2ef30f7403 remove example package, add QT parameters to default profile 2023-07-19 22:45:13 +02:00
0c0186bcaa remove mesa-libgl 2023-07-19 18:23:43 +02:00
05bb45256d disable non working opengl code 2023-07-19 17:13:17 +02:00
86a7359b2a disable non working opengl example 2023-07-19 16:58:05 +02:00
e07da1a7c0 use GLESv2 instead of GL 2023-07-19 15:38:38 +02:00
994356fdd5 use GLESv2 instead of GL 2023-07-19 15:36:41 +02:00
78ce3ff602 replace freeglut by mesa-gl 2023-07-19 14:26:57 +02:00
2f6a61b16d fix freeglut dependencies 2023-07-19 14:15:50 +02:00
7022952f23 fix package dependencies 2023-07-19 13:24:29 +02:00
6ce7173e4a fix package dependencies 2023-07-19 13:24:19 +02:00
f3bacf688b fix package dependencies 2023-07-19 13:19:12 +02:00
bcfa7a5e25 remove freeglut from image 2023-07-19 12:26:54 +02:00
52179245bf remove x11 wayland vulkan from DISTRO_FEATURE 2023-07-19 12:02:09 +02:00
8ba3c635d8 rename qtbase recipe 2023-07-18 19:06:25 +02:00
a7e91fd4d7 fix typo 2023-07-18 16:48:51 +02:00
ce7171b9bd feat: add qt5 support to image 2023-07-18 13:32:06 +02:00
d478023a32 feat: add qt5 support to image 2023-07-18 13:31:02 +02:00
376b42f3ee fix: create DEPLOY_DIR_IMAGE if it doesnot exists 2023-07-18 09:30:34 +02:00
61d37a71f4 disable root password 2023-07-10 19:36:12 +02:00
ea291c2a3a disable root password 2023-07-10 19:29:09 +02:00
a4cb8479ff disable root password 2023-07-10 19:27:12 +02:00
9e75a87fb4 execute conf at priority 4 in runlevel S 2023-07-10 19:11:39 +02:00
3ceeeb7cf1 use overlayfs for /etc 2023-07-10 18:53:46 +02:00
ef288cd22e use overlayfs for /etc 2023-07-10 18:53:23 +02:00
4637985cdd use overlayfs for /etc 2023-07-10 18:15:50 +02:00
c516cb6685 use overlayfs for /etc 2023-07-10 17:59:26 +02:00
3baa2d265c use overlayfs for /etc 2023-07-10 17:47:25 +02:00
a4d1b14a5e use overlayfs for /etc 2023-07-10 16:17:45 +02:00
60e28aa4d9 mount /etc to writable partition 2023-07-10 16:08:11 +02:00
0544fa9554 add patch_rootfs to image process 2023-07-10 15:34:46 +02:00
f52cef66ea add patch_rootfs to image process 2023-07-10 15:28:26 +02:00
32c4bbf756 add patch_rootfs to image process 2023-07-10 15:26:41 +02:00
65b323fc2a add patch_rootfs to image process 2023-07-10 15:24:01 +02:00
f22dde3642 add patch_rootfs to image process 2023-07-10 15:16:38 +02:00
027b99deec move user passwd and group to writable partition 2023-07-10 14:44:33 +02:00
789fa4ff5e move user passwd and group to writable partition 2023-07-10 14:28:10 +02:00
1a0755fed6 update settings 2023-07-10 13:56:54 +02:00
3ed59f46b7 convert dos to unix file 2023-07-10 13:25:48 +02:00
88905fa585 fix partition problem 2023-07-10 13:12:50 +02:00
a942ba09bc fix partition problem 2023-07-10 11:52:59 +02:00
d59c841650 fix partition problem 2023-07-10 11:47:22 +02:00
94d91ed6ee fix partition problem 2023-07-10 11:47:05 +02:00
edf2889417 fix partition problem 2023-07-10 11:42:46 +02:00
aa92ff2454 fix partition problem 2023-07-10 11:38:42 +02:00
02e083d995 fix partition problem 2023-07-10 11:18:35 +02:00
d8f478b895 fix partition problem 2023-07-10 11:01:35 +02:00
3af35df872 add settings to enable readonly fs 2023-07-10 10:46:21 +02:00
5c5016f424 add settings to enable readonly fs 2023-07-10 10:30:30 +02:00
3d6cf9866c add settings to enable readonly fs 2023-07-10 10:27:59 +02:00
37a70525e5 add settings to enable readonly fs 2023-07-10 10:24:57 +02:00
68d24bb496 add settings to enable readonly fs 2023-07-10 10:21:41 +02:00
7aba1f2772 add settings to enable readonly fs 2023-07-10 10:19:19 +02:00
b358e26252 add settings to enable readonly fs 2023-07-10 09:32:40 +02:00
5ab57b8e5d add sudo support 2023-07-09 23:09:37 +02:00
226d43b8cc qdd libudev support to SDL 2 2023-07-09 22:52:18 +02:00
709eabfdc6 add evtest package 2023-07-09 22:03:35 +02:00
4b237be52c update DPI LCD overlay setting 2023-07-09 22:00:04 +02:00
03e95d013c auto load i2cdev module 2023-07-09 19:04:06 +02:00
08ceb934a0 enable ads1115 battery sendor monitoring 2023-07-09 18:38:30 +02:00
e92fce0ace enable ads1115 battery sendor monitoring 2023-07-09 18:31:26 +02:00
2fa8526295 enable ads1115 battery sendor monitoring 2023-07-09 18:31:09 +02:00
d63ce8ee33 fix lcd backlight problem 2023-07-09 18:28:04 +02:00
2f8f6f5542 add raspi-gpio tools 2023-07-09 16:58:19 +02:00
3d990172a2 add raspi-gpio tools 2023-07-09 16:55:16 +02:00
ec4e0e8fce clean up 2023-07-09 16:50:47 +02:00
23b86df861 add raspi-gpio tools 2023-07-09 16:48:02 +02:00
787af3e0ad add raspi-gpio tools 2023-07-09 16:47:38 +02:00
e1189cfc1d correct libsdl2 feature 2023-07-09 15:49:26 +02:00
cd86495b12 correct libsdl2 feature 2023-07-09 15:44:19 +02:00
f4b896b3aa correct libsdl2 feature 2023-07-09 15:23:19 +02:00
2c1ec2ce97 move libsdl2 to correct recipes folder 2023-07-09 14:54:28 +02:00
e30832feea remove alsa from depends list of libsdl 2023-07-09 14:45:38 +02:00
7e38bbf202 disable readonly fs 2023-07-09 14:01:59 +02:00
b31f541a24 enable uart 2023-07-09 12:14:41 +02:00
eb4d22663b update 2023-07-08 22:48:09 +02:00
9180aef180 add overlay for vc4-kms-waveshare-28dpi 2023-07-08 22:38:49 +02:00
1642c8f7d4 add wpa-supplicant support 2023-07-08 21:37:09 +02:00
fbce2e6d9b disable autoload i2c-dev 2023-07-08 21:20:23 +02:00
573dfe83b6 include vc4-kms-dpi-generic.dtbo to overlays 2023-07-08 19:30:27 +02:00
b653af1cf0 include vc4-kms-dpi-generic.dtbo to overlays 2023-07-08 18:00:04 +02:00
400031aef4 include vc4-kms-dpi-generic.dtbo to overlays 2023-07-08 17:47:11 +02:00
d4cf9fec7d include vc4-kms-dpi-generic.dtbo to overlays 2023-07-08 17:23:28 +02:00
171f1c6fa3 include vc4-kms-dpi-generic.dtbo to overlays 2023-07-08 17:13:52 +02:00
3bbf9490ac enable usb + debug 2023-07-08 15:54:05 +02:00
d98a5c440b fix dtbo compile 2023-07-07 22:02:04 +02:00
62886eba57 add missing file 2023-07-07 20:31:14 +02:00
ac3f82a2c1 fix + update 2023-07-07 20:08:48 +02:00
61634f0d43 update conf + add some tool 2023-07-07 15:04:13 +02:00
ff4446c8ae fix file systax 2023-07-07 11:26:20 +02:00
0ee41d5890 build for zero2 64 2023-07-07 11:14:16 +02:00
daefedaef6 switch to yocto 4.2 + update waveshare overlay 2023-07-07 10:48:28 +02:00
fbd95bb8a3 temporarly disable opensmalltalk-cog-vm 2022-08-04 09:41:34 +02:00
fe19194897 Create local.conf.example 2022-08-03 16:52:40 +02:00
c32682774a Create bblayers.conf.example 2022-08-03 16:51:54 +02:00
41 changed files with 1194 additions and 83 deletions

17
bblayers.conf.example Normal file
View File

@ -0,0 +1,17 @@
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/dany/experiments/poky/meta \
/home/dany/experiments/poky/meta-poky \
/home/dany/experiments/poky/meta-yocto-bsp \
/home/dany/experiments/yocto-layers/meta-raspberrypi \
/home/dany/workspace/meta-rpi-diya \
/home/dany/experiments/yocto-layers/meta-openembedded/meta-oe \
/home/dany/experiments/yocto-layers/meta-openembedded/meta-python \
/home/dany/experiments/yocto-layers/meta-openembedded/meta-multimedia \
"

View File

@ -5,21 +5,23 @@ BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-rpi-pharo"
BBFILE_PATTERN_meta-rpi-pharo = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-rpi-pharo = "11"
BBFILE_COLLECTIONS += "meta-rpi-diya"
BBFILE_PATTERN_meta-rpi-diya = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-rpi-diya = "11"
LAYERDEPENDS_meta-rpi-pharo = "core raspberrypi"
LAYERSERIES_COMPAT_meta-rpi-pharo = "honister"
LAYERDEPENDS_meta-rpi-diya = "core raspberrypi"
LAYERSERIES_COMPAT_meta-rpi-diya = "mickledore"
PACKAGE_CLASSES = "package_ipk"
INHERIT += "rm_work"
EXTRA_IMAGE_FEATURES ?= " ssh-server-dropbear read-only-rootfs "
# ssh-server-dropbear
DISTRO_FEATURES:append := " vc4-gfx opengl "
DISTRO_FEATURES:append := " vc4-gfx opengl wayland "
DISTRO_FEATURES:remove = " x11 vulkan "
TOOLCHAIN_TARGET_TASK:append = " libgles3-mesa-dev "
# DISTRO_FEATURES:append := " vc4-gfx opengl directfb "
MACHINE ?= "raspberrypi4-64"
MACHINE ?= "raspberrypi0-2w-64"
WKS_FILE="rpi.wks.in"
ROOT_HOME = "/root"
@ -31,6 +33,8 @@ ROOT_HOME = "/root"
RPI_USE_U_BOOT = "0"
RPI_USE_wS_28_DPI_LCD = "1"
# enable usb boot in uboot
ENABLE_DWC2_PERIPHERAL = "1"
ENABLE_DWC2_HOST = "1"
ENABLE_USB_U_BOOT = "0"
ENABLE_UART = "0"
DISABLE_SPLASH = "1"
@ -40,23 +44,31 @@ ENABLE_SPI_BUS = "0"
ENABLE_I2C = "0"
KERNEL_MODULE_AUTOLOAD:rpi += " i2c-dev "
VC4DTBO = "vc4-kms-v3d,nocomposite,noaudio"
VC4DTBO = "vc4-kms-v3d,noaudio"
KERNEL_DEVICETREE:append = " overlays/vc4-kms-dpi-generic.dtbo "
KERNEL_DEVICETREE:append = " overlays/vc4-kms-dpi-generic.dtbo overlays/dpi24.dtbo "
RPI_EXTRA_CONFIG += "${@['','\n\
dtoverlay=vc4-kms-dpi-generic,hactive=480,hfp=26,hsync=16,hbp=10 \n\
dtoverlay=vc4-kms-dpi-generic \n\
dtparam=hactive=480,hfp=26,hsync=16,hbp=10 \n\
dtparam=vactive=640,vfp=25,vsync=10,vbp=15 \n\
dtparam=clock-frequency=32000000,rgb666-padhi \n\
dtparam=clock-frequency=32000000 \n\
dtparam=hsync-invert,vsync-invert,pixclk-invert \n\
dtparam=rgb666-padhi,rotate=270 \n\
dtoverlay=waveshare-28dpi-3b-4b \n\
dtoverlay=waveshare-28dpi-3b \n\
dtoverlay=waveshare-28dpi-4b \n\
display_rotate=1 #1902: 180 3: 270 \n']['${RPI_USE_wS_28_DPI_LCD}' == '1']}"
dtoverlay=waveshare-28dpi-4b \n']['${RPI_USE_wS_28_DPI_LCD}' == '1']}"
RPI_EXTRA_CONFIG += '\n\
start_x=1 # essential \n\
dtparam=audio=on \n\
gpu_mem=128 # at least, or maybe more if you wish \n\
disable_camera_led=1 # optional \n\
'
# enable ads1115 sensor for battery monitoring \n\
dtoverlay=ads1115-i2c-gpio,cha_enable,cha_cfg=4,cha_datarate=7,cha_gain=1 \n\
#start_x=1 # essential \n\
#gpu_mem=128 # at least, or maybe more if you wish \n\
#disable_camera_led=1 # optional \n\
'
# extra kernel CMDLINE_RNDIS option
# CMDLINE_RNDIS += " video=DPI-1:480x640,rotate=90 "
# accept license for wifi and bluetooth firmware
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"

272
local.conf.example Normal file
View File

@ -0,0 +1,272 @@
#
# This file is your local configuration file and is where all local user settings
# are placed. The comments in this file give some guide to the options a new user
# to the system might want to change but pretty much any configuration option can
# be set in this file. More adventurous users can look at local.conf.extended
# which contains other examples of configuration which can be placed in this file
# but new users likely won't need any of them initially.
#
# Lines starting with the '#' character are commented out and in some cases the
# default values are provided as comments to show people example syntax. Enabling
# the option is a question of removing the # character and making any change to the
# variable as required.
#
# Machine Selection
#
# You need to select a specific machine to target the build with. There are a selection
# of emulated machines available which can boot and run in the QEMU emulator:
#
#MACHINE ?= "qemuarm"
#MACHINE ?= "qemuarm64"
#MACHINE ?= "qemumips"
#MACHINE ?= "qemumips64"
#MACHINE ?= "qemuppc"
#MACHINE ?= "qemux86"
#MACHINE ?= "qemux86-64"
#
# There are also the following hardware board target machines included for
# demonstration purposes:
#
#MACHINE ?= "beaglebone-yocto"
#MACHINE ?= "genericx86"
#MACHINE ?= "genericx86-64"
#MACHINE ?= "edgerouter"
#
# This sets the default machine to be qemux86-64 if no other machine is selected:
#
# Where to place downloads
#
# During a first build the system will download many different source code tarballs
# from various upstream projects. This can take a while, particularly if your network
# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
# can preserve this directory to speed up this part of subsequent builds. This directory
# is safe to share between multiple builds on the same machine too.
#
# The default is a downloads directory under TOPDIR which is the build directory.
#
#DL_DIR ?= "${TOPDIR}/downloads"
#
# Where to place shared-state files
#
# BitBake has the capability to accelerate builds based on previously built output.
# This is done using "shared state" files which can be thought of as cache objects
# and this option determines where those files are placed.
#
# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
# from these files if no changes were made to the configuration. If changes were made
# to the configuration, only shared state files where the state was still valid would
# be used (done using checksums).
#
# The default is a sstate-cache directory under TOPDIR.
#
#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
#
# Where to place the build output
#
# This option specifies where the bulk of the building work should be done and
# where BitBake should place its temporary files and output. Keep in mind that
# this includes the extraction and compilation of many applications and the toolchain
# which can use Gigabytes of hard disk space.
#
# The default is a tmp directory under TOPDIR.
#
#TMPDIR = "${TOPDIR}/tmp"
#
# Default policy config
#
# The distribution setting controls which policy settings are used as defaults.
# The default value is fine for general Yocto project use, at least initially.
# Ultimately when creating custom policy, people will likely end up subclassing
# these defaults.
#
DISTRO ?= "poky"
# As an example of a subclass there is a "bleeding" edge policy configuration
# where many versions are set to the absolute latest code from the upstream
# source control systems. This is just mentioned here as an example, its not
# useful to most new users.
# DISTRO ?= "poky-bleeding"
#
# Package Management configuration
#
# This variable lists which packaging formats to enable. Multiple package backends
# can be enabled at once and the first item listed in the variable will be used
# to generate the root filesystems.
# Options are:
# - 'package_deb' for debian style deb files
# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
# - 'package_rpm' for rpm style packages
# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
# We default to rpm:
#
# SDK target architecture
#
# This variable specifies the architecture to build SDK items for and means
# you can build the SDK packages for architectures other than the machine you are
# running the build on (i.e. building i686 packages on an x86_64 host).
# Supported values are i686, x86_64, aarch64
#SDKMACHINE ?= "i686"
#
# Extra image configuration defaults
#
# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
# images. Some of these options are added to certain image types automatically. The
# variable can contain the following options:
# "dbg-pkgs" - add -dbg packages for all installed packages
# (adds symbol information for debugging/profiling)
# "src-pkgs" - add -src packages for all installed packages
# (adds source code for debugging)
# "dev-pkgs" - add -dev packages for all installed packages
# (useful if you want to develop against libs in the image)
# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
# (useful if you want to run the package test suites)
# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
# "tools-debug" - add debugging tools (gdb, strace)
# "eclipse-debug" - add Eclipse remote debugging support
# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
# "debug-tweaks" - make an image suitable for development
# e.g. ssh root access has a blank password
# There are other application targets that can be used here too, see
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
# We default to enabling the debugging tweaks.
#
# Additional image features
#
# The following is a list of additional classes to use when building images which
# enable extra features. Some available options which can be included in this variable
# are:
# - 'buildstats' collect build statistics
USER_CLASSES ?= "buildstats"
#
# Runtime testing of images
#
# The build system can test booting virtual machine images under qemu (an emulator)
# after any root filesystems are created and run tests against those images. It can also
# run tests against any SDK that are built. To enable this uncomment these lines.
# See classes/test{image,sdk}.bbclass for further details.
#IMAGE_CLASSES += "testimage testsdk"
#TESTIMAGE_AUTO:qemuall = "1"
#
# Interactive shell configuration
#
# Under certain circumstances the system may need input from you and to do this it
# can launch an interactive shell. It needs to do this since the build is
# multithreaded and needs to be able to handle the case where more than one parallel
# process may require the user's attention. The default is iterate over the available
# terminal types to find one that works.
#
# Examples of the occasions this may happen are when resolving patches which cannot
# be applied, to use the devshell or the kernel menuconfig
#
# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
# Note: currently, Konsole support only works for KDE 3.x due to the way
# newer Konsole versions behave
#OE_TERMINAL = "auto"
# By default disable interactive patch resolution (tasks will just fail instead):
PATCHRESOLVE = "noop"
#
# Disk Space Monitoring during the build
#
# Monitor the disk space during the build. If there is less that 1GB of space or less
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort
# of the build. The reason for this is that running completely out of space can corrupt
# files and damages the build in ways which may not be easily recoverable.
# It's necessary to monitor /tmp, if there is no space left the build will fail
# with very exotic errors.
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
#
# Shared-state files from other locations
#
# As mentioned above, shared state files are prebuilt cache data objects which can be
# used to accelerate build time. This variable can be used to configure the system
# to search other mirror locations for these objects before it builds the data itself.
#
# This can be a filesystem directory, or a remote url such as http or ftp. These
# would contain the sstate-cache results from previous builds (possibly from other
# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
# cache locations to check for the shared objects.
# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
# at the end as shown in the examples below. This will be substituted with the
# correct path within the directory structure.
#SSTATE_MIRRORS ?= "\
#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
#file://.* file:///some/local/dir/sstate/PATH"
#
# Yocto Project SState Mirror
#
# The Yocto Project has prebuilt artefacts available for its releases, you can enable
# use of these by uncommenting the following lines. This will mean the build uses
# the network to check for artefacts at the start of builds, which does slow it down
# equally, it will also speed up the builds by not having to build things if they are
# present in the cache. It assumes you can download something faster than you can build it
# which will depend on your network.
# Note: For this to work you also need hash-equivalence passthrough to the matching server
#
#BB_HASHSERVE_UPSTREAM = "typhoon.yocto.io:8687"
#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/3.4/PATH;downloadfilename=PATH"
#
# Qemu configuration
#
# By default native qemu will build with a builtin VNC server where graphical output can be
# seen. The line below enables the SDL UI frontend too.
PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
#ASSUME_PROVIDED += "libsdl2-native"
# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds
# a handy set of menus for controlling the emulator.
#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"
#
# Hash Equivalence
#
# Enable support for automatically running a local hash equivalence server and
# instruct bitbake to use a hash equivalence aware signature generator. Hash
# equivalence improves reuse of sstate by detecting when a given sstate
# artifact can be reused as equivalent, even if the current task hash doesn't
# match the one that generated the artifact.
#
# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format
#
#BB_HASHSERVE = "auto"
#BB_SIGNATURE_HANDLER = "OEEquivHash"
#
# Memory Resident Bitbake
#
# Bitbake's server component can stay in memory after the UI for the current command
# has completed. This means subsequent commands can run faster since there is no need
# for bitbake to reload cache files and so on. Number is in seconds, after which the
# server will shut down.
#
#BB_SERVER_TIMEOUT = "60"
# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
# track the version of this file when it was generated. This can safely be ignored if
# this doesn't mean anything to you.
CONF_VERSION = "2"

View File

@ -0,0 +1,103 @@
/*
* TI ADS1115 multi-channel ADC overlay
*/
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2835";
fragment@0 {
target = <&i2c_gpio>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ads1115: ads1115@48 {
compatible = "ti,ads1115";
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x48>;
};
};
};
fragment@1 {
target = <&ads1115>;
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
channel_a: channel_a {
reg = <4>;
ti,gain = <1>;
ti,datarate = <7>;
};
};
};
fragment@2 {
target = <&ads1115>;
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
channel_b: channel_b {
reg = <5>;
ti,gain = <1>;
ti,datarate = <7>;
};
};
};
fragment@3 {
target = <&ads1115>;
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
channel_c: channel_c {
reg = <6>;
ti,gain = <1>;
ti,datarate = <7>;
};
};
};
fragment@4 {
target = <&ads1115>;
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
channel_d: channel_d {
reg = <7>;
ti,gain = <1>;
ti,datarate = <7>;
};
};
};
__overrides__ {
addr = <&ads1115>,"reg:0";
cha_enable = <0>,"=1";
cha_cfg = <&channel_a>,"reg:0";
cha_gain = <&channel_a>,"ti,gain:0";
cha_datarate = <&channel_a>,"ti,datarate:0";
chb_enable = <0>,"=2";
chb_cfg = <&channel_b>,"reg:0";
chb_gain = <&channel_b>,"ti,gain:0";
chb_datarate = <&channel_b>,"ti,datarate:0";
chc_enable = <0>,"=3";
chc_cfg = <&channel_c>,"reg:0";
chc_gain = <&channel_c>,"ti,gain:0";
chc_datarate = <&channel_c>,"ti,datarate:0";
chd_enable = <0>,"=4";
chd_cfg = <&channel_d>,"reg:0";
chd_gain = <&channel_d>,"ti,gain:0";
chd_datarate = <&channel_d>,"ti,datarate:0";
};
};

View File

@ -0,0 +1,101 @@
/*
* vc4-kms-waveshare-28dpi-overlay.dts
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/bcm2835.h>
/ {
compatible = "brcm,bcm2835";
fragment@0 {
target = <&gpio>;
__overlay__ {
pwm_pins: pwm_pins {
brcm,pins = <18>;
brcm,function = <BCM2835_FSEL_ALT5>;
brcm,pull = <0>;
};
};
};
fragment@1 {
target = <&pwm>;
frag1: __overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&pwm_pins>;
assigned-clock-rates = <100000000>;
status = "okay";
};
};
fragment@2 {
target-path = "/";
__overlay__ {
//#gpio-cells = <2>;
/* Panel backlight through PWM0_0 on GPIO18 */
backlight_lvds: backlight {
compatible = "pwm-backlight";
pwms = <&pwm 0 10000000>;
brightness-levels = <0 1000>;
num-interpolated-steps = <1000>;
default-brightness-level = <1000>;
};
panel: panel {
reg = <0>;
compatible = "panel-dpi";
backlight = <&backlight_lvds>;
width-mm = <154>;
height-mm = <86>;
bus-format = <0x1015>;
timing: panel-timing {
clock-frequency = <28000000>;
hactive = <480>;
hfront-porch = <26>;
hsync-len = <16>;
hback-porch = <10>;
hsync-active = <0>;
vactive = <640>;
vfront-porch = <25>;
vsync-len = <10>;
vback-porch = <16>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
port {
panel_in: endpoint {
remote-endpoint = <&dpi_out>;
};
};
};
};
};
fragment@3 {
target = <&dpi>;
dpi_node: __overlay__ {
status = "okay";
pinctrl-names = "default";
/* refer to /home/pi/linux/arch/arm/boot/dts/bcm270x.dtsi
* for the pin multiplex setting
*/
pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>;
port {
dpi_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
};
};

View File

@ -2,13 +2,25 @@ SUMMARY = "Waveshare 2.8 inch DPI"
DESCRIPTION = "support overlay layer for Waveshare 2.8 inch DPI"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit devicetree
do_deploy () {
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI = " file://dts/ads1115-i2c-gpio.dts "
S = "${WORKDIR}/dts"
DT_FILES = "ads1115-i2c-gpio.dtbo"
COMPATIBLE_MACHINE = "raspberrypi.*"
do_deploy:append () {
install -d ${DEPLOY_DIR_IMAGE}
# install -m 0755 ${B}/vc4-kms-waveshare-28dpi.dtbo ${DEPLOY_DIR_IMAGE}/vc4-kms-waveshare-28dpi.dtbo
install -m 0755 ${B}/ads1115-i2c-gpio.dtbo ${DEPLOY_DIR_IMAGE}/ads1115-i2c-gpio.dtbo
install -m 0755 ${THISDIR}/files/vc4-kms-DPI-28inch.dtbo ${DEPLOY_DIR_IMAGE}/vc4-kms-DPI-28inch.dtbo
install -m 0755 ${THISDIR}/files/waveshare-28dpi-3b-4b.dtbo ${DEPLOY_DIR_IMAGE}/waveshare-28dpi-3b-4b.dtbo
install -m 0755 ${THISDIR}/files/waveshare-28dpi-3b.dtbo ${DEPLOY_DIR_IMAGE}/waveshare-28dpi-3b.dtbo
install -m 0755 ${THISDIR}/files/waveshare-28dpi-4b.dtbo ${DEPLOY_DIR_IMAGE}/waveshare-28dpi-4b.dtbo
# install -m 0755 ${THISDIR}/files/start.mp3 ${DEPLOY_DIR_IMAGE}/start.mp3
}
addtask deploy
# addtask deploy

View File

@ -1 +1,14 @@
hostname = "diya"
hostname = "diya"
do_install:append () {
cat << 'EOF' >> "${D}${sysconfdir}/profile"
# QT related setting
export GDK_BACKEND=wayland
export XDG_RUNTIME_DIR=/home/$USER/.xdg
export PATH=$PATH:/home/$USER/bin
if [ ! -e "$XDG_RUNTIME_DIR" ]; then
mkdir -p "$XDG_RUNTIME_DIR"
fi
export TERM=xterm-256color
EOF
}

View File

@ -1,2 +1,2 @@
DROPBEAR_EXTRA_ARGS="-w"
DROPBEAR_RSAKEY_DIR=/home/diya/etc/dropbear
DROPBEAR_RSAKEY_DIR=/etc/dropbear

View File

@ -9,10 +9,18 @@ pulseaudio-module-cli \
pulseaudio-module-echo-cancel \
pulseaudio-misc \
i2c-tools \
mpg123
libsdl2-mixer \
#tslib
#tslib-tests
#tslib-calibrate
#tslib-uinput
libsdl2 \
libsdl2-ttf \
libsdl2-image \
libsdl2-mixer \
libsdl2-net \
# v4l-utils
evtest

View File

@ -1,41 +1,56 @@
inherit extrausers
KERNEL_DEVICETREE:append = "${@bb.utils.contains('RPI_USE_wS_28_DPI_LCD', '1', ' overlays/waveshare-28dpi-3b-4b.dtbo overlays/waveshare-28dpi-3b.dtbo overlays/waveshare-28dpi-4b.dtbo ', ' ', d)}"
KERNEL_DEVICETREE:append = "${@bb.utils.contains('RPI_USE_wS_28_DPI_LCD', '1', ' overlays/dpi24.dtbo overlays/vc4-kms-dpi-generic.dtbo overlays/ads1115-i2c-gpio.dtbo overlays/ads1115-i2c-gpio.dtbo overlays/vc4-kms-DPI-28inch.dtbo overlays/waveshare-28dpi-3b-4b.dtbo overlays/waveshare-28dpi-3b.dtbo overlays/waveshare-28dpi-4b.dtbo ', ' ', d)}"
EXTRA_USERS_PARAMS = "usermod -p BJpK8ADNDLsGg root; \
usermod -p 2Pe/4xyFxsokE diya; \
# usermod -p BJpK8ADNDLsGg root;
EXTRA_USERS_PARAMS = "usermod -p 2Pe/4xyFxsokE diya; \
usermod -a -G video diya; \
usermod -a -G tty diya; \
usermod -a -G input diya; \
usermod -a -G dialout diya; \
usermod -a -G audio diya; \
usermod -a -G avahi diya \
usermod -a -G avahi diya; \
usermod -a -G sudo diya \
"
IMAGE_BOOT_FILES:append = "fs_resize"
# KERNEL_DEVICETREE:append = "${@bb.utils.contains('RPI_USE_wS_28_DPI_LCD', '1', ' overlays/vc4-kms-dpi-generic.dtbo overlays/waveshare-28dpi-3b-4b.dtbo overlays/waveshare-28dpi-3b.dtbo overlays/waveshare-28dpi-4b.dtbo ', ' ', d)}"
IMAGE_INSTALL:append = "mpg123 \
libcurl \
IMAGE_INSTALL:append = "libcurl \
libdrm \
libgbm \
libgles2 \
libegl-mesa \
libgl-mesa \
libglapi \
libudev \
libinput \
pango \
libxkbcommon \
xkeyboard-config \
seatd \
pixman \
cairo \
glib-2.0 \
udev \
glew \
freetype \
freeglut \
fontconfig \
gdk-pixbuf \
gtk-layer-shell \
mesa \
libsdl2 \
libsdl2-ttf \
libsdl2-image \
libsdl2-mixer \
libsdl2-net \
example \
sudo \
htop \
waveshare-2.8-lcd \
realtekfw \
diya-overlay \
opensmalltalk-cog-vm \
"
i2c-tools \
bash \
nano \
wpa-supplicant \
evtest \
raspi-gpio \
rsync \
coreutils \
wayland wayland-protocols \
labwc foot swaybg swayidle swaylock wlr-randr wlopm sfwbar \
gdbserver \
"

View File

@ -0,0 +1,24 @@
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
auto lo
iface lo inet loopback
# Wireless interfaces
auto wlan0
iface wlan0 inet dhcp
# wireless_mode managed
# wireless_essid any
# wpa-driver wext
wpa-conf /etc/network/wpa_supplicant.conf
# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
iface usb0 inet static
address 192.168.7.2
netmask 255.255.255.0
network 192.168.7.0
gateway 192.168.7.1
# Bluetooth networking
# iface bnep0 inet dhcp

View File

@ -1,3 +1,7 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI += " file://itf_diya "
do_install:append () {
rm ${D}/etc/network/interfaces
install -m 0644 ${WORKDIR}/itf_diya ${D}/etc/network/interfaces
}

View File

@ -17,15 +17,19 @@ GROUPADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "-u 1000 -d /home/diya -r -s /bin/sh diya"
INITSCRIPT_NAME = "confd"
INITSCRIPT_PARAMS = "start 80 S ."
INITSCRIPT_PARAMS = "start 30 S ."
do_install() {
install -d ${D}/${sysconfdir}/init.d/
install -d ${DEPLOY_DIR_IMAGE}
install -m 0755 ${WORKDIR}/confd ${D}/${sysconfdir}/init.d/confd
install -d ${D}/usr/bin/
install -d ${D}/etc/default/volatiles
install -m 0644 ${WORKDIR}/80_diya ${D}${sysconfdir}/default/volatiles
# install -m 0644 ${WORKDIR}/80_diya ${D}${sysconfdir}/default/volatiles
install -m 0755 ${WORKDIR}/expandfs.sh ${D}/usr/bin/expandfs.sh
install -m 0755 ${WORKDIR}/fs_resize ${DEPLOY_DIR_IMAGE}/
}
install -d ${D}/var/etc
install -d ${D}/var/etc/upper
install -d ${D}/var/etc/work
}

View File

@ -1,2 +1,3 @@
l root root 0644 /etc/network/interfaces /home/diya/etc/network/interfaces
l root root 0644 /etc/dropbear /home/diya/etc/dropbear
# d root root 0755 /var/etc/upper none
# d root root 0755 /var/etc/work none
# l root root 0644 /etc/dropbear /var/etc/dropbear

View File

@ -6,6 +6,12 @@ DESC="Auto deployment configuration from media"
case "$1" in
start)
echo -n "Start $DESC: "
# mount the overlay which is not auto mount by fstab
# this make /etc editable
mount -t overlay -o lowerdir=/etc,upperdir=/var/etc/upper,workdir=/var/etc/work overlay /etc
# for some reason the LCD backlight is turned off
# need to turn it on manually
echo 0 > /sys/class/backlight/backlight/bl_power
if [ -f "/boot/fs_resize" ]; then
/usr/bin/expandfs.sh
touch /boot/home_partition_should_be_formated
@ -14,23 +20,20 @@ case "$1" in
fi
if [ -f "/boot/home_partition_should_be_formated" ]; then
echo "Trying to format the home partition"
umount /dev/mmcblk0p3
yes | mkfs.ext4 /dev/mmcblk0p3
mount /dev/mmcblk0p3 /home
mkdir -p /home/diya/etc/network
mkdir -p /home/diya/etc/dropbear
umount /dev/mmcblk0p4
yes | mkfs.ext4 /dev/mmcblk0p4
mount /dev/mmcblk0p4 /home
mkdir -p /home/diya
chown -R diya:diya /home/diya
rm /boot/home_partition_should_be_formated
fi
if [ -e "/boot/install" ];then
cp -rf /boot/install/* /home/diya
rm -rf /boot/install
if [ -e "/boot/wpa_supplicant.conf" ];then
mv /boot/wpa_supplicant.conf /etc/network/
reboot
fi
# display information
# disable wifi power save
/usr/sbin/iw wlan0 set power_save off
/sbin/ip a
;;
*)
N=/etc/init.d/$NAME

View File

@ -1,6 +1,6 @@
#! /bin/sh
line=$(
sed -e 's/\s*\([\+0-9a-zA-Z]*\).*/\1/' << EOF | fdisk /dev/mmcblk0 | grep /dev/mmcblk0p3
sed -e 's/\s*\([\+0-9a-zA-Z]*\).*/\1/' << EOF | fdisk /dev/mmcblk0 | grep /dev/mmcblk0p4
p
q
EOF
@ -18,11 +18,11 @@ fi
echo "Expanding the partition"
sed -e 's/\s*\([\+0-9a-zA-Z]*\).*/\1/' << EOF | fdisk /dev/mmcblk0
d
3
d # delete partition
4 # number 4
n # new partition
p # primary partition
3 # partition number 3
4 # partition number 4
$start_sector
# default - end of disk
p # print the in-memory partition table

View File

@ -3,24 +3,22 @@ DESCRIPTION = "Recipe created by bitbake-layers"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
DEPENDS += "libsdl2"
inherit pkgconfig
DEPENDS += " libsdl2 mesa virtual/libgles2 virtual/libgl "
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI = "file://sdl_test.cpp file://sdlgl.c file://sdlglshader.c"
TARGET_CC_ARCH += "${LDFLAGS}"
do_compile() {
${CXX} ${WORKDIR}/sdl_test.cpp `pkg-config --cflags --libs sdl2` -o ${WORKDIR}/sdl_test
${CC} ${WORKDIR}/sdlgl.c `pkg-config --cflags --libs sdl2` -lGL -o ${WORKDIR}/sdlgl
${CC} ${WORKDIR}/sdlglshader.c `pkg-config --cflags --libs sdl2` -lGL -o ${WORKDIR}/sdlglshader
# ${CC} ${WORKDIR}/sdlgl.c `pkg-config --cflags --libs sdl2` -lGLESv2 -o ${WORKDIR}/sdlgl
${CC} ${WORKDIR}/sdlglshader.c `pkg-config --cflags --libs sdl2` -lGLESv2 -o ${WORKDIR}/sdlglshader
}
do_install() {
install -d ${D}/usr/bin
install -m 0755 ${WORKDIR}/sdl_test ${D}/usr/bin
install -m 0755 ${WORKDIR}/sdlgl ${D}/usr/bin
# install -m 0755 ${WORKDIR}/sdlgl ${D}/usr/bin
install -m 0755 ${WORKDIR}/sdlglshader ${D}/usr/bin
# for manual copy test applications on target from tmp dir
install -m 0755 ${WORKDIR}/sdl_test /tmp
install -m 0755 ${WORKDIR}/sdlgl /tmp
install -m 0755 ${WORKDIR}/sdlglshader /tmp
}

View File

@ -84,10 +84,10 @@ int main( int argc, char** argv )
running = false;
break;
case SDL_KEYDOWN:
if(ev.key.keysym.sym == SDLK_ESCAPE)
{
running = false;
}
//if(ev.key.keysym.sym == SDLK_ESCAPE)
//{
running = false;
//}
break;
case SDL_FINGERDOWN:
case SDL_FINGERMOTION:

View File

@ -8,7 +8,7 @@
#include <assert.h>
#include <SDL2/SDL.h>
#include <SDL2/SDL_opengl.h>
#include <GL/gl.h>
#include <GLES/gl.h>
typedef int32_t i32;
typedef uint32_t u32;

View File

@ -8,7 +8,7 @@
#include <assert.h>
#include <SDL2/SDL.h>
#include <SDL2/SDL_opengl.h>
#include <GL/gl.h>
#include <GLES/gl.h>
typedef int32_t i32;
typedef uint32_t u32;
@ -120,7 +120,7 @@ int main(int ArgCount, char **Args)
printf("Vertex Array ID %d\n", VertexArrayID);
// Create and compile our GLSL program from the shaders
GLuint programID = load_shader();
GLfloat tmp_buffer[9];
// GLfloat tmp_buffer[9];
static const GLfloat g_vertex_buffer_data[] = {
-1.0f,
-1.0f,
@ -138,9 +138,10 @@ int main(int ArgCount, char **Args)
glGenBuffers(1, &vertexbuffer);
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(g_vertex_buffer_data), g_vertex_buffer_data, GL_STATIC_DRAW);
printf("Buffer ID %d of size: %d\n", vertexbuffer, sizeof(tmp_buffer));
// printf("Buffer ID %d of size: %d\n", vertexbuffer, sizeof(tmp_buffer));
// read back buffer data
memset(tmp_buffer, 0, sizeof(tmp_buffer));
// memset(tmp_buffer, 0, sizeof(tmp_buffer));
/*
glGetBufferSubData(GL_ARRAY_BUFFER, 0,sizeof(tmp_buffer), tmp_buffer );
printf("Read back buffer data: \n");
@ -148,6 +149,7 @@ int main(int ArgCount, char **Args)
{
printf("%d: %.2f\n", i, tmp_buffer[i]);
}
*/
glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &currid);
printf("current id: %d\n",currid);
while (Running)

View File

@ -0,0 +1,9 @@
do_install:append() {
# grant all permission to sudo group
sed -i 's/^#\s*\(%sudo\s*ALL=(ALL:ALL)\s*ALL\)/\1/' ${D}/${sysconfdir}/sudoers
# allow sudo group to power off/reboot system without password
cat << EOF >> ${D}/${sysconfdir}/sudoers
## sudo user group is allowed to execute halt and reboot
%sudo ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff, /usr/bin/swaylock
EOF
}

View File

@ -0,0 +1,4 @@
DEPENS += " mesa libdrm alsa virtual/libgbm virtual/libgles2 virtual/libgl udev libudev "
PACKAGECONFIG = " kmsdrm opengl gles2 alsa libusb "
# PACKAGECONFIG:remove = "x11 wayland"

View File

@ -0,0 +1,7 @@
# change default weston user to diya
do_install:append() {
if [ -e ${D}/${sysconfdir}/init.d/weston ]; then
sed -i 's#WESTON_USER=weston#WESTON_USER=diya WESTON_GROUP=weston#' ${D}/${sysconfdir}/init.d/weston
fi
}

View File

@ -1 +1,2 @@
CONFIG_TOUCHSCREEN_GOODIX=m
CONFIG_OVERLAY_FS=y

View File

@ -2,5 +2,5 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
# inherit kernel
SRC_URI += " \
file://goodix.cfg \
file://diya.cfg \
"

View File

@ -1,5 +0,0 @@
DEPENS += " mesa libdrm virtual/libgbm alsa virtual/libgles2 "
EXTRA_OECONF:append=" --disable-video-x11 \
--disable-video-wayland \
--enable-video-kmsdrm \
--enable-video-opengles"

View File

@ -0,0 +1,217 @@
Set Term = "foot"
# Task Switcher
switcher {
interval = 700
icons = true
labels = false
cols = 5
}
function("SfwbarInit") {
SetBarId "bar-0"
SetLayer "top"
}
function("ToggleMinimize") {
[!Minimized] Minimize
[Minimized] UnMinimize
}
function("ToggleMaximize") {
[!Maximized] Maximize
[Maximized] UnMaximize
}
menu("winops") {
item("focus", Focus );
item("close", Close );
item("(un)minimize", Function "ToggleMinimize" );
item("(un)maximize", Function "ToggleMaximize" );
}
# Panel layout
layout {
button {
style = "launcher"
value = $Term
action = Exec $Term
}
taskbar {
rows = 1
css = "* { -GtkWidget-hexpand: false; }" # stretch horizontally
icons = true
labels = true
action[3] = Menu "winops"
action[2] = Close
}
tray {
rows = 1
}
}
#CSS
button#launcher, button#module{
padding: 0px 5px 0px 5px;
background: none;
border-style:none;
box-shadow: none;
}
window {
-GtkWidget-direction: bottom;
background-color: rgba(0,0,0,0.6);
border-color: rgba(0,0,0,0.3);
}
#hidden {
-GtkWidget-visible: false;
}
button#taskbar_normal grid {
-GtkWidget-hexpand: false;
padding-right: 0px;
margin-right: 0px;
}
button#taskbar_normal image, button#taskbar_active image, button#taskbar_normal:hover image {
-GtkWidget-vexpand: true;
box-shadow: none;
border: none;
border-image: none;
background-image: none;
background: none;
min-width: 24px;
min-height: 24px;
-gtk-icon-shadow: none;
}
button#taskbar_normal label, button#taskbar_active label, button#taskbar_normal:hover label {
-GtkWidget-vexpand: true;
-GtkWidget-hexpand: false;
padding-left: 0.75mm;
padding-top: 0px;
padding-bottom: 0px;
font: 0.3cm Sans;
}
button#taskbar_normal , button#taskbar_active , button#taskbar_normal:hover {
padding-left: 0.75mm;
padding-top: 0.5mm;
padding-bottom: 0.5mm;
background-image: none;
border-radius: 4px;
border-image: none;
-GtkWidget-hexpand: false;
-GtkWidget-vexpand: true;
background-color: rgba(119,119,119,0.2);
border-color: rgba(119,119,119,0.3);
box-shadow: none;
}
button#taskbar_active {
background-color: rgba(255,255,255,0.2);
border-color: rgba(255,255,255,0.4);
}
button#taskbar_normal:hover , button#taskbar_active:hover {
background-color: rgba(176,176,176,0.22);
border-color: rgba(234,234,234,0.44);
}
grid#switcher_active image,
grid#switcher_active {
min-width: 1.25cm;
min-height: 1.25cm;
border-image: none;
padding: 1.25mm;
background-color: #777777;
border: 0px;
box-shadow: none;
border-radius: 1.25mm;
-GtkWidget-hexpand: true;
}
grid#switcher_normal image,
grid#switcher_normal {
min-width: 1.25cm;
min-height: 1.25cm;
border-image: none;
padding: 1.25mm;
-GtkWidget-direction: right;
-GtkWidget-hexpand: true;
}
window#switcher {
border-style: solid;
border-width: 0.25mm;
border-color: #000000;
border-radius: 1.25mm;
padding: 1.25mm;
-GtkWidget-hexpand: true;
}
grid#switcher {
border-radius: 1.25mm;
padding: 1.25mm;
background-color: rgba(0,0,0,0.8);
border-color: rgba(119,119,119,0.8);
box-shadow: none;
-GtkWidget-hexpand: true;
}
button#tray_active,
button#tray_passive,
button#tray_attention {
background-image: none;
border: 0px;
padding: 0px 1px;
margin: 0px;
border-image: none;
border-radius: 0px;
outline-style: none;
box-shadow: none;
-GtkWidget-hexpand: true;
-GtkWidget-vexpand: true;
}
button#tray_active image,
button#tray_passive image,
button#tray_attention image {
min-width: 26px;
}
grid#layout {
padding: 0.25mm;
-GtkWidget-direction: right;
min-height: 30px;
}
menu {
background-color: rgba(0,0,0,0.8);
border-color: rgba(119,119,119,0.3);
box-shadow: none;
}
menuitem {
color: #ffffff;
}
menu image {
min-width: 24px;
min-height: 24px;
padding-right: 5px;
}
label {
font: 0.27cm Sans;
color: #ffffff;
text-shadow: none;
}
* {
-GtkWidget-vexpand: true;
}

View File

@ -0,0 +1,26 @@
DESCRIPTION = "sfwbar pannel for wayland"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-3.0-only;md5=c79ff39f19dfec6d293b95dea7b07891"
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
DEPENDS = "gtk+3 gtk-layer-shell json-c wayland-native"
SRCREV = "${AUTOREV}"
SRC_URI = "git://github.com/LBCrion/sfwbar.git;protocol=https;branch=main"
SRC_URI += " file://sfwbar.config "
S="${WORKDIR}/git"
inherit meson pkgconfig
EXTRA_OEMESON += "--buildtype release"
do_install:append () {
install -d ${D}/${sysconfdir}/sfwbar/
install -m 0755 ${WORKDIR}/sfwbar.config ${D}/${sysconfdir}/sfwbar/
}
FILES:${PN} += "/usr/share/icons/*"

View File

@ -0,0 +1 @@
PACKAGECONFIG:remove = " systemd sysvinit man-pages "

View File

@ -0,0 +1 @@
PACKAGECONFIG:remove = " man-pages pam "

View File

@ -0,0 +1,23 @@
DESCRIPTION = "wlopm"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-3.0-only;md5=c79ff39f19dfec6d293b95dea7b07891"
DEPENDS = "wayland wayland-native wayland-protocols"
SRCREV = "${AUTOREV}"
SRC_URI = "git://git.iohub.dev/dany/wlopm.git;protocol=https;branch=master"
S="${WORKDIR}/git"
do_compile () {
oe_runmake
}
do_install() {
oe_runmake install DESTDIR='${D}'
}
FILES:${PN} += "/usr/local/*"

View File

@ -0,0 +1,38 @@
# Example autostart file
# Set background color
swaybg -i /etc/labwc/wpp.jpg >/dev/null 2>&1 &
wlr-randr --output DPI-1 --transform 90
# Configure output directives such as mode, position, scale and transform.
# Use wlr-randr to get your output names
# Example ~/.config/kanshi/config below:
# profile {
# output HDMI-A-1 position 1366,0
# output eDP-1 position 0,0
# }
# kanshi >/dev/null 2>&1 &
# Launch a panel such as yambar or waybar.
# waybar >/dev/null 2>&1 &
# Enable notifications. Typically GNOME/KDE application notifications go
# through the org.freedesktop.Notifications D-Bus API and require a client such
# as mako to function correctly. Thunderbird is an example of this.
# mako >/dev/null 2>&1 &
# Lock screen after 1 minute; turn off display after another 5 minutes.
#
# Note that in the context of idle system power management, it is *NOT* a good
# idea to turn off displays by 'disabling outputs' for example by
# `wlr-randr --output <whatever> --off` because this re-arranges views
# (since a837fef). Instead use a wlr-output-power-management client such as
# https://git.sr.ht/~leon_plickat/wlopm
swayidle -w timeout 60 'wlopm --off DPI-1' resume 'wlopm --on DPI-1' &
SFWBAR_CNF="/etc/sfwbar/sfwbar.config"
if [ -e "$HOME/.config/sfwbar/sfwbar.config" ]; then
SFWBAR_CNF="$HOME/.config/sfwbar/sfwbar.config"
fi
sfwbar -f "$SFWBAR_CNF"

View File

@ -0,0 +1,28 @@
# Example environment file
# This allows xdg-desktop-portal-wlr to function (e.g. for screen-recording)
XDG_CURRENT_DESKTOP=wlroots
# Set keyboard layout to Swedish
# XKB_DEFAULT_LAYOUT=se
# Set two keyboard layouts and toggle between them using alt+shift
# XKB_DEFAULT_LAYOUT=se,de
XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle
# Force firefox to use wayland backend
# MOZ_ENABLE_WAYLAND=1
# Set cursor theme.
# Find icons themes with the command below or similar:
# find /usr/share/icons/ -type d -name "cursors"
XCURSOR_THEME=breeze_cursors
# Disable hardware cursors. Most users wouldn't want to do this, but if you
# are experiencing issues with disappearing cursors, this might fix it.
# WLR_NO_HARDWARE_CURSORS=1
# For Java applications such as JetBrains/Intellij Idea, set this variable
# to avoid menus with incorrect offset and blank windows
# See https://github.com/swaywm/sway/issues/595
# _JAVA_AWT_WM_NONREPARENTING=1

View File

@ -0,0 +1,53 @@
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: labwc
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
LABWC_USER=diya
LABWC_CONFDIR="/etc/labwc"
if test -e "/home/$LABWC_USER/.config/labwc" ; then
LABWC_CONFDIR="/home/$LABWC_USER/.config/labwc"
fi
killproc() {
pid=`/bin/pidof $1`
[ "$pid" != "" ] && kill $pid
}
read CMDLINE < /proc/cmdline
for x in $CMDLINE; do
case $x in
labwc=false)
echo "labwc disabled"
exit 0;
;;
esac
done
case "$1" in
start)
. /etc/profile
su - $LABWC_USER -c "labwc -C $LABWC_CONFDIR" &
;;
stop)
echo "Stopping Weston"
killproc labwc
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 { start | stop | restart }"
;;
esac
exit 0

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<openbox_menu>
<menu id="client-menu">
<item label="Minimize">
<action name="Iconify" />
</item>
<item label="Maximize">
<action name="ToggleMaximize" />
</item>
<item label="Fullscreen">
<action name="ToggleFullscreen" />
</item>
<item label="AlwaysOnTop">
<action name="ToggleAlwaysOnTop" />
</item>
</menu>
<menu id="root-menu">
<item label="Terminal">
<action name="Execute" command="foot -t xterm-256color" />
</item>
<item label="Reconfigure">
<action name="Reconfigure" />
</item>
<item label="Exit">
<action name="Exit" />
</item>
<item label="Poweroff">
<action name="Execute" command="sudo /sbin/halt" />
</item>
</menu>
<menu id="some-custom-menu">
<item label="Reconfigure">
<action name="Reconfigure" />
</item>
<item label="Exit">
<action name="Exit" />
</item>
</menu>
</openbox_menu>

View File

@ -0,0 +1,45 @@
<?xml version="1.0"?>
<!--
This is a very simple config file with many options missing. For a complete
set of options with comments, see docs/rc.xml.all
-->
<labwc_config>
<core>
<gap>10</gap>
</core>
<theme>
<name></name>
<cornerRadius>8</cornerRadius>
<font name="sans" size="10" />
</theme>
<keyboard>
<default />
<!-- Use a different terminal emulator -->
<keybind key="W-Return">
<action name="Execute" command="foot" />
</keybind>
<!--
Remove a previously defined keybind
A shorter alternative is <keybind key="W-F4" />
-->
<keybind key="W-F4">
<action name="None" />
</keybind>
</keyboard>
<mouse>
<default />
<!-- Show a custom menu on desktop right click -->
<context name="Root">
<mousebind button="Right" action="Press">
<action name="ShowMenu" menu="some-custom-menu" />
</mousebind>
</context>
</mouse>
</labwc_config>

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

View File

@ -0,0 +1,25 @@
PACKAGECONFIG:remove = " man-pages xwayland "
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI += " file://init \
file://autostart \
file://environment \
file://menu.xml \
file://rc.xml \
file://wpp.jpg \
"
do_install:append () {
install -d ${D}/${sysconfdir}/init.d
install -d ${D}/${sysconfdir}/labwc
install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/labwc
install -m 0755 ${WORKDIR}/autostart ${D}/${sysconfdir}/labwc/
install -m 0755 ${WORKDIR}/environment ${D}/${sysconfdir}/labwc/
install -m 0755 ${WORKDIR}/menu.xml ${D}/${sysconfdir}/labwc/
install -m 0755 ${WORKDIR}/rc.xml ${D}/${sysconfdir}/labwc/
install -m 0755 ${WORKDIR}/wpp.jpg ${D}/${sysconfdir}/labwc/
}
inherit update-rc.d
INITSCRIPT_NAME = "labwc"
INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."

View File

@ -0,0 +1,2 @@
PACKAGECONFIG += " opengl gbm libinput "
PACKAGECONFIG:remove = " sysvinit systemd x11 xwayland "

View File

@ -2,7 +2,11 @@
# long-description: Creates a partitioned SD card image for use with
# Raspberry Pi. Boot files are located in the first vfat partition.
part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4096 --size 50
part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4096 --size 150
part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4096 --size 32
# read only roofs
part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4096 --size 150 --exclude-path home/ var/etc/
# modifiable configurations stored in /var/etc
part /var/etc --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/var/etc --ondisk mmcblk0 --fstype=ext4 --label diya --align 1024 --size 32
# home partition
part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --ondisk mmcblk0 --fstype=ext4 --label home --align 1024 --size 16
# part /home --ondisk mmcblk0 --fstype=vfat --label music --active --align 1024 --size 16