Support RK3588S Orange Pi 5
1
.gitignore
vendored
@@ -36,6 +36,7 @@ external/cache/sources/oh-my-zsh
|
||||
external/cache/sources/sunxi-tools
|
||||
external/cache/sources/rkbin-tools
|
||||
external/cache/sources/orangepi-test
|
||||
external/cache/sources/rk3588_packages
|
||||
external/cache/sources/rk-rootfs-build*
|
||||
external/cache/sources/orangepi-firmware*
|
||||
external/cache/sources/ffmpeg_kodi*
|
||||
|
||||
BIN
external/cache/debs/arm64/wiringpi_2.46.deb
vendored
Normal file
4
external/cache/sources/tinyalsa/Makefile
vendored
@@ -4,8 +4,8 @@ OBJECTS = mixer.o pcm.o
|
||||
LIB = libtinyalsa.so
|
||||
CC=gcc
|
||||
|
||||
all: $(LIB) tinyplay tinycap tinymix
|
||||
cp tinyplay tinycap tinymix /usr/local/bin
|
||||
all: $(LIB) tinyplay tinycap tinymix tinypcminfo
|
||||
cp tinyplay tinycap tinymix tinypcminfo /usr/local/bin
|
||||
cp libtinyalsa.so /usr/lib/
|
||||
|
||||
tinyplay: $(LIB) tinyplay.o
|
||||
|
||||
@@ -92,7 +92,7 @@ static const char *format_lookup[] = {
|
||||
/* Returns a human readable name for the format associated with bit_index,
|
||||
* NULL if bit_index is not known.
|
||||
*/
|
||||
inline const char *pcm_get_format_name(unsigned bit_index)
|
||||
char *pcm_get_format_name(unsigned bit_index)
|
||||
{
|
||||
return bit_index < ARRAY_SIZE(format_lookup) ? format_lookup[bit_index] : NULL;
|
||||
}
|
||||
|
||||
14
external/config/boards/orangepi5.conf
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# Rockchip RK3588s SoC
|
||||
BOARD_NAME="Orange Pi 5"
|
||||
BOARDFAMILY="rockchip-rk3588"
|
||||
BOOTCONFIG="orangepi_5_defconfig"
|
||||
KERNEL_TARGET="legacy"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3588s-orangepi-5.dtb"
|
||||
BOOT_SCENARIO="spl-blobs"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
BOOT_SUPPORT_SPI="yes"
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
DISTRIB_TYPE_LEGACY="bullseye jammy"
|
||||
BOOTFS_TYPE="fat"
|
||||
REVISION="1.0.0"
|
||||
71
external/config/bootscripts/boot-rk3588.cmd
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
# DO NOT EDIT THIS FILE
|
||||
#
|
||||
# Please edit /boot/orangepiEnv.txt to set supported parameters
|
||||
#
|
||||
|
||||
setenv load_addr "0x9000000"
|
||||
setenv overlay_error "false"
|
||||
# default values
|
||||
setenv rootdev "/dev/nvme0n1p1"
|
||||
setenv verbosity "1"
|
||||
setenv console "both"
|
||||
setenv bootlogo "false"
|
||||
setenv rootfstype "ext4"
|
||||
setenv docker_optimizations "on"
|
||||
setenv earlycon "off"
|
||||
|
||||
echo "Boot script loaded from ${devtype} ${devnum}"
|
||||
|
||||
#if test -e ${devtype} ${devnum} ${prefix}orangepiEnv.txt; then
|
||||
load ${devtype} ${devnum} ${load_addr} ${prefix}orangepiEnv.txt
|
||||
env import -t ${load_addr} ${filesize}
|
||||
#fi
|
||||
|
||||
if test "${logo}" = "disabled"; then setenv logo "logo.nologo"; fi
|
||||
|
||||
if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi
|
||||
if test "${console}" = "serial" || test "${console}" = "both"; then setenv consoleargs "console=ttyS2,1500000 ${consoleargs}"; fi
|
||||
if test "${earlycon}" = "on"; then setenv consoleargs "earlycon ${consoleargs}"; fi
|
||||
if test "${bootlogo}" = "true"; then setenv consoleargs "bootsplash.bootfile=bootsplash.orangepi ${consoleargs}"; fi
|
||||
|
||||
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
|
||||
|
||||
if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1"; fi
|
||||
|
||||
load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
|
||||
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image
|
||||
|
||||
load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
|
||||
fdt addr ${fdt_addr_r}
|
||||
fdt resize 65536
|
||||
for overlay_file in ${overlays}; do
|
||||
if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/rockchip/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
|
||||
echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo"
|
||||
fdt apply ${load_addr} || setenv overlay_error "true"
|
||||
fi
|
||||
done
|
||||
for overlay_file in ${user_overlays}; do
|
||||
if load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
|
||||
echo "Applying user provided DT overlay ${overlay_file}.dtbo"
|
||||
fdt apply ${load_addr} || setenv overlay_error "true"
|
||||
fi
|
||||
done
|
||||
#if test "${overlay_error}" = "true"; then
|
||||
# echo "Error applying DT overlays, restoring original DT"
|
||||
# load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
|
||||
#else
|
||||
# if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/rockchip/overlay/${overlay_prefix}-fixup.scr; then
|
||||
# echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)"
|
||||
# source ${load_addr}
|
||||
# fi
|
||||
# if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then
|
||||
# load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr
|
||||
# echo "Applying user provided fixup script (fixup.scr)"
|
||||
# source ${load_addr}
|
||||
# fi
|
||||
#fi
|
||||
|
||||
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
|
||||
|
||||
# Recompile with:
|
||||
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
|
||||
@@ -26,7 +26,6 @@ linux-base
|
||||
man-db
|
||||
networkd-dispatcher
|
||||
nfs-common
|
||||
nfs-kernel-server
|
||||
python3-distutils
|
||||
python3-lib2to3
|
||||
sudo
|
||||
|
||||
@@ -26,6 +26,8 @@ libproc-processtable-perl
|
||||
nfs-common
|
||||
ntfs-3g
|
||||
pciutils
|
||||
plymouth
|
||||
plymouth-themes
|
||||
pv
|
||||
qrencode
|
||||
rfkill
|
||||
|
||||
@@ -23,7 +23,6 @@ linux-base
|
||||
man-db
|
||||
networkd-dispatcher
|
||||
nfs-common
|
||||
nfs-kernel-server
|
||||
python3-distutils
|
||||
python3-lib2to3
|
||||
selinux-policy-default
|
||||
|
||||
@@ -25,6 +25,8 @@ libproc-processtable-perl
|
||||
nfs-common
|
||||
ntfs-3g
|
||||
pciutils
|
||||
plymouth
|
||||
plymouth-themes
|
||||
pv
|
||||
qrencode
|
||||
rfkill
|
||||
|
||||
@@ -17,3 +17,4 @@ resolvconf
|
||||
sysstat
|
||||
wget
|
||||
wireless-tools
|
||||
wpasupplicant
|
||||
|
||||
@@ -49,7 +49,6 @@ gtk2-engines-murrine
|
||||
gtk2-engines-pixbuf
|
||||
gvfs-backends
|
||||
hplip
|
||||
hunspell-en-us
|
||||
inputattach
|
||||
inxi
|
||||
keyutils
|
||||
@@ -77,10 +76,7 @@ mesa-utils
|
||||
mousepad
|
||||
mousetweaks
|
||||
network-manager-gnome
|
||||
network-manager-l2tp
|
||||
network-manager-openconnect
|
||||
network-manager-openvpn
|
||||
network-manager-pptp
|
||||
network-manager-ssh
|
||||
network-manager-vpnc
|
||||
numix-gtk-theme
|
||||
@@ -120,6 +116,7 @@ xdg-user-dirs
|
||||
xdg-user-dirs-gtk
|
||||
xfce4
|
||||
xfce4-notifyd
|
||||
xfce4-power-manager
|
||||
xfce4-screenshooter
|
||||
xfce4-terminal
|
||||
xfonts-100dpi
|
||||
@@ -128,13 +125,9 @@ xfonts-base
|
||||
xfonts-encodings
|
||||
xfonts-scalable
|
||||
xfonts-utils
|
||||
xinit
|
||||
xorg-docs-core
|
||||
xscreensaver
|
||||
xserver-xorg
|
||||
xserver-xorg-video-fbdev
|
||||
xterm
|
||||
xtermcontrol
|
||||
xtermset
|
||||
xwallpaper
|
||||
zip
|
||||
|
||||
|
||||
@@ -1 +1,9 @@
|
||||
hexchat
|
||||
pidgin
|
||||
purple-discord
|
||||
purple-lurch
|
||||
purple-matrix
|
||||
purple-mm-sms
|
||||
purple-rocketchat
|
||||
telegram-purple
|
||||
telegram-desktop
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
bleachbit
|
||||
fbi
|
||||
gparted
|
||||
system-monitoring-center
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
celluloid
|
||||
eog
|
||||
gimp
|
||||
mpv
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
remmina
|
||||
remmina-plugin-vnc
|
||||
remmina-plugin-rdp
|
||||
|
||||
@@ -2,45 +2,28 @@ alsa-base
|
||||
anacron
|
||||
at-spi2-core
|
||||
bubblewrap
|
||||
colord
|
||||
cups
|
||||
dbus-x11
|
||||
dictionaries-common
|
||||
dmz-cursor-theme
|
||||
eject
|
||||
evolution-data-server
|
||||
evolution-data-server-common
|
||||
fonts-freefont-ttf
|
||||
fonts-noto-cjk
|
||||
fonts-noto-cjk-extra
|
||||
fonts-ubuntu
|
||||
fonts-ubuntu-console
|
||||
fonts-urw-base35
|
||||
foomatic-db-compressed-ppds
|
||||
gconf2
|
||||
gcr
|
||||
gdebi
|
||||
gdm3
|
||||
genisoimage
|
||||
geoclue-2.0
|
||||
ghostscript
|
||||
ghostscript-x
|
||||
gir1.2-accountsservice-1.0
|
||||
gir1.2-atspi-2.0
|
||||
gir1.2-gck-1
|
||||
gir1.2-gcr-3
|
||||
gir1.2-gdesktopenums-3.0
|
||||
gir1.2-gdm-1.0
|
||||
gir1.2-geoclue-2.0
|
||||
gir1.2-gnomebluetooth-1.0
|
||||
gir1.2-gnomedesktop-3.0
|
||||
gir1.2-goa-1.0
|
||||
gir1.2-graphene-1.0
|
||||
gir1.2-gweather-3.0
|
||||
gir1.2-ibus-1.0
|
||||
gir1.2-json-1.0
|
||||
gir1.2-mutter-8
|
||||
gir1.2-nm-1.0
|
||||
gir1.2-nma-1.0
|
||||
gir1.2-polkit-1.0
|
||||
gir1.2-rsvg-2.0
|
||||
gir1.2-snapd-1
|
||||
gir1.2-soup-2.4
|
||||
gir1.2-upowerglib-1.0
|
||||
gist
|
||||
gjs
|
||||
gnome-control-center
|
||||
gnome-desktop3-data
|
||||
@@ -54,71 +37,35 @@ gnome-settings-daemon-common
|
||||
gnome-shell
|
||||
gnome-shell-common
|
||||
gnome-shell-extension-appindicator
|
||||
gnome-shell-extension-trash
|
||||
gnome-system-monitor
|
||||
gnome-terminal
|
||||
gvfs-backends
|
||||
hunspell-en-us
|
||||
inputattach
|
||||
libaccountsservice0
|
||||
inxi
|
||||
libasound2-plugins
|
||||
libaspell15
|
||||
libatk-adaptor
|
||||
libcairo-gobject-perl
|
||||
libcairo-perl
|
||||
libcamel-1.2-63
|
||||
libcue2
|
||||
libdee-1.0-4
|
||||
libebackend-1.2-10
|
||||
libebook-1.2-20
|
||||
libebook-contacts-1.2-3
|
||||
libecal-2.0-1
|
||||
libedata-book-1.2-26
|
||||
libedata-cal-2.0-1
|
||||
libedataserver-1.2-26
|
||||
libedataserverui-1.2-3
|
||||
libenchant-2-2
|
||||
libexempi8
|
||||
libexiv2-27
|
||||
libextutils-depends-perl
|
||||
libextutils-pkgconfig-perl
|
||||
libfontenc1
|
||||
libgck-1-0
|
||||
libgcr-base-3-1
|
||||
libgcr-ui-3-1
|
||||
libgdata22
|
||||
libgdata-common
|
||||
libgdm1
|
||||
libgeoclue-2-0
|
||||
libgeocode-glib0
|
||||
libgexiv2-2
|
||||
libgjs0g
|
||||
libglib-object-introspection-perl
|
||||
libglib-perl
|
||||
libglu1-mesa
|
||||
libgnome-autoar-0-0
|
||||
libgnome-bluetooth13
|
||||
libgnome-desktop-3-19
|
||||
libgoa-1.0-0b
|
||||
libgoa-1.0-common
|
||||
libgraphene-1.0-0
|
||||
libgs9
|
||||
libgs9-common
|
||||
libgsf-1-114
|
||||
libgsf-1-common
|
||||
libgtk3-perl
|
||||
libgweather-3-16
|
||||
libgweather-common
|
||||
libgxps2
|
||||
libibus-1.0-5
|
||||
libical3
|
||||
libidn11
|
||||
libidn12
|
||||
libijs-0.35
|
||||
libimobiledevice6
|
||||
libjavascriptcoregtk-4.0-18
|
||||
libjbig2dec0
|
||||
libmutter-8-0
|
||||
libnautilus-extension1a
|
||||
libnma0
|
||||
libnotify-bin
|
||||
libpaper1
|
||||
libphonenumber8
|
||||
@@ -136,9 +83,8 @@ libunity9
|
||||
libunity-protocol-private0
|
||||
libunity-scopes-json-def-desktop
|
||||
libunwind8
|
||||
libupower-glib3
|
||||
libusbmuxd6
|
||||
libwebkit2gtk-4.0-37
|
||||
libxapp1
|
||||
libxaw7
|
||||
libxfont2
|
||||
libxkbfile1
|
||||
@@ -147,11 +93,14 @@ libxmuu1
|
||||
libxtst6
|
||||
libxxf86dga1
|
||||
libyelp0
|
||||
lightdm
|
||||
lightdm-settings
|
||||
linux-sound-base
|
||||
mutter
|
||||
mutter-common
|
||||
nautilus
|
||||
nautilus-data
|
||||
network-manager-openvpn-gnome
|
||||
openprinting-ppds
|
||||
p11-kit
|
||||
p11-kit-modules
|
||||
@@ -171,6 +120,8 @@ python3-distupgrade
|
||||
python3-update-manager
|
||||
python3-xkit
|
||||
python3-yaml
|
||||
qalculate-gtk
|
||||
slick-greeter
|
||||
software-properties-gtk
|
||||
spice-vdagent
|
||||
system-config-printer
|
||||
@@ -178,6 +129,7 @@ terminator
|
||||
tracker
|
||||
tracker-extract
|
||||
tracker-miner-fs
|
||||
tree
|
||||
ubuntu-business-defaults
|
||||
ubuntu-desktop-minimal
|
||||
ubuntu-session
|
||||
@@ -192,13 +144,14 @@ x11-session-utils
|
||||
x11-utils
|
||||
x11-xkb-utils
|
||||
x11-xserver-utils
|
||||
xapp
|
||||
xapps-common
|
||||
xarchiver
|
||||
xdg-dbus-proxy
|
||||
xdg-desktop-portal
|
||||
xdg-user-dirs
|
||||
xdg-user-dirs-gtk
|
||||
xfonts-base
|
||||
xinit
|
||||
xinput
|
||||
xorg
|
||||
xorg-docs-core
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
gdm3
|
||||
@@ -12,7 +12,12 @@ profile=/etc/dconf/profile/user
|
||||
install -Dv /dev/null $keys
|
||||
install -Dv /dev/null $profile
|
||||
|
||||
echo "[org/gnome/desktop/background]
|
||||
# set default shortcuts
|
||||
echo "
|
||||
[org/gnome/shell]
|
||||
favorite-apps = ['terminator.desktop', 'org.gnome.Nautilus.desktop', 'google-chrome.desktop', 'thunderbird.desktop', 'code.desktop', 'Zoom.desktop']
|
||||
|
||||
[org/gnome/desktop/background]
|
||||
picture-uri='file:///usr/share/backgrounds/armbian/armbian03-Dre0x-Minum-dark-3840x2160.jpg'
|
||||
picture-options='zoom'
|
||||
primary-color='#456789'
|
||||
@@ -29,8 +34,6 @@ system-db:local" >> $profile
|
||||
|
||||
dconf update
|
||||
|
||||
#sudo apt-get -y remove gnome-shell-extension-desktop-icons
|
||||
|
||||
#compile schemas
|
||||
if [ -d /usr/share/glib-2.0/schemas ]; then
|
||||
glib-compile-schemas /usr/share/glib-2.0/schemas
|
||||
|
||||
@@ -1 +1 @@
|
||||
csc
|
||||
supported
|
||||
|
||||
@@ -41,7 +41,12 @@ ghostscript-x
|
||||
gist
|
||||
gnome-font-viewer
|
||||
gnome-screenshot
|
||||
gnome-user-docs-zh-hans
|
||||
gnome-user-docs-de
|
||||
gnome-user-docs-es
|
||||
gnome-user-docs-it
|
||||
gnome-user-docs-pt
|
||||
gnome-user-docs-ru
|
||||
gnome-user-docs-sl
|
||||
gnome-system-monitor
|
||||
gstreamer1.0-packagekit
|
||||
gstreamer1.0-plugins-base-apps
|
||||
@@ -51,16 +56,19 @@ gtk2-engines-murrine
|
||||
gtk2-engines-pixbuf
|
||||
gvfs-backends
|
||||
hplip
|
||||
hunspell-en-us
|
||||
indicator-printers
|
||||
inputattach
|
||||
inxi
|
||||
kerneloops
|
||||
keyutils
|
||||
language-pack-gnome-de
|
||||
language-pack-gnome-en
|
||||
language-pack-gnome-zh-hans
|
||||
language-pack-gnome-zh-hant
|
||||
language-selector-gnome
|
||||
language-pack-gnome-es
|
||||
language-pack-gnome-fr
|
||||
language-pack-gnome-it
|
||||
language-pack-gnome-pt
|
||||
language-pack-gnome-ru
|
||||
language-pack-gnome-sl
|
||||
laptop-detect
|
||||
libatk-adaptor
|
||||
libfont-afm-perl
|
||||
@@ -86,10 +94,7 @@ mesa-utils
|
||||
mousepad
|
||||
mousetweaks
|
||||
network-manager-gnome
|
||||
network-manager-l2tp
|
||||
network-manager-openconnect
|
||||
network-manager-openvpn
|
||||
network-manager-pptp
|
||||
network-manager-ssh
|
||||
network-manager-vpnc
|
||||
numix-gtk-theme
|
||||
@@ -103,13 +108,12 @@ pasystray
|
||||
pavucontrol
|
||||
pavucontrol-qt
|
||||
pavumeter
|
||||
pinta
|
||||
policykit-1
|
||||
policykit-1-gnome
|
||||
policykit-desktop-privileges
|
||||
printer-driver-all
|
||||
profile-sync-daemon
|
||||
pulseaudio-module-bluetooth
|
||||
qalculate-gtk
|
||||
redshift
|
||||
slick-greeter
|
||||
smbclient
|
||||
@@ -147,6 +151,7 @@ xdg-user-dirs
|
||||
xdg-user-dirs-gtk
|
||||
xfce4
|
||||
xfce4-notifyd
|
||||
xfce4-power-manager
|
||||
xfce4-screenshooter
|
||||
xfce4-terminal
|
||||
xfonts-100dpi
|
||||
@@ -155,13 +160,8 @@ xfonts-base
|
||||
xfonts-encodings
|
||||
xfonts-scalable
|
||||
xfonts-utils
|
||||
xinit
|
||||
xorg-docs-core
|
||||
xscreensaver
|
||||
xserver-xorg
|
||||
xserver-xorg-video-fbdev
|
||||
xterm
|
||||
xtermcontrol
|
||||
xtermset
|
||||
xwallpaper
|
||||
zip
|
||||
|
||||
@@ -1 +1 @@
|
||||
gdm3 ubuntu-session
|
||||
ubuntu-session
|
||||
|
||||
8227
external/config/kernel/linux-rockchip-rk3588-legacy.config
vendored
Normal file
@@ -0,0 +1,263 @@
|
||||
gstreamer1.0-plugins-bad
|
||||
gstreamer1.0-plugins-base
|
||||
gstreamer1.0-plugins-ugly
|
||||
gstreamer1.0-tools
|
||||
gstreamer1.0-alsa
|
||||
gstreamer1.0-plugins-base-apps
|
||||
qtmultimedia5-examples
|
||||
libdw-dev
|
||||
libelf-dev
|
||||
liblzma-dev
|
||||
libunwind-dev
|
||||
libgraphene-1.0-0 libegl-dev
|
||||
libgl-dev
|
||||
libgles-dev
|
||||
libgles1
|
||||
libgles2
|
||||
libglx-dev
|
||||
liborc-0.4-dev
|
||||
liborc-0.4-dev-bin
|
||||
libpthread-stubs0-dev
|
||||
libwayland-bin libwayland-dev
|
||||
libx11-dev
|
||||
libx11-xcb-dev
|
||||
libxau-dev
|
||||
libxcb1-dev
|
||||
libxdmcp-dev
|
||||
x11proto-dev
|
||||
xorg-sgml-doctools
|
||||
xtrans-dev
|
||||
gdal-data
|
||||
libaec0
|
||||
libarmadillo10
|
||||
libarpack2
|
||||
libavcodec-dev
|
||||
libavcodec58
|
||||
libavformat-dev
|
||||
libavformat58
|
||||
libavresample4
|
||||
libavutil-dev
|
||||
libavutil56
|
||||
libblas3
|
||||
libcfitsio9
|
||||
libcharls2
|
||||
libdap27
|
||||
libdapclient6v5
|
||||
libdc1394-dev
|
||||
libdeflate-dev
|
||||
libepsilon1
|
||||
libexif-dev
|
||||
libfreexl1
|
||||
libfyba0
|
||||
libgdal28
|
||||
libgdcm-dev
|
||||
libgdcm3.0
|
||||
libgeos-3.9.0
|
||||
libgeos-c1v5
|
||||
libgeotiff5
|
||||
libgfortran5
|
||||
libgif7
|
||||
libgl2ps1.4
|
||||
libgphoto2-dev
|
||||
libhdf4-0-alt
|
||||
libhdf5-103-1
|
||||
libhdf5-hl-100
|
||||
libheif1
|
||||
libilmbase-dev
|
||||
libjbig-dev
|
||||
libjpeg-dev
|
||||
libjpeg62-turbo-dev
|
||||
libjsoncpp24
|
||||
libkmlbase1
|
||||
libkmldom1
|
||||
libkmlengine1
|
||||
liblapack3
|
||||
liblept5
|
||||
libmariadb3
|
||||
libminizip1
|
||||
libnetcdf18
|
||||
libnorm1
|
||||
libodbc1
|
||||
libogdi4.1
|
||||
libopencv-calib3d-dev
|
||||
libopencv-calib3d4.5
|
||||
libopencv-contrib-dev
|
||||
libopencv-contrib4.5
|
||||
libopencv-core-dev
|
||||
libopencv-core4.5
|
||||
libopencv-dev
|
||||
libopencv-dnn-dev
|
||||
libopencv-dnn4.5
|
||||
libopencv-features2d-dev
|
||||
libopencv-features2d4.5
|
||||
libopencv-flann-dev
|
||||
libopencv-flann4.5
|
||||
libopencv-highgui-dev
|
||||
libopencv-highgui4.5
|
||||
libopencv-imgcodecs-dev
|
||||
libopencv-imgcodecs4.5
|
||||
libopencv-imgproc-dev
|
||||
libopencv-imgproc4.5
|
||||
libopencv-ml-dev
|
||||
libopencv-ml4.5
|
||||
libopencv-objdetect-dev
|
||||
libopencv-objdetect4.5
|
||||
libopencv-photo-dev
|
||||
libopencv-photo4.5
|
||||
libopencv-shape-dev
|
||||
libopencv-shape4.5
|
||||
libopencv-stitching-dev
|
||||
libopencv-stitching4.5
|
||||
libopencv-superres-dev
|
||||
libopencv-superres4.5
|
||||
libopencv-video-dev
|
||||
libopencv-video4.5
|
||||
libopencv-videoio-dev
|
||||
libopencv-videoio4.5
|
||||
libopencv-videostab-dev
|
||||
libopencv-videostab4.5
|
||||
libopencv-viz-dev
|
||||
libopencv-viz4.5
|
||||
libopenexr-dev
|
||||
libopengl0
|
||||
libpgm-5.3-0
|
||||
libpng-dev
|
||||
libpq5
|
||||
libproj19
|
||||
libprotobuf23
|
||||
libqhull8.0
|
||||
librabbitmq4
|
||||
libraw1394-dev
|
||||
librttopo1
|
||||
libsocket++1
|
||||
libsodium23
|
||||
libspatialite7
|
||||
libssh-gcrypt-4
|
||||
libsuperlu5
|
||||
libswresample-dev
|
||||
libswresample3
|
||||
libswscale-dev
|
||||
libswscale5
|
||||
libsz2
|
||||
libtbb-dev
|
||||
libtbb2
|
||||
libtesseract4
|
||||
libtiff-dev
|
||||
libtiffxx5
|
||||
libtk8.6
|
||||
liburiparser1
|
||||
libvtk9
|
||||
libxerces-c3.2
|
||||
libzmq5
|
||||
mariadb-common
|
||||
mysql-common
|
||||
odbcinst
|
||||
odbcinst1debian2
|
||||
proj-data
|
||||
libre2-9
|
||||
libharfbuzz-icu0
|
||||
libwoff1
|
||||
libwpe-1.0-1
|
||||
libwpebackend-fdo-1.0-1
|
||||
libwpewebkit-1.0-3
|
||||
libxslt1.1
|
||||
xdg-dbus-proxy
|
||||
libqt5waylandclient5
|
||||
libqt5x11extras5
|
||||
cheese
|
||||
v4l-utils
|
||||
libqt5opengl5
|
||||
libavfilter7
|
||||
libmysofa1
|
||||
libpocketsphinx3
|
||||
libpostproc55
|
||||
librubberband2
|
||||
libsphinxbase3
|
||||
libvidstab1.1
|
||||
libbrotli-dev
|
||||
libdrm-dev
|
||||
libdrm-etnaviv1
|
||||
libdrm-freedreno1
|
||||
libdrm-tegra0
|
||||
libfontenc-dev
|
||||
libfreetype-dev
|
||||
libfreetype6-dev
|
||||
libpciaccess-dev
|
||||
libpixman-1-dev
|
||||
libxfont-dev
|
||||
libxkbfile-dev
|
||||
mesa-common-dev
|
||||
libid3tag0
|
||||
libimlib2
|
||||
libobrender32v5
|
||||
libobt2v5
|
||||
apt-transport-https
|
||||
fonts-arphic-bsmi00lp
|
||||
fonts-arphic-gbsn00lp
|
||||
fonts-arphic-gkai00mp
|
||||
fcitx
|
||||
fcitx-table
|
||||
fcitx-table-all
|
||||
fcitx-table-amharic
|
||||
fcitx-table-arabic
|
||||
fcitx-table-array30
|
||||
fcitx-table-array30-big
|
||||
fcitx-table-bingchan
|
||||
fcitx-table-boshiamy
|
||||
fcitx-table-cangjie
|
||||
fcitx-table-cangjie-big
|
||||
fcitx-table-cangjie3
|
||||
fcitx-table-cangjie5
|
||||
fcitx-table-cantonese
|
||||
fcitx-table-cantonhk
|
||||
fcitx-table-cns11643
|
||||
fcitx-table-compose
|
||||
fcitx-table-dianbaoma
|
||||
fcitx-table-easy-big
|
||||
fcitx-table-emoji
|
||||
fcitx-table-erbi
|
||||
fcitx-table-ipa-x-sampa
|
||||
fcitx-table-jyutping
|
||||
fcitx-table-latex
|
||||
fcitx-table-malayalam-phonetic
|
||||
fcitx-table-quick-classic
|
||||
fcitx-table-quick3
|
||||
fcitx-table-quick5
|
||||
fcitx-table-rustrad
|
||||
fcitx-table-scj6
|
||||
fcitx-table-stroke5
|
||||
fcitx-table-t9
|
||||
fcitx-table-tamil-remington
|
||||
fcitx-table-thai
|
||||
fcitx-table-translit
|
||||
fcitx-table-translit-ua
|
||||
fcitx-table-viqr
|
||||
fcitx-table-wanfeng
|
||||
fcitx-table-wbpy
|
||||
fcitx-table-wu
|
||||
fcitx-table-wubi
|
||||
fcitx-table-wubi-large
|
||||
fcitx-table-yawerty
|
||||
fcitx-table-zhengma
|
||||
fcitx-table-zhengma-large
|
||||
fcitx-table-ziranma
|
||||
fcitx-frontend-gtk2
|
||||
fcitx-frontend-gtk3
|
||||
fcitx-module-dbus
|
||||
libfcitx-gclient1
|
||||
fcitx-frontend-qt5
|
||||
fcitx-config-common
|
||||
fcitx-config-gtk
|
||||
im-config
|
||||
fcitx-googlepinyin
|
||||
fcitx-module-kimpanel
|
||||
fcitx-module-x11
|
||||
fcitx-ui-classic
|
||||
fcitx-ui-light
|
||||
fcitx-ui-qimpanel
|
||||
libqt5quickwidgets5
|
||||
zenity
|
||||
geany
|
||||
audacity
|
||||
tightvncserver
|
||||
xrdp
|
||||
130
external/config/sources/families/include/rk3588_gpu_vpu.inc
vendored
Executable file
@@ -0,0 +1,130 @@
|
||||
rk3588_gpu_vpu_tweaks()
|
||||
{
|
||||
if [[ ${BOARD} =~ orangepi5 && ${SELECTED_CONFIGURATION} == desktop && ${RELEASE} == bullseye ]]; then
|
||||
|
||||
chroot $SDCARD /bin/bash -c "chmod o+x /usr/lib/dbus-1.0/dbus-daemon-launch-helper"
|
||||
|
||||
#chroot $SDCARD /bin/bash -c "apt-get update"
|
||||
#chroot $SDCARD /bin/bash -c "apt-get upgrade -y"
|
||||
|
||||
# RK GPU VPU
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/rkaiq/camera-engine-rkaiq_rk3588_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/rga2/librga2_2.2.0-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/rga2/librga-dev_2.2.0-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpp/librockchip-mpp1_1.5.0-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpp/librockchip-mpp-dev_1.5.0-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpp/librockchip-vpu0_1.5.0-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpp/rockchip-mpp-demos_1.5.0-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-rkmpp/gstreamer1.0-rockchip1_1.14-4_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gstreamer/gir1.2-gstreamer-1.0_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gstreamer/gstreamer1.0-tools_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gstreamer/libgstreamer1.0-0_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gstreamer/libgstreamer1.0-dev_1.18.5-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-base1.0/gir1.2-gst-plugins-base-1.0_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-base1.0/gstreamer1.0-alsa_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-base1.0/gstreamer1.0-gl_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-base1.0/gstreamer1.0-plugins-base_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-base1.0/gstreamer1.0-plugins-base-apps_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-base1.0/gstreamer1.0-x_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-base1.0/libgstreamer-gl1.0-0_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-base1.0/libgstreamer-plugins-base1.0-0_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-base1.0/libgstreamer-plugins-base1.0-dev_1.18.5-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-bad1.0/libgstreamer-plugins-bad1.0-0_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-bad1.0/gir1.2-gst-plugins-bad-1.0_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-bad1.0/libgstreamer-opencv1.0-0_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-bad1.0/gstreamer1.0-opencv_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-bad1.0/gstreamer1.0-plugins-bad_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-bad1.0/gstreamer1.0-plugins-bad-apps_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-bad1.0/gstreamer1.0-wpe_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-bad1.0/libgstreamer-plugins-bad1.0-dev_1.18.5-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-good1.0/gstreamer1.0-gtk3_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-good1.0/gstreamer1.0-plugins-good_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-good1.0/gstreamer1.0-pulseaudio_1.18.5-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-good1.0/gstreamer1.0-qt5_1.18.5-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-plugins-ugly1.0/gstreamer1.0-plugins-ugly_1.18.5-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/gst-libav1.0/gstreamer1.0-plugins-ugly_1.18.5-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/libdvbv5-0_1.20.0-2_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/dvb-tools_1.20.0-2_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/ir-keytable_1.20.0-2_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/libdvbv5-dev_1.20.0-2_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/libdvbv5-doc_1.20.0-2_all.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/libv4l-0_1.20.0-2_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/libv4l2rds0_1.20.0-2_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/libv4lconvert0_1.20.0-2_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/libv4l-dev_1.20.0-2_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/libv4l-rkmpp_1.4.0-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/v4l-utils_1.20.0-2_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libv4l/qv4l2_1.20.0-2_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/xserver/xserver-xorg-core_1.20.11-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/xserver/xserver-common_1.20.11-1_all.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/xserver/xserver-xorg-dev_1.20.11-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/xserver/xserver-xorg-legacy_1.20.11-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/chromium/chromium-x11_91.0.4472.164_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libdrm/libkms1_2.4.104-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libdrm-cursor/libdrm-cursor_1.4.0-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libdrm-cursor/libdrm-cursor-dev_1.4.0-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/glmark2/glmark2-data_2021.02+ds-1_all.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/glmark2/glmark2-drm_2021.02+ds-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/glmark2/glmark2-es2-drm_2021.02+ds-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/glmark2/glmark2-es2-wayland_2021.02+ds-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/glmark2/glmark2-es2-x11_2021.02+ds-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/glmark2/glmark2-wayland_2021.02+ds-1_arm64.deb"
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/glmark2/glmark2-x11_2021.02+ds-1_arm64.deb"
|
||||
|
||||
dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/rktoolkit/rktoolkit_1.0.0-1_arm64.deb"
|
||||
|
||||
install_deb_chroot "$EXTER/cache/sources/rk3588_packages/libmali/libmali-valhall-g610-g6p0-x11_1.9-1_arm64.deb"
|
||||
|
||||
#apt install libva-wayland2 liblua5.2-0
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libaom0_1.0.0.errata1-3_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libcodec2-0.9_0.9.2-4_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavutil56_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavutil-dev_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libpostproc55_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libpostproc-dev_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswresample3_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswresample-dev_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswscale5_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libswscale-dev_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavcodec58_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavcodec-dev_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavformat58_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavformat-dev_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavresample4_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavresample-dev_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavfilter7_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavfilter-dev_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavdevice58_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/libavdevice-dev_4.3.2-0+deb11u2_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/ffmpeg/ffmpeg_4.3.2-0+deb11u2_arm64.deb"
|
||||
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpv/libmpv1_0.32.0-3_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpv/libmpv-dev_0.32.0-3_arm64.deb"
|
||||
#dpkg_install_deb_chroot "$EXTER/cache/sources/rk3588_packages/mpv/mpv_0.32.0-3_arm64.deb"
|
||||
|
||||
chroot $SDCARD /bin/bash -c "sed -i '5aexport LD_PRELOAD=libdrm-cursor.so.1' /usr/bin/X"
|
||||
|
||||
# The chromium using fixed pathes for libv4l2.so
|
||||
chroot $SDCARD /bin/bash -c "ln -rsf /usr/lib/*/libv4l2.so /usr/lib/"
|
||||
chroot $SDCARD /bin/bash -c "[ -e /usr/lib/aarch64-linux-gnu/ ] && ln -Tsf lib /usr/lib64"
|
||||
|
||||
chroot $SDCARD /bin/bash -c "cd /usr/lib/aarch64-linux-gnu/dri/;cp kms_swrast_dri.so swrast_dri.so rockchip_dri.so /"
|
||||
chroot $SDCARD /bin/bash -c "rm /usr/lib/aarch64-linux-gnu/dri/*.so;mv /*.so /usr/lib/aarch64-linux-gnu/dri/"
|
||||
|
||||
fi
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
source "${BASH_SOURCE%/*}/rk3399_gpu_vpu.inc"
|
||||
source "${BASH_SOURCE%/*}/rk3588_gpu_vpu.inc"
|
||||
|
||||
enable_extension "rkbin-tools"
|
||||
ARCH=arm64
|
||||
@@ -12,7 +13,7 @@ OVERLAY_PREFIX='rockchip'
|
||||
SERIALCON=${SERIALCON:=$([ $BRANCH == "legacy" ] && echo "ttyFIQ0:1500000" || echo "ttyS2:1500000")}
|
||||
GOVERNOR="ondemand"
|
||||
BOOTBRANCH="branch:v2020.10-rockchip64"
|
||||
PACKAGE_LIST_FAMILY="ethtool"
|
||||
PACKAGE_LIST_FAMILY="ethtool can-utils"
|
||||
|
||||
if [[ $RELEASE == "jammy" ]]; then
|
||||
PACKAGE_LIST_DESKTOP_FAMILY="fcitx fonts-wqy-zenhei xfce4-volumed"
|
||||
@@ -56,6 +57,11 @@ if [[ $BOARD =~ orangepir1plus|orangepir1plus-lts ]]; then
|
||||
MINILOADER_BLOB='rk33/rk322xh_miniloader_v2.50.bin'
|
||||
BL31_BLOB='rk33/rk322xh_bl31_v1.44.elf'
|
||||
|
||||
elif [[ $BOARD == orangepi5 ]]; then
|
||||
|
||||
BOOT_SCENARIO="${BOOT_SCENARIO:=spl-blobs}"
|
||||
DDR_BLOB="${DDR_BLOB:=rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.08.bin}"
|
||||
BL31_BLOB='rk35/rk3588_bl31_v1.28.elf'
|
||||
else
|
||||
|
||||
ATFPATCHDIR='atf-rk3399'
|
||||
@@ -82,6 +88,12 @@ prepare_boot_configuration()
|
||||
ATFSOURCE=''
|
||||
ATF_COMPILE='no'
|
||||
|
||||
elif [[ $BOOT_SCENARIO == "spl-blobs" ]]; then
|
||||
|
||||
UBOOT_TARGET_MAP="BL31=$RKBIN_DIR/$BL31_BLOB spl/u-boot-spl.bin u-boot.dtb u-boot.itb;;idbloader.img u-boot.itb"
|
||||
ATFSOURCE=''
|
||||
ATF_COMPILE='no'
|
||||
|
||||
elif [[ $BOOT_USE_BLOBS == yes ]]; then
|
||||
|
||||
UBOOT_TARGET_MAP="u-boot-dtb.bin;;idbloader.bin uboot.img trust.bin"
|
||||
@@ -91,7 +103,7 @@ prepare_boot_configuration()
|
||||
|
||||
if [[ $BOOT_SUPPORT_SPI == yes ]]; then
|
||||
|
||||
UBOOT_TARGET_MAP+=" rkspi_loader.img"
|
||||
UBOOT_TARGET_MAP="${UBOOT_TARGET_MAP} rkspi_loader.img"
|
||||
|
||||
fi
|
||||
}
|
||||
@@ -99,6 +111,26 @@ prepare_boot_configuration()
|
||||
uboot_custom_postprocess()
|
||||
{
|
||||
|
||||
if [[ $BOOT_SUPPORT_SPI == yes ]]; then
|
||||
|
||||
if [[ $BOARD == "orangepi5" ]]; then
|
||||
|
||||
tools/mkimage -n rk3588 -T rksd -d $RKBIN_DIR/$DDR_BLOB:spl/u-boot-spl.bin idbloader.img
|
||||
dd if=/dev/zero of=rkspi_loader.img bs=1M count=0 seek=16
|
||||
/sbin/parted -s rkspi_loader.img mklabel gpt
|
||||
/sbin/parted -s rkspi_loader.img unit s mkpart idbloader 64 7167
|
||||
/sbin/parted -s rkspi_loader.img unit s mkpart vnvm 7168 7679
|
||||
/sbin/parted -s rkspi_loader.img unit s mkpart reserved_space 7680 8063
|
||||
/sbin/parted -s rkspi_loader.img unit s mkpart reserved1 8064 8127
|
||||
/sbin/parted -s rkspi_loader.img unit s mkpart uboot_env 8128 8191
|
||||
/sbin/parted -s rkspi_loader.img unit s mkpart reserved2 8192 16383
|
||||
/sbin/parted -s rkspi_loader.img unit s mkpart uboot 16384 32734
|
||||
dd if=idbloader.img of=rkspi_loader.img seek=64 conv=notrunc
|
||||
dd if=u-boot.itb of=rkspi_loader.img seek=16384 conv=notrunc
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $BOOT_USE_MAINLINE_ATF == yes || $BOOT_USE_TPL_SPL_BLOB == yes ]]; then
|
||||
|
||||
if [[ $BOOT_SUPPORT_SPI == yes ]]; then
|
||||
@@ -116,9 +148,14 @@ uboot_custom_postprocess()
|
||||
loaderimage --pack --uboot ./u-boot-dtb.bin uboot.img 0x200000
|
||||
trust_merger --replace bl31.elf $RKBIN_DIR/$BL31_BLOB trust.ini
|
||||
|
||||
elif [[ $BOOT_SCENARIO == "spl-blobs" || $BOOT_SCENARIO == "tpl-blob-atf-mainline" ]]; then
|
||||
|
||||
:
|
||||
|
||||
else
|
||||
echo "Unsupported u-boot processing configuration!"
|
||||
echo "[uboot_custom_postprocess]: Unsupported u-boot processing configuration!"
|
||||
exit 1
|
||||
|
||||
fi
|
||||
|
||||
if [[ ${MERGE_UBOOT} ]]; then
|
||||
@@ -152,7 +189,7 @@ write_uboot_platform()
|
||||
dd if=$1/trust.bin of=$2 seek=24576 conv=notrunc status=none >/dev/null 2>&1
|
||||
|
||||
else
|
||||
echo "Unsupported u-boot processing configuration!"
|
||||
echo "[write_uboot_platform]: Unsupported u-boot processing configuration!"
|
||||
exit 1
|
||||
|
||||
fi
|
||||
@@ -204,6 +241,7 @@ family_tweaks()
|
||||
[[ $(type -t family_tweaks_s) == function ]] && family_tweaks_s
|
||||
|
||||
[[ "$BRANCH" =~ legacy|current ]] && rk3399_gpu_vpu_tweaks
|
||||
[[ "$BRANCH" =~ legacy && "$BOARD" =~ orangepi5 ]] && rk3588_gpu_vpu_tweaks
|
||||
|
||||
#if [[ ${BOARD} == orangepi800 && ${SELECTED_CONFIGURATION} == desktop && ${RELEASE} =~ bullseye|bookworm ]]; then
|
||||
|
||||
|
||||
46
external/config/sources/families/rockchip-rk3588.conf
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
source "${BASH_SOURCE%/*}/include/rockchip64_common.inc"
|
||||
|
||||
OVERLAY_PREFIX='rk3588'
|
||||
BOOTDELAY=0
|
||||
|
||||
CPUMIN=408000
|
||||
CPUMAX=2400000
|
||||
|
||||
case $BRANCH in
|
||||
|
||||
legacy)
|
||||
|
||||
BOOTBRANCH='branch:v2017.09-rk3588'
|
||||
UBOOT_COMPILER="aarch64-linux-gnu-"
|
||||
UBOOT_USE_GCC='< 8.0'
|
||||
|
||||
KERNELBRANCH='branch:orange-pi-5.10-rk3588'
|
||||
KERNELPATCHDIR='rockchip-rk3588-legacy'
|
||||
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
prepare_boot_configuration
|
||||
|
||||
family_tweaks_bsp() {
|
||||
|
||||
install -m 755 $EXTER/packages/bsp/adb/adbd-${ARCH} ${destination}/usr/bin/adbd
|
||||
}
|
||||
|
||||
family_tweaks_s() {
|
||||
|
||||
rsync -a "${EXTER}"/packages/bsp/rk3588/* ${SDCARD}/
|
||||
|
||||
# enable additional services
|
||||
chroot "${SDCARD}" /bin/bash -c "systemctl --no-reload enable usbdevice.service >/dev/null 2>&1"
|
||||
|
||||
install_deb_chroot "$EXTER/cache/debs/arm64/wiringpi_2.46.deb"
|
||||
|
||||
chroot $SDCARD /bin/bash -c "apt-get -y -qq install lm-sensors vlc" >/dev/null 2>&1
|
||||
chroot $SDCARD /bin/bash -c "rm /etc/profile.d/im-config_wayland.sh" >/dev/null 2>&1
|
||||
|
||||
sed "s/^SIZE=.*/SIZE=200M/" -i "${SDCARD}"/etc/default/orangepi-ramlog
|
||||
|
||||
#install_docker
|
||||
}
|
||||
BIN
external/packages/blobs/desktop/desktop-wallpapers/orangepi-bak.png
vendored
Executable file
|
After Width: | Height: | Size: 426 KiB |
BIN
external/packages/blobs/desktop/desktop-wallpapers/orangepi-default-bak.png
vendored
Executable file
|
After Width: | Height: | Size: 426 KiB |
|
Before Width: | Height: | Size: 426 KiB After Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 426 KiB After Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 426 KiB After Width: | Height: | Size: 1.3 MiB |
BIN
external/packages/blobs/desktop/lightdm-wallpapers/orangepi-bak.png
vendored
Executable file
|
After Width: | Height: | Size: 426 KiB |
BIN
external/packages/blobs/desktop/lightdm-wallpapers/orangepi-default-bak.png
vendored
Executable file
|
After Width: | Height: | Size: 426 KiB |
|
Before Width: | Height: | Size: 426 KiB After Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 426 KiB After Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 426 KiB After Width: | Height: | Size: 1.3 MiB |
@@ -3,17 +3,17 @@
|
||||
<channel name="xfce4-power-manager" version="1.0">
|
||||
<property name="xfce4-power-manager" type="empty">
|
||||
<property name="power-button-action" type="empty"/>
|
||||
<property name="brightness-switch-restore-on-exit" type="int" value="-1"/>
|
||||
<property name="brightness-switch" type="int" value="0"/>
|
||||
<property name="show-tray-icon" type="int" value="1"/>
|
||||
<property name="lid-action-on-battery" type="uint" value="1"/>
|
||||
<property name="logind-handle-lid-switch" type="bool" value="false"/>
|
||||
<property name="lid-action-on-ac" type="uint" value="0"/>
|
||||
<property name="inactivity-sleep-mode-on-battery" type="uint" value="1"/>
|
||||
<property name="sleep-button-action" type="uint" value="1"/>
|
||||
<property name="hibernate-button-action" type="uint" value="1"/>
|
||||
<property name="dpms-enabled" type="bool" value="true"/>
|
||||
<property name="blank-on-ac" type="int" value="0"/>
|
||||
<property name="lock-screen-suspend-hibernate" type="bool" value="false"/>
|
||||
<property name="critical-power-action" type="uint" value="4"/>
|
||||
<property name="critical-power-level" type="uint" value="5"/>
|
||||
<property name="logind-handle-lid-switch" type="bool" value="false"/>
|
||||
<property name="show-tray-icon" type="bool" value="false"/>
|
||||
<property name="general-notification" type="bool" value="true"/>
|
||||
<property name="presentation-mode" type="bool" value="false"/>
|
||||
<property name="lid-action-on-battery" type="uint" value="0"/>
|
||||
<property name="lid-action-on-ac" type="uint" value="0"/>
|
||||
<property name="handle-brightness-keys" type="bool" value="true"/>
|
||||
<property name="brightness-switch-restore-on-exit" type="int" value="1"/>
|
||||
<property name="brightness-switch" type="int" value="0"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
||||
BIN
external/packages/bsp/adb/adbd-arm64
vendored
Executable file
BIN
external/packages/bsp/adb/adbd-armhf
vendored
Executable file
@@ -97,6 +97,33 @@ prepare_board() {
|
||||
rockpro64|renegade-elite|pinebook-pro|station-p1)
|
||||
BOARDFAMILY=rk3399
|
||||
;;
|
||||
orangepi5)
|
||||
echo host > /sys/kernel/debug/usb/fc000000.usb/mode
|
||||
|
||||
if [[ -c /dev/mpp_service ]]; then
|
||||
chmod 666 /dev/mpp_service
|
||||
|
||||
# Create dummy video node for chromium V4L2 VDA/VEA with rkmpp plugin
|
||||
echo dec > /dev/video-dec0
|
||||
echo enc > /dev/video-enc0
|
||||
chmod 660 /dev/video-*
|
||||
chown root.video /dev/video-*
|
||||
fi
|
||||
|
||||
if [[ ${DISTRIBUTION_CODENAME} == "bullseye" ]]; then
|
||||
for p in $(modetest|grep "^Planes:" -A 9999|grep -o "^[0-9]*");
|
||||
do
|
||||
modetest -M rockchip -aw $p:ASYNC_COMMIT:1 &>/dev/null
|
||||
done
|
||||
fi
|
||||
|
||||
bt_status=$(cat /proc/device-tree/wireless-bluetooth/status)
|
||||
if [[ ${bt_status} == "okay" ]]; then
|
||||
rfkill unblock all
|
||||
brcm_patchram_plus --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 \
|
||||
--baudrate 1500000 --patchram /lib/firmware/ap6275p/BCM4362A2.hcd /dev/ttyS9 &
|
||||
fi
|
||||
;;
|
||||
orangepi3-lts)
|
||||
#aplay /usr/share/sounds/alsa/audio.wav -D hw:0,0 > /dev/null 2>&1
|
||||
rfkill unblock all
|
||||
@@ -164,7 +191,7 @@ prepare_board() {
|
||||
|
||||
rfkill unblock all
|
||||
/usr/bin/brcm_patchram_plus -d --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 \
|
||||
--baudrate 1500000 --patchram /lib/firmware/brcm/BCM4345C5.hcd /dev/ttyS0
|
||||
--baudrate 1500000 --patchram /lib/firmware/brcm/BCM4345C5.hcd /dev/ttyS0 &
|
||||
;;
|
||||
orangepi4-lts)
|
||||
# RK3399 - 1.8GHz
|
||||
|
||||
33
external/packages/bsp/rk3588/etc/X11/xorg.conf.d/20-modesetting.conf
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
Section "Device"
|
||||
Identifier "Rockchip Graphics"
|
||||
Driver "modesetting"
|
||||
|
||||
### Use Rockchip RGA 2D HW accel
|
||||
# Option "AccelMethod" "exa"
|
||||
|
||||
### Use GPU HW accel
|
||||
Option "AccelMethod" "glamor"
|
||||
|
||||
Option "DRI" "2"
|
||||
|
||||
### Set to "always" to avoid tearing, could lead to up 50% performance loss
|
||||
Option "FlipFB" "always"
|
||||
|
||||
### Limit flip rate and drop frames for "FlipFB" to reduce performance lost
|
||||
# Option "MaxFlipRate" "60"
|
||||
|
||||
Option "NoEDID" "true"
|
||||
Option "UseGammaLUT" "true"
|
||||
EndSection
|
||||
|
||||
Section "Screen"
|
||||
Identifier "Default Screen"
|
||||
Device "Rockchip Graphics"
|
||||
Monitor "Default Monitor"
|
||||
EndSection
|
||||
|
||||
### Valid values for rotation are "normal", "left", "right"
|
||||
Section "Monitor"
|
||||
Identifier "Default Monitor"
|
||||
Option "Rotate" "normal"
|
||||
EndSection
|
||||
5961
external/packages/bsp/rk3588/etc/iqfiles/ov13850_CMK-CT0116_default.json
vendored
Executable file
141
external/packages/bsp/rk3588/etc/mpv/mpv.conf
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
#
|
||||
# mpv configuration file
|
||||
#
|
||||
# Warning:
|
||||
#
|
||||
# The commented example options usually do _not_ set the default values. Call
|
||||
# mpv with --list-options to see the default values for most options. There is
|
||||
# no builtin or example mpv.conf with all the defaults.
|
||||
#
|
||||
#
|
||||
# Configuration files are read system-wide from /usr/local/etc/mpv.conf
|
||||
# and per-user from ~/.config/mpv/mpv.conf, where per-user settings override
|
||||
# system-wide settings, all of which are overridden by the command line.
|
||||
#
|
||||
# Configuration file settings and the command line options use the same
|
||||
# underlying mechanisms. Most options can be put into the configuration file
|
||||
# by dropping the preceding '--'. See the man page for a complete list of
|
||||
# options.
|
||||
#
|
||||
# Lines starting with '#' are comments and are ignored.
|
||||
#
|
||||
# See the CONFIGURATION FILES section in the man page
|
||||
# for a detailed description of the syntax.
|
||||
#
|
||||
# Profiles should be placed at the bottom of the configuration file to ensure
|
||||
# that settings wanted as defaults are not restricted to specific profiles.
|
||||
|
||||
##################
|
||||
# video settings #
|
||||
##################
|
||||
|
||||
# Start in fullscreen mode by default.
|
||||
#fs=yes
|
||||
|
||||
# force starting with centered window
|
||||
#geometry=50%:50%
|
||||
|
||||
# don't allow a new window to have a size larger than 90% of the screen size
|
||||
#autofit-larger=90%x90%
|
||||
|
||||
# Do not close the window on exit.
|
||||
#keep-open=yes
|
||||
|
||||
# Do not wait with showing the video window until it has loaded. (This will
|
||||
# resize the window once video is loaded. Also always shows a window with
|
||||
# audio.)
|
||||
#force-window=immediate
|
||||
|
||||
# Disable the On Screen Controller (OSC).
|
||||
#osc=no
|
||||
|
||||
# Keep the player window on top of all other windows.
|
||||
#ontop=yes
|
||||
|
||||
# Specify high quality video rendering preset (for --vo=gpu only)
|
||||
# Can cause performance problems with some drivers and GPUs.
|
||||
#profile=gpu-hq
|
||||
|
||||
# Force video to lock on the display's refresh rate, and change video and audio
|
||||
# speed to some degree to ensure synchronous playback - can cause problems
|
||||
# with some drivers and desktop environments.
|
||||
#video-sync=display-resample
|
||||
|
||||
# Enable hardware decoding if available. Often, this does not work with all
|
||||
# video outputs, but should work well with default settings on most systems.
|
||||
# If performance or energy usage is an issue, forcing the vdpau or vaapi VOs
|
||||
# may or may not help.
|
||||
hwdec=rkmpp
|
||||
|
||||
# Specify default video output.
|
||||
vo=xv
|
||||
|
||||
##################
|
||||
# audio settings #
|
||||
##################
|
||||
|
||||
# Specify default audio device. You can list devices with: --audio-device=help
|
||||
# The option takes the device string (the stuff between the '...').
|
||||
#audio-device=alsa/default
|
||||
|
||||
# Do not filter audio to keep pitch when changing playback speed.
|
||||
#audio-pitch-correction=no
|
||||
|
||||
# Output 5.1 audio natively, and upmix/downmix audio with a different format.
|
||||
#audio-channels=5.1
|
||||
# Disable any automatic remix, _if_ the audio output accepts the audio format.
|
||||
# of the currently played file. See caveats mentioned in the manpage.
|
||||
# (The default is "auto-safe", see manpage.)
|
||||
#audio-channels=auto
|
||||
|
||||
##################
|
||||
# other settings #
|
||||
##################
|
||||
|
||||
# Pretend to be a web browser. Might fix playback with some streaming sites,
|
||||
# but also will break with shoutcast streams.
|
||||
#user-agent="Mozilla/5.0"
|
||||
|
||||
# cache settings
|
||||
#
|
||||
# Use 150MB input cache by default. The cache is enabled for network streams only.
|
||||
#cache-default=153600
|
||||
#
|
||||
# Use 150MB input cache for everything, even local files.
|
||||
#cache=153600
|
||||
#
|
||||
# Disable the behavior that the player will pause if the cache goes below a
|
||||
# certain fill size.
|
||||
#cache-pause=no
|
||||
#
|
||||
# Read ahead about 5 seconds of audio and video packets.
|
||||
#demuxer-readahead-secs=5.0
|
||||
#
|
||||
# Raise readahead from demuxer-readahead-secs to this value if a cache is active.
|
||||
#cache-secs=50.0
|
||||
|
||||
# Display English subtitles if available.
|
||||
#slang=en
|
||||
|
||||
# Play Finnish audio if available, fall back to English otherwise.
|
||||
#alang=fi,en
|
||||
|
||||
# Change subtitle encoding. For Arabic subtitles use 'cp1256'.
|
||||
# If the file seems to be valid UTF-8, prefer UTF-8.
|
||||
# (You can add '+' in front of the codepage to force it.)
|
||||
#sub-codepage=cp1256
|
||||
|
||||
# You can also include other configuration files.
|
||||
#include=/path/to/the/file/you/want/to/include
|
||||
|
||||
############
|
||||
# Profiles #
|
||||
############
|
||||
|
||||
# The options declared as part of profiles override global default settings,
|
||||
# but only take effect when the profile is active.
|
||||
|
||||
# The following profile can be enabled on the command line with: --profile=eye-cancer
|
||||
|
||||
#[eye-cancer]
|
||||
#sharpen=5
|
||||
1
external/packages/bsp/rk3588/etc/profile.d/cogl.sh
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export COGL_DRIVER=gles2
|
||||
74
external/packages/bsp/rk3588/etc/profile.d/gst.sh
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
export GST_GL_API=gles2
|
||||
export GST_GL_PLATFORM=egl
|
||||
|
||||
export GST_DEBUG_NO_COLOR=1
|
||||
export GST_INSPECT_NO_COLORS=1
|
||||
|
||||
# Skip vstride aligning, which is not required when using RKVENC.
|
||||
# export GST_MPP_ENC_UNALIGNED_VSTRIDE=1
|
||||
|
||||
# Convert to NV12(using RGA) when output format is NV12_10.
|
||||
# export GST_MPP_DEC_DISABLE_NV12_10=1
|
||||
|
||||
# Convert to NV12(using RGA) when output format is not NV12.
|
||||
# export GST_MPP_VIDEODEC_DEFAULT_FORMAT=NV12
|
||||
|
||||
# Try to use ARM AFBC to get better performance, but not work for all sinks.
|
||||
# export GST_MPP_VIDEODEC_DEFAULT_ARM_AFBC=1
|
||||
|
||||
# Use below env variables to configure kmssink plane ZPOS.
|
||||
# export KMSSINK_PLANE_ZPOS=0
|
||||
# export KMSSINK_PLANE_ON_TOP=1
|
||||
# export KMSSINK_PLANE_ON_BOTTOM=1
|
||||
|
||||
# There's an extra vsync waiting in kmssink, which is only needed for BSP 4.4
|
||||
# kernel(due to ecac2033831e FROMLIST: drm: skip wait on vblank for set plane).
|
||||
# Skip it would bring better performance with frame dropping.
|
||||
# export KMSSINK_DISABLE_VSYNC=1
|
||||
|
||||
# The waylandsink is async by default, which allows frame dropping.
|
||||
# export WAYLANDSINK_SYNC_FRAME=1
|
||||
|
||||
# Put video surface above UI window in waylandsink.
|
||||
# export WAYLANDSINK_PLACE_ABOVE=1
|
||||
|
||||
# Preferred formats for V4L2
|
||||
export GST_V4L2_PREFERRED_FOURCC=NV12:YU12:NV16:YUY2
|
||||
|
||||
# Preferred formats for videoconvert
|
||||
export GST_VIDEO_CONVERT_PREFERRED_FORMAT=NV12:NV16:I420:YUY2
|
||||
|
||||
# Using libv4l2 for V4L2
|
||||
export GST_V4L2_USE_LIBV4L2=1
|
||||
|
||||
# Default device for v4l2src
|
||||
export GST_V4L2SRC_DEFAULT_DEVICE=/dev/video-camera0
|
||||
|
||||
# Available RK devices for v4l2src
|
||||
export GST_V4L2SRC_RK_DEVICES=_mainpath:_selfpath:_bypass:_scale
|
||||
|
||||
# Max resolution for v4l2src
|
||||
export GST_V4L2SRC_MAX_RESOLUTION=3840x2160
|
||||
|
||||
# Preferred sinks for playbin3(autoaudiosink/autovideosink) and playbin.
|
||||
# export AUTOAUDIOSINK_PREFERRED=alsasink
|
||||
# export AUTOVIDEOSINK_PREFERRED=waylandsink
|
||||
# export PLAYBIN2_PREFERRED_AUDIOSINK=alsasink
|
||||
# export PLAYBIN2_PREFERRED_VIDEOSINK=waylandsink
|
||||
|
||||
# Try RGA 2D accel in videoconvert, videoscale and videoflip.
|
||||
# NOTE: Might not success, and might behave different from the official plugin.
|
||||
# export GST_VIDEO_CONVERT_USE_RGA=1
|
||||
# export GST_VIDEO_FLIP_USE_RGA=1
|
||||
export GST_MPP_NO_RGA=1
|
||||
|
||||
# Default rotation for camerabin2:
|
||||
# clockwise(90)|rotate-180|counterclockwise(270)|horizontal-flip|vertical-flip
|
||||
# export CAMERA_FLIP=clockwise
|
||||
if [ $CAMERA_FLIP ]; then
|
||||
CAMERA_FILTER="videoflip method=$CAMERA_FLIP"
|
||||
export CAMERABIN2_PREVIEW_FILTER=$CAMERA_FILTER
|
||||
export CAMERABIN2_IMAGE_FILTER=$CAMERA_FILTER
|
||||
export CAMERABIN2_VIDEO_FILTER=$CAMERA_FILTER
|
||||
export CAMERABIN2_VIEWFINDER_FILTER=$CAMERA_FILTER
|
||||
fi
|
||||
1
external/packages/bsp/rk3588/etc/profile.d/qt.sh
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export QT_XCB_GL_INTEGRATION=xcb_egl
|
||||
1
external/packages/bsp/rk3588/etc/profile.d/qtwebengine.sh
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export QTWEBENGINE_CHROMIUM_FLAGS="--no-sandbox --disable-es3-gl-context --ignore-gpu-blacklist --ignore-gpu-blocklist --enable-accelerated-video-decode"
|
||||
13
external/packages/bsp/rk3588/etc/profile.d/usbdevice.sh
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
# The env variables below can be overridden
|
||||
|
||||
# option: adb acm hid mtp ntb rndis uac1 uac2 ums uvc
|
||||
export USB_FUNCS="adb"
|
||||
|
||||
export UMS_FILE=/userdata/ums_shared.img
|
||||
export UMS_SIZE=256M
|
||||
export UMS_FSTYPE=vfat
|
||||
export UMS_MOUNT=0
|
||||
export UMS_MOUNTPOINT=/mnt/ums
|
||||
export UMS_RO=0
|
||||
2
external/packages/bsp/rk3588/etc/profile.d/x11.sh
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export DISPLAY=${DISPLAY:-:0}
|
||||
export TERM=${TERM:-linux}
|
||||
35
external/packages/bsp/rk3588/etc/pulse/client.conf
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
## Configuration file for PulseAudio clients. See pulse-client.conf(5) for
|
||||
## more information. Default values are commented out. Use either ; or # for
|
||||
## commenting.
|
||||
|
||||
; default-sink =
|
||||
; default-source =
|
||||
default-server = unix:/tmp/pulse-socket
|
||||
; default-dbus-server =
|
||||
|
||||
; autospawn = yes
|
||||
; daemon-binary = /usr/bin/pulseaudio
|
||||
; extra-arguments = --log-target=syslog
|
||||
|
||||
; cookie-file =
|
||||
|
||||
; enable-shm = yes
|
||||
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
|
||||
|
||||
; auto-connect-localhost = no
|
||||
; auto-connect-display = no
|
||||
92
external/packages/bsp/rk3588/etc/pulse/daemon.conf
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
|
||||
## more information. Default values are commented out. Use either ; or # for
|
||||
## commenting.
|
||||
|
||||
; daemonize = no
|
||||
; fail = yes
|
||||
; allow-module-loading = yes
|
||||
allow-exit = no
|
||||
; use-pid-file = yes
|
||||
; system-instance = no
|
||||
; local-server-type = user
|
||||
; enable-shm = yes
|
||||
; enable-memfd = yes
|
||||
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
|
||||
; lock-memory = no
|
||||
; cpu-limit = no
|
||||
|
||||
; high-priority = yes
|
||||
; nice-level = -11
|
||||
|
||||
; realtime-scheduling = yes
|
||||
; realtime-priority = 5
|
||||
|
||||
exit-idle-time = -1
|
||||
; scache-idle-time = 20
|
||||
|
||||
; dl-search-path = (depends on architecture)
|
||||
|
||||
; load-default-script-file = yes
|
||||
; default-script-file = /etc/pulse/default.pa
|
||||
|
||||
; log-target = auto
|
||||
; log-level = notice
|
||||
; log-meta = no
|
||||
; log-time = no
|
||||
; log-backtrace = 0
|
||||
|
||||
; resample-method = speex-float-1
|
||||
; avoid-resampling = false
|
||||
; enable-remixing = yes
|
||||
; remixing-use-all-sink-channels = yes
|
||||
; remixing-produce-lfe = no
|
||||
; remixing-consume-lfe = no
|
||||
; lfe-crossover-freq = 0
|
||||
|
||||
; flat-volumes = no
|
||||
|
||||
; rescue-streams = yes
|
||||
|
||||
; rlimit-fsize = -1
|
||||
; rlimit-data = -1
|
||||
; rlimit-stack = -1
|
||||
; rlimit-core = -1
|
||||
; rlimit-as = -1
|
||||
; rlimit-rss = -1
|
||||
; rlimit-nproc = -1
|
||||
; rlimit-nofile = 256
|
||||
; rlimit-memlock = -1
|
||||
; rlimit-locks = -1
|
||||
; rlimit-sigpending = -1
|
||||
; rlimit-msgqueue = -1
|
||||
; rlimit-nice = 31
|
||||
; rlimit-rtprio = 9
|
||||
; rlimit-rttime = 200000
|
||||
|
||||
; default-sample-format = s16le
|
||||
; default-sample-rate = 44100
|
||||
; alternate-sample-rate = 48000
|
||||
; default-sample-channels = 2
|
||||
; default-channel-map = front-left,front-right
|
||||
|
||||
; default-fragments = 4
|
||||
; default-fragment-size-msec = 25
|
||||
|
||||
; enable-deferred-volume = yes
|
||||
; deferred-volume-safety-margin-usec = 8000
|
||||
; deferred-volume-extra-delay-usec = 0
|
||||
143
external/packages/bsp/rk3588/etc/pulse/default.pa
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
#!/usr/bin/pulseaudio -nF
|
||||
#
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# This startup script is used only if PulseAudio is started per-user
|
||||
# (i.e. not in system mode)
|
||||
|
||||
.fail
|
||||
|
||||
### Automatically restore the volume of streams and devices
|
||||
load-module module-device-restore
|
||||
load-module module-stream-restore
|
||||
load-module module-card-restore
|
||||
|
||||
### Automatically augment property information from .desktop files
|
||||
### stored in /usr/share/application
|
||||
load-module module-augment-properties
|
||||
|
||||
load-module module-switch-on-connect blacklist=""
|
||||
### Should be after module-*-restore but before module-*-detect
|
||||
load-module module-switch-on-port-available
|
||||
|
||||
### Load audio drivers statically
|
||||
### (it's probably better to not load these drivers manually, but instead
|
||||
### use module-udev-detect -- see below -- for doing this automatically)
|
||||
#load-module module-alsa-sink
|
||||
#load-module module-alsa-source device=hw:1,0
|
||||
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
|
||||
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
|
||||
#load-module module-null-sink
|
||||
#load-module module-pipe-sink
|
||||
|
||||
### Automatically load driver modules depending on the hardware available
|
||||
.ifexists module-udev-detect.so
|
||||
load-module module-udev-detect
|
||||
.else
|
||||
### Use the static hardware detection module (for systems that lack udev support)
|
||||
load-module module-detect
|
||||
.endif
|
||||
|
||||
### Automatically connect sink and source if JACK server is present
|
||||
.ifexists module-jackdbus-detect.so
|
||||
.nofail
|
||||
load-module module-jackdbus-detect channels=2
|
||||
.fail
|
||||
.endif
|
||||
|
||||
### Automatically load driver modules for Bluetooth hardware
|
||||
.ifexists module-bluetooth-policy.so
|
||||
load-module module-bluetooth-policy
|
||||
.endif
|
||||
|
||||
.ifexists module-bluetooth-discover.so
|
||||
load-module module-bluetooth-discover
|
||||
.endif
|
||||
|
||||
### Load several protocols
|
||||
.ifexists module-esound-protocol-unix.so
|
||||
load-module module-esound-protocol-unix
|
||||
.endif
|
||||
load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse-socket
|
||||
|
||||
### Network access (may be configured with paprefs, so leave this commented
|
||||
### here if you plan to use paprefs)
|
||||
#load-module module-esound-protocol-tcp
|
||||
#load-module module-native-protocol-tcp
|
||||
#load-module module-zeroconf-publish
|
||||
|
||||
### Load the RTP receiver module (also configured via paprefs, see above)
|
||||
#load-module module-rtp-recv
|
||||
|
||||
### Load the RTP sender module (also configured via paprefs, see above)
|
||||
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
|
||||
#load-module module-rtp-send source=rtp.monitor
|
||||
|
||||
### Load additional modules from GSettings. This can be configured with the paprefs tool.
|
||||
### Please keep in mind that the modules configured by paprefs might conflict with manually
|
||||
### loaded modules.
|
||||
.ifexists module-gsettings.so
|
||||
.nofail
|
||||
load-module module-gsettings
|
||||
.fail
|
||||
.endif
|
||||
|
||||
|
||||
### Automatically restore the default sink/source when changed by the user
|
||||
### during runtime
|
||||
### NOTE: This should be loaded as early as possible so that subsequent modules
|
||||
### that look up the default sink/source get the right value
|
||||
load-module module-default-device-restore
|
||||
|
||||
### Automatically move streams to the default sink if the sink they are
|
||||
### connected to dies, similar for sources
|
||||
load-module module-rescue-streams
|
||||
|
||||
### Make sure we always have a sink around, even if it is a null sink.
|
||||
load-module module-always-sink
|
||||
|
||||
### Honour intended role device property
|
||||
load-module module-intended-roles
|
||||
|
||||
### Automatically suspend sinks/sources that become idle for too long
|
||||
load-module module-suspend-on-idle
|
||||
|
||||
### If autoexit on idle is enabled we want to make sure we only quit
|
||||
### when no local session needs us anymore.
|
||||
.ifexists module-console-kit.so
|
||||
load-module module-console-kit
|
||||
.endif
|
||||
.ifexists module-systemd-login.so
|
||||
load-module module-systemd-login
|
||||
.endif
|
||||
|
||||
### Enable positioned event sounds
|
||||
load-module module-position-event-sounds
|
||||
|
||||
### Cork music/video streams when a phone stream is active
|
||||
load-module module-role-cork
|
||||
|
||||
### Modules to allow autoloading of filters (such as echo cancellation)
|
||||
### on demand. module-filter-heuristics tries to determine what filters
|
||||
### make sense, and module-filter-apply does the heavy-lifting of
|
||||
### loading modules and rerouting streams.
|
||||
load-module module-filter-heuristics
|
||||
load-module module-filter-apply
|
||||
|
||||
### Make some devices default
|
||||
#set-default-sink output
|
||||
set-default-source alsa_input.platform-es8388-sound.HiFi__hw_rockchipes8388__source
|
||||
set-default-sink alsa_output.platform-es8388-sound.HiFi__hw_rockchipes8388__sink
|
||||
1
external/packages/bsp/rk3588/etc/udev/rules.d/60-drm.rules
vendored
Normal file
@@ -0,0 +1 @@
|
||||
SUBSYSTEM=="drm", ACTION=="change", ENV{HOTPLUG}=="1", RUN+="/sbin/start-stop-daemon -Sbox /usr/local/bin/drm-hotplug.sh"
|
||||
1
external/packages/bsp/rk3588/etc/udev/rules.d/83-typec.rules
vendored
Normal file
@@ -0,0 +1 @@
|
||||
ACTION=="remove", SUBSYSTEM=="typec", RUN+="/usr/local/bin/typec_usb2.sh"
|
||||
1
external/packages/bsp/rk3588/etc/udev/rules.d/88-rockchip-camera.rules
vendored
Normal file
@@ -0,0 +1 @@
|
||||
ACTION=="add", SUBSYSTEM=="video4linux", ENV{ID_V4L_PRODUCT}=="*_mainpath", SYMLINK+="video-camera0"
|
||||
61
external/packages/bsp/rk3588/etc/udev/rules.d/90-pulseaudio-rockchip.rules
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation; either version 2.1 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
SUBSYSTEM!="sound", GOTO="pulseaudio_end"
|
||||
ACTION!="change", GOTO="pulseaudio_end"
|
||||
KERNEL!="card*", GOTO="pulseaudio_end"
|
||||
SUBSYSTEMS=="usb", GOTO="pulseaudio_check_usb"
|
||||
|
||||
#ATTRS{id}=="rockchiphdmi0", ACTION=="change", ENV{PULSE_PROFILE_SET}="pulse-rockchip-hdmi0.conf"
|
||||
#ATTRS{id}=="rockchiphdmi1", ACTION=="change", ENV{PULSE_PROFILE_SET}="pulse-rockchip-hdmi1.conf"
|
||||
#ATTRS{id}=="rockchiprk168hd", ACTION=="change", ENV{PULSE_PROFILE_SET}="pulse-rockchip.conf"
|
||||
#ATTRS{id}=="ROCKCHIPSPDIF", ACTION=="change", ENV{PULSE_PROFILE_SET}="pulse-rockchip.conf"
|
||||
SUBSYSTEMS=="platform", DRIVERS=="thinkpad_acpi", ENV{PULSE_IGNORE}="1"
|
||||
|
||||
GOTO="pulseaudio_end"
|
||||
|
||||
LABEL="pulseaudio_check_usb"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1978", ENV{PULSE_PROFILE_SET}="native-instruments-audio8dj.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="0839", ENV{PULSE_PROFILE_SET}="native-instruments-audio4dj.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="baff", ENV{PULSE_PROFILE_SET}="native-instruments-traktorkontrol-s4.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="4711", ENV{PULSE_PROFILE_SET}="native-instruments-korecontroller.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="041d", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio2.conf"
|
||||
|
||||
# There appear to be two IDs in use for Traktor Audio 6 (or maybe 17cc:1011
|
||||
# is just incorrect - 17cc:1010 has been verified to be correct at least
|
||||
# for some hardware).
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1010", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio6.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1011", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio6.conf"
|
||||
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1021", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio10.conf"
|
||||
ATTRS{idVendor}=="0763", ATTRS{idProduct}=="2012", ENV{PULSE_PROFILE_SET}="maudio-fasttrack-pro.conf"
|
||||
ATTRS{idVendor}=="045e", ATTRS{idProduct}=="02bb", ENV{PULSE_PROFILE_SET}="kinect-audio.conf"
|
||||
ATTRS{idVendor}=="041e", ATTRS{idProduct}=="322c", ENV{PULSE_PROFILE_SET}="sb-omni-surround-5.1.conf"
|
||||
ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="4014", ENV{PULSE_PROFILE_SET}="dell-dock-tb16-usb-audio.conf"
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1260", ENV{PULSE_PROFILE_SET}="steelseries-arctis-usb-audio.conf"
|
||||
|
||||
# ID 1038:12ad is for the 2018 refresh of the Arctis 7.
|
||||
# ID 1038:1294 is for Arctis Pro Wireless (which works with the Arctis 7
|
||||
# configuration).
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="12ad", ENV{PULSE_PROFILE_SET}="steelseries-arctis-usb-audio.conf"
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1294", ENV{PULSE_PROFILE_SET}="steelseries-arctis-usb-audio.conf"
|
||||
|
||||
ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="4987", ENV{PULSE_PROFILE_SET}="st2557-pc-usb-audio.conf"
|
||||
# Sugon W330-H35A
|
||||
ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="491b", ENV{PULSE_PROFILE_SET}="22d4-us-usb-audio.conf"
|
||||
|
||||
LABEL="pulseaudio_end"
|
||||
20
external/packages/bsp/rk3588/etc/udev/rules.d/99-rockchip-permissions.rules
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
ACTION=="remove", GOTO="permissions_end"
|
||||
|
||||
# VPU devices
|
||||
KERNEL=="avsd", MODE="0660", GROUP="video"
|
||||
KERNEL=="vepu", MODE="0660", GROUP="video"
|
||||
KERNEL=="h265e", MODE="0660", GROUP="video"
|
||||
KERNEL=="rkvdec", MODE="0660", GROUP="video"
|
||||
KERNEL=="rkvenc", MODE="0660", GROUP="video"
|
||||
KERNEL=="mpp_service", MODE="0660", GROUP="video"
|
||||
KERNEL=="vpu[_-]service", MODE="0660", GROUP="video"
|
||||
KERNEL=="hevc[_-]service", MODE="0660", GROUP="video"
|
||||
|
||||
# RGA device
|
||||
KERNEL=="rga", MODE="0660", GROUP="video"
|
||||
|
||||
# MALI devices (/dev/mali for mali400)
|
||||
KERNEL=="mali*", MODE="0660", GROUP="video"
|
||||
|
||||
LABEL="permissions_end"
|
||||
|
||||
BIN
external/packages/bsp/rk3588/usr/bin/brcm_patchram_plus
vendored
Executable file
44
external/packages/bsp/rk3588/usr/bin/bt_pcba_test
vendored
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
killall brcm_patchram_plus1
|
||||
|
||||
echo 0 > /sys/class/rfkill/rfkill0/state
|
||||
sleep 2
|
||||
echo 1 > /sys/class/rfkill/rfkill0/state
|
||||
sleep 2
|
||||
|
||||
COMPATIBLE=$(cat /proc/device-tree/compatible)
|
||||
|
||||
if [[ $(expr $COMPATIBLE : ".*rk3588") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS8 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*rk3568") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS8 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*rk3566") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS0 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*rk3399") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS0 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*rk3288") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS0 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*rk3326") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS1 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*px30") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS1 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
else
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS0 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
fi
|
||||
5
external/packages/bsp/rk3588/usr/bin/restart_rknn.sh
vendored
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
killall start_rknn.sh > /dev/null 2>&1
|
||||
killall rknn_server > /dev/null 2>&1
|
||||
start_rknn.sh &
|
||||
BIN
external/packages/bsp/rk3588/usr/bin/rknn_camera
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/bin/rknn_demo
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/bin/rknn_server
vendored
Executable file
7
external/packages/bsp/rk3588/usr/bin/start_rknn.sh
vendored
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
while true
|
||||
do
|
||||
sleep 1
|
||||
rknn_server #>/dev/null 2>&1
|
||||
done
|
||||
25
external/packages/bsp/rk3588/usr/bin/usb-hotplug
vendored
Executable file
@@ -0,0 +1,25 @@
|
||||
#! /bin/sh
|
||||
|
||||
sleep 1
|
||||
dev_path=/sys$1
|
||||
state=`cat ${dev_path}/state`
|
||||
if [ "$state"x != "config"x ] ; then
|
||||
UDC=`ls /sys/class/udc/| awk '{print $1}'`
|
||||
echo $UDC > /sys/kernel/config/usb_gadget/rockchip/UDC
|
||||
functions=`cat /sys/kernel/config/usb_gadget/rockchip/configs/b.1/strings/0x409/configuration`
|
||||
|
||||
# if no "_" string to "cut" command, it will set the full string to output.
|
||||
# add "_" to string functions avoiding no "_" case
|
||||
i=2
|
||||
functions=_${functions}
|
||||
|
||||
tmp=`echo $functions | cut -d _ -f $i`
|
||||
until [ -z "$tmp" ]; do
|
||||
if [ "$tmp" == "mtp" ]; then
|
||||
mtp-server&
|
||||
break
|
||||
fi
|
||||
i=`expr $i + 1`
|
||||
tmp=`echo $functions | cut -d _ -f $i`
|
||||
done
|
||||
fi
|
||||
620
external/packages/bsp/rk3588/usr/bin/usbdevice
vendored
Executable file
@@ -0,0 +1,620 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
# Uncomment below to see more logs
|
||||
# set -x
|
||||
|
||||
# Load default env variables from profiles
|
||||
. /etc/profile
|
||||
|
||||
LOG_FILE=/tmp/usbdevice.log
|
||||
USB_FUNCS_FILE=/tmp/.usbdevice
|
||||
|
||||
alias usb_enable='touch $USB_FUNCS_FILE'
|
||||
alias usb_disable='rm -f $USB_FUNCS_FILE'
|
||||
alias usb_is_enabled='[ -f $USB_FUNCS_FILE ]'
|
||||
alias usb_set_started='echo $USB_FUNCS > $USB_FUNCS_FILE'
|
||||
usb_get_started()
|
||||
{
|
||||
usb_is_enabled || return 0
|
||||
cat $USB_FUNCS_FILE
|
||||
}
|
||||
|
||||
CONFIGFS_DIR=/sys/kernel/config
|
||||
USB_GROUP=rockchip
|
||||
USB_STRINGS_ATTR=strings/0x409
|
||||
USB_GADGET_DIR=$CONFIGFS_DIR/usb_gadget/$USB_GROUP
|
||||
USB_GADGET_STRINGS_DIR=$USB_GADGET_DIR/$USB_STRINGS_ATTR
|
||||
USB_FUNCTIONS_DIR=$USB_GADGET_DIR/functions
|
||||
USB_CONFIGS_DIR=$USB_GADGET_DIR/configs/b.1
|
||||
USB_CONFIGS_STRINGS_DIR=$USB_CONFIGS_DIR/$USB_STRINGS_ATTR
|
||||
|
||||
# Make sure that we own this session (pid equals sid)
|
||||
if ! ps x -o cmd,pid,sid | grep -wq "$$$"; then
|
||||
setsid $0 $@
|
||||
exit $?
|
||||
fi
|
||||
|
||||
# ---- helper functions
|
||||
usb_msg()
|
||||
{
|
||||
logger -t $(basename $0) "[$$]: $@"
|
||||
echo "[$(date +"%F %T")] $@"
|
||||
}
|
||||
|
||||
usb_pid()
|
||||
{
|
||||
case $1 in
|
||||
ums) echo 0x0000;;
|
||||
mtp) echo 0x0001;;
|
||||
uvc) echo 0x0005;;
|
||||
adb) echo 0x0006;;
|
||||
adb_mtp) echo 0x0011;;
|
||||
adb_ums) echo 0x0018;;
|
||||
adb_uvc) echo 0x0015;;
|
||||
ntb_uvc) echo 0x0017;;
|
||||
acm) echo 0x1005;;
|
||||
*) echo 0x0019;;
|
||||
esac
|
||||
}
|
||||
|
||||
usb_instances()
|
||||
{
|
||||
for func in $@; do
|
||||
VAR=$(echo $func | tr 'a-z' 'A-Z')_INSTANCES
|
||||
eval echo "\${$VAR:-$func.gs0}"
|
||||
done
|
||||
}
|
||||
|
||||
usb_run_stage()
|
||||
{
|
||||
for f in $1_pre_$2_hook $1_$2 $1_post_$2_hook; do
|
||||
type $f >/dev/null 2>/dev/null || continue
|
||||
|
||||
usb_msg "Run stage: $f"
|
||||
eval $f || break
|
||||
done
|
||||
}
|
||||
|
||||
usb_wait_files()
|
||||
{
|
||||
for i in `seq 200`;do
|
||||
fuser -s $@ 2>/dev/null && break
|
||||
sleep .01
|
||||
done
|
||||
}
|
||||
|
||||
usb_release_files()
|
||||
{
|
||||
for i in `seq 200`;do
|
||||
fuser -s -k $@ 2>/dev/null || break
|
||||
sleep .01
|
||||
done
|
||||
}
|
||||
|
||||
# usage: usb_mount <src> <mountpoint> <options>
|
||||
usb_mount()
|
||||
{
|
||||
mkdir -p $2
|
||||
mountpoint -q $2 || mount $@
|
||||
}
|
||||
|
||||
usb_umount()
|
||||
{
|
||||
mountpoint -q $1 || return 0
|
||||
usb_release_files -m $1
|
||||
umount $1
|
||||
}
|
||||
|
||||
usb_symlink()
|
||||
{
|
||||
mkdir -p $1
|
||||
[ -e $2 ] || ln -s $1 $2
|
||||
}
|
||||
|
||||
usb_try_symlink()
|
||||
{
|
||||
usb_symlink $@ &>/dev/null || true
|
||||
}
|
||||
|
||||
usb_write()
|
||||
{
|
||||
if echo "x$1" | grep -q "^x-"; then
|
||||
OPTS=$1
|
||||
shift
|
||||
fi
|
||||
|
||||
FILE=$1
|
||||
shift
|
||||
|
||||
if [ -r $FILE ] && [ "$(cat $FILE)" = "$@" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo $OPTS "$@" > $FILE
|
||||
}
|
||||
|
||||
usb_try_write()
|
||||
{
|
||||
usb_write $@ &>/dev/null || true
|
||||
}
|
||||
|
||||
usb_start_daemon()
|
||||
{
|
||||
NAME=$(echo $1 | sed "s#^[^ ]*/\([^ ]*\).*#\1#")
|
||||
TAG_FILE=/tmp/.usb_$NAME
|
||||
|
||||
# Enable spawn
|
||||
touch $TAG_FILE
|
||||
|
||||
# Already started
|
||||
[ -z "$(usb_get_started)" ] || return 0
|
||||
|
||||
# Start and spawn background daemon
|
||||
{
|
||||
exec 3<&-
|
||||
|
||||
cd /
|
||||
while usb_is_enabled; do
|
||||
# Don't spawn after stopped
|
||||
[ ! -f $TAG_FILE ] ||
|
||||
start-stop-daemon -Sqx $@ || true
|
||||
sleep .5
|
||||
done
|
||||
}&
|
||||
}
|
||||
|
||||
usb_stop_daemon()
|
||||
{
|
||||
NAME=$(echo $1 | sed "s#^[^ ]*/\([^ ]*\).*#\1#")
|
||||
TAG_FILE=/tmp/.usb_$NAME
|
||||
|
||||
# Stop and disable spawn
|
||||
rm -f $TAG_FILE
|
||||
start-stop-daemon -Kqox $@
|
||||
}
|
||||
|
||||
usb_load_config()
|
||||
{
|
||||
USB_CONFIG_FILE=$(find /etc/ -name .usb_config | head -n 1)
|
||||
[ -n "$USB_CONFIG_FILE" -a -r $USB_CONFIG_FILE ] || return 0
|
||||
|
||||
ums_parse()
|
||||
{
|
||||
grep "\<$1=" $USB_CONFIG_FILE | cut -d'=' -f2
|
||||
}
|
||||
UMS_FILE=$(ums_parse ums_block)
|
||||
UMS_SIZE=$(ums_parse ums_block_size || echo 0)M
|
||||
UMS_FSTYPE=$(ums_parse ums_block_type)
|
||||
UMS_MOUNT=$([ "$(ums_parse ums_block_auto_mount)" != on ]; echo $?)
|
||||
UMS_RO=$([ "$(ums_parse ums_block_ro)" != on ]; echo $?)
|
||||
|
||||
USB_FUNCS=$(grep "usb_.*_en" $USB_CONFIG_FILE | cut -d'_' -f2 | xargs)
|
||||
}
|
||||
|
||||
# ---- adb
|
||||
ADB_INSTANCES=${ADB_INSTANCES:-ffs.adb}
|
||||
|
||||
adb_prepare()
|
||||
{
|
||||
usb_mount adb /dev/usb-ffs/adb -o uid=2000,gid=2000 -t functionfs
|
||||
usb_start_daemon /usr/bin/adbd
|
||||
usb_wait_files -m /dev/usb-ffs/adb
|
||||
}
|
||||
|
||||
adb_stop()
|
||||
{
|
||||
usb_stop_daemon /usr/bin/adbd
|
||||
}
|
||||
|
||||
# ---- ntb
|
||||
NTB_INSTANCES=${NTB_INSTANCES:-ffs.ntb}
|
||||
|
||||
ntb_prepare()
|
||||
{
|
||||
usb_mount ntb /dev/usb-ffs/ntb -o uid=2000,gid=2000 -t functionfs
|
||||
}
|
||||
|
||||
# ---- uac1
|
||||
uac1_prepare()
|
||||
{
|
||||
for f in $(find . -name "*_feature_unit"); do
|
||||
echo 1 >$f
|
||||
done
|
||||
}
|
||||
|
||||
# ---- uac2
|
||||
uac2_prepare()
|
||||
{
|
||||
uac1_prepare
|
||||
}
|
||||
|
||||
# ---- mtp
|
||||
mtp_prepare()
|
||||
{
|
||||
echo "MTP" > os_desc/interface.MTP/compatible_id
|
||||
echo 1 > $USB_GADGET_DIR/os_desc/use
|
||||
}
|
||||
|
||||
mtp_start()
|
||||
{
|
||||
usb_start_daemon /usr/bin/mtp-server
|
||||
usb_wait_files /dev/mtp_usb
|
||||
}
|
||||
|
||||
mtp_stop()
|
||||
{
|
||||
usb_stop_daemon /usr/bin/mtp-server
|
||||
usb_release_files /dev/mtp_usb
|
||||
|
||||
echo 0 > $USB_GADGET_DIR/os_desc/use
|
||||
}
|
||||
|
||||
# ---- acm
|
||||
ACM_INSTANCES=${ACM_INSTANCES:-acm.gs6}
|
||||
|
||||
# ---- rndis
|
||||
# Nothing special
|
||||
|
||||
# ---- uvc
|
||||
UVC_INSTANCES=${UVC_INSTANCES:-uvc.gs6}
|
||||
|
||||
uvc_add_yuyv()
|
||||
{
|
||||
WIDTH=$(echo $1 | cut -d'x' -f1)
|
||||
HEIGHT=$(echo $1 | cut -d'x' -f2)
|
||||
DIR=${HEIGHT}p
|
||||
|
||||
[ ! -d $DIR ] || return 0
|
||||
|
||||
mkdir -p $DIR
|
||||
echo $WIDTH > $DIR/wWidth
|
||||
echo $HEIGHT > $DIR/wHeight
|
||||
echo 333333 > $DIR/dwDefaultFrameInterval
|
||||
echo $((WIDTH * HEIGHT * 20)) > $DIR/dwMinBitRate
|
||||
echo $((WIDTH * HEIGHT * 20)) > $DIR/dwMaxBitRate
|
||||
echo $((WIDTH * HEIGHT * 2)) > $DIR/dwMaxVideoFrameBufferSize
|
||||
echo -e "333333\n666666\n1000000\n2000000" > $DIR/dwFrameInterval
|
||||
}
|
||||
|
||||
uvc_add_mjpeg()
|
||||
{
|
||||
WIDTH=$(echo $1 | cut -d'x' -f1)
|
||||
HEIGHT=$(echo $1 | cut -d'x' -f2)
|
||||
DIR=${HEIGHT}p
|
||||
|
||||
[ ! -d $DIR ] || return 0
|
||||
|
||||
mkdir -p $DIR
|
||||
echo $WIDTH > $DIR/wWidth
|
||||
echo $HEIGHT > $DIR/wHeight
|
||||
echo 333333 > $DIR/dwDefaultFrameInterval
|
||||
echo $((WIDTH * HEIGHT * 20)) > $DIR/dwMinBitRate
|
||||
echo $((WIDTH * HEIGHT * 20)) > $DIR/dwMaxBitRate
|
||||
echo $((WIDTH * HEIGHT * 2)) > $DIR/dwMaxVideoFrameBufferSize
|
||||
echo -e "333333\n666666\n1000000\n2000000" > $DIR/dwFrameInterval
|
||||
}
|
||||
|
||||
uvc_add_h264()
|
||||
{
|
||||
WIDTH=$(echo $1 | cut -d'x' -f1)
|
||||
HEIGHT=$(echo $1 | cut -d'x' -f2)
|
||||
DIR=${HEIGHT}p
|
||||
|
||||
[ ! -d $DIR ] || return 0
|
||||
|
||||
mkdir -p $DIR
|
||||
echo $WIDTH > $DIR/wWidth
|
||||
echo $HEIGHT > $DIR/wHeight
|
||||
echo 333333 > $DIR/dwDefaultFrameInterval
|
||||
echo $((WIDTH * HEIGHT * 10)) > $DIR/dwMinBitRate
|
||||
echo $((WIDTH * HEIGHT * 10)) > $DIR/dwMaxBitRate
|
||||
echo -e "333333\n666666\n1000000\n2000000" > $DIR/dwFrameInterval
|
||||
}
|
||||
|
||||
uvc_support_resolutions()
|
||||
{
|
||||
case ${1:-yuyv} in
|
||||
yuyv) echo "640x480 1280x720";;
|
||||
mjpeg) echo "640x480 1280x720 1920x1080 2560x1440 2592x1944";;
|
||||
h264) echo "640x480 1280x720 1920x1080";;
|
||||
esac
|
||||
}
|
||||
|
||||
uvc_prepare()
|
||||
{
|
||||
UVC_DIR=$(pwd)
|
||||
|
||||
usb_symlink $UVC_DIR/control/header/h $UVC_DIR/control/class/fs/h
|
||||
usb_symlink $UVC_DIR/control/header/h $UVC_DIR/control/class/ss/h
|
||||
|
||||
usb_symlink $UVC_DIR/streaming/header/h $UVC_DIR/streaming/class/fs/h
|
||||
usb_symlink $UVC_DIR/streaming/header/h $UVC_DIR/streaming/class/hs/h
|
||||
usb_symlink $UVC_DIR/streaming/header/h $UVC_DIR/streaming/class/ss/h
|
||||
|
||||
UVC_YUYV_RES=$(uvc_support_resolutions yuyv)
|
||||
if [ -n "$UVC_YUYV_RES" ]; then
|
||||
usb_try_symlink $UVC_DIR/streaming/uncompressed/u \
|
||||
$UVC_DIR/streaming/header/h/u
|
||||
cd $UVC_DIR/streaming/uncompressed/u
|
||||
|
||||
for res in $UVC_YUYV_RES; do
|
||||
uvc_add_yuyv $res
|
||||
done
|
||||
fi
|
||||
|
||||
UVC_MJPEG_RES=$(uvc_support_resolutions mjpeg)
|
||||
if [ -n "$UVC_MJPEG_RES" ]; then
|
||||
usb_try_symlink $UVC_DIR/streaming/mjpeg/m \
|
||||
$UVC_DIR/streaming/header/h/m
|
||||
cd $UVC_DIR/streaming/mjpeg/m
|
||||
|
||||
for res in $UVC_MJPEG_RES; do
|
||||
uvc_add_mjpeg $res
|
||||
done
|
||||
fi
|
||||
|
||||
UVC_H264_RES=$(uvc_support_resolutions h264)
|
||||
if [ -n "$UVC_H264_RES" ]; then
|
||||
usb_try_symlink $UVC_DIR/streaming/framebased/f \
|
||||
$UVC_DIR/streaming/header/h/f
|
||||
cd $UVC_DIR/streaming/framebased/f
|
||||
|
||||
for res in $UVC_H264_RES; do
|
||||
uvc_add_h264 $res
|
||||
done
|
||||
|
||||
usb_try_write -ne guidFormat "\\x48\\x32\\x36\\x34\\x00\\x00\\x10\\x00\\x80\\x00\\x00\\xaa\\x00\\x38\\x9b\\x71"
|
||||
fi
|
||||
}
|
||||
|
||||
# TODO: Start UVC daemon in uvc_start
|
||||
# TODO: Stop UVC daemon in uvc_stop
|
||||
|
||||
# ---- hid
|
||||
HID_INSTANCES=${HID_INSTANCES:-hid.usb0}
|
||||
|
||||
hid_prepare()
|
||||
{
|
||||
echo 1 > protocol
|
||||
echo 1 > subclass
|
||||
echo 8 > report_length
|
||||
echo -ne "\\x05\\x01\\x09\\x06\\xa1\\x01\\x05\\x07\\x19\\xe0\\x29\\xe7\\x15\\x00\\x25\\x01\\x75\\x01\\x95\\x08\\x81\\x02\\x95\\x01\\x75\\x08\\x81\\x03\\x95\\x05\\x75\\x01\\x05\\x08\\x19\\x01\\x29\\x05\\x91\\x02\\x95\\x01\\x75\\x03\\x91\\x03\\x95\\x06\\x75\\x08\\x15\\x00\\x25\\x65\\x05\\x07\\x19\\x00\\x29\\x65\\x81\\x00\\xc0" \
|
||||
> report_desc
|
||||
}
|
||||
|
||||
# ---- ums
|
||||
UMS_INSTANCES=${UMS_INSTANCES:-mass_storage.0}
|
||||
|
||||
ums_prepare()
|
||||
{
|
||||
if [ ! -f $UMS_FILE ]; then
|
||||
usb_msg "Formating $UMS_FILE($UMS_SIZE) to $UMS_FSTYPE"
|
||||
truncate -s $UMS_SIZE $UMS_FILE
|
||||
mkfs.$UMS_FSTYPE $UMS_FILE || \
|
||||
usb_msg "Failed to format $UMS_FILE to $UMS_FSTYPE"
|
||||
fi
|
||||
}
|
||||
|
||||
ums_stop()
|
||||
{
|
||||
echo > lun.0/file
|
||||
usb_umount $UMS_MOUNTPOINT
|
||||
|
||||
[ "$UMS_MOUNT" -eq 1 ] || return 0
|
||||
|
||||
# Try auto fstype firstly
|
||||
usb_mount $UMS_FILE $UMS_MOUNTPOINT -o sync 2>/dev/null || \
|
||||
usb_mount $UMS_FILE $UMS_MOUNTPOINT -o sync -t $UMS_FSTYPE
|
||||
}
|
||||
|
||||
ums_start()
|
||||
{
|
||||
case "$USB_STATE" in
|
||||
CONFIGURED)
|
||||
if [ "$(cat lun.0/ro)" != "$UMS_RO" ]; then
|
||||
echo > lun.0/file
|
||||
echo $UMS_RO > lun.0/ro
|
||||
fi
|
||||
|
||||
if ! grep -wq $UMS_FILE lun.0/file; then
|
||||
usb_umount $UMS_MOUNTPOINT
|
||||
echo $UMS_FILE > lun.0/file
|
||||
fi
|
||||
;;
|
||||
DISCONNECTED)
|
||||
ums_stop
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# ---- global
|
||||
usb_init()
|
||||
{
|
||||
usb_msg "Initializing"
|
||||
|
||||
echo 0x2207 > idVendor
|
||||
echo 0x0310 > bcdDevice
|
||||
echo 0x0200 > bcdUSB
|
||||
|
||||
mkdir -p $USB_GADGET_STRINGS_DIR
|
||||
SERIAL=$(grep Serial /proc/cpuinfo | cut -d':' -f2)
|
||||
echo ${SERIAL:-0123456789ABCDEF} > $USB_GADGET_STRINGS_DIR/serialnumber
|
||||
echo $USB_GROUP > $USB_GADGET_STRINGS_DIR/manufacturer
|
||||
echo "rk3xxx" > $USB_GADGET_STRINGS_DIR/product
|
||||
|
||||
mkdir -p $USB_CONFIGS_DIR
|
||||
echo 500 > $USB_CONFIGS_DIR/MaxPower
|
||||
|
||||
echo 0x1 > os_desc/b_vendor_code
|
||||
echo MSFT100 > os_desc/qw_sign
|
||||
ln -s $USB_CONFIGS_DIR os_desc/
|
||||
|
||||
mkdir -p $USB_CONFIGS_STRINGS_DIR
|
||||
}
|
||||
|
||||
usb_funcs_grep()
|
||||
{
|
||||
echo $USB_FUNCS | xargs -n 1 | sort | uniq | grep $@ || true
|
||||
}
|
||||
|
||||
usb_funcs_sort()
|
||||
{
|
||||
{
|
||||
for func in $@; do
|
||||
usb_funcs_grep -E $func
|
||||
done
|
||||
usb_funcs_grep -vE $(echo $@ | tr ' ' '|')
|
||||
} | uniq | xargs
|
||||
}
|
||||
|
||||
usb_prepare()
|
||||
{
|
||||
usb_load_config
|
||||
|
||||
# Allow function/variable overriding
|
||||
[ -d /etc/usbdevice.d ] && . /etc/usbdevice.d/*
|
||||
|
||||
UMS_FILE=${UMS_FILE:-/userdata/ums_shared.img}
|
||||
UMS_SIZE=${UMS_SIZE:-256M}
|
||||
UMS_FSTYPE=${UMS_FSTYPE:-vfat}
|
||||
UMS_MOUNT=${UMS_MOUNT:-0}
|
||||
UMS_MOUNTPOINT=${UMS_MOUNTPOINT:-/mnt/ums}
|
||||
UMS_RO=${UMS_RO:-0}
|
||||
|
||||
# Put RNDIS & UAC & UVC at first (required by kernel)
|
||||
USB_FUNCS=$(usb_funcs_sort rndis uac uvc)
|
||||
|
||||
if [ ! -d $USB_GADGET_DIR ]; then
|
||||
mountpoint -q $CONFIGFS_DIR || \
|
||||
mount -t configfs none $CONFIGFS_DIR
|
||||
|
||||
mkdir -p $USB_GADGET_DIR
|
||||
cd $USB_GADGET_DIR
|
||||
|
||||
# Global initialize
|
||||
usb_run_stage usb init
|
||||
fi
|
||||
|
||||
USB_STATE=$(cat /sys/class/android_usb/android0/state)
|
||||
USB_UDC=$(ls /sys/class/udc/ | head -n 1)
|
||||
|
||||
# Parse started USB functions
|
||||
OLD_FUNCS=$(usb_get_started)
|
||||
|
||||
# Stop old USB functions when USB functions changed
|
||||
if [ -n "$OLD_FUNCS" ] && [ "$OLD_FUNCS" != "$USB_FUNCS" ]; then
|
||||
usb_msg "Functions changed $OLD_FUNCS -> $USB_FUNCS"
|
||||
usb_stop
|
||||
fi
|
||||
}
|
||||
|
||||
usb_start()
|
||||
{
|
||||
usb_msg "Starting functions: $USB_FUNCS"
|
||||
|
||||
echo $USB_FUNCS | tr ' ' '_' > $USB_CONFIGS_STRINGS_DIR/configuration
|
||||
|
||||
for func in $USB_FUNCS; do
|
||||
for instance in $(usb_instances $func); do
|
||||
usb_msg "Preparing instance: $instance"
|
||||
|
||||
if ! mkdir -p $USB_FUNCTIONS_DIR/$instance 2>/dev/null; then
|
||||
usb_msg "Failed to create instance: $instance"
|
||||
continue
|
||||
fi
|
||||
|
||||
cd $USB_FUNCTIONS_DIR/$instance &>/dev/null || continue
|
||||
|
||||
usb_run_stage $func prepare
|
||||
|
||||
# Make symlink after prepared (required by UVC)
|
||||
usb_symlink $USB_FUNCTIONS_DIR/$instance \
|
||||
$USB_CONFIGS_DIR/f-$instance
|
||||
done
|
||||
done
|
||||
|
||||
usb_write $USB_GADGET_DIR/UDC $USB_UDC
|
||||
|
||||
for func in $USB_FUNCS; do
|
||||
for instance in $(usb_instances $func); do
|
||||
cd $USB_FUNCTIONS_DIR/$instance &>/dev/null || continue
|
||||
|
||||
usb_msg "Starting instance: $instance"
|
||||
usb_run_stage $func start
|
||||
done
|
||||
done
|
||||
|
||||
# Store started functions
|
||||
usb_set_started
|
||||
}
|
||||
|
||||
usb_stop()
|
||||
{
|
||||
if [ -n "$OLD_FUNCS" ]; then
|
||||
usb_msg "Stopping functions: $OLD_FUNCS"
|
||||
fi
|
||||
|
||||
usb_write $USB_GADGET_DIR/UDC ""
|
||||
|
||||
for func in $USB_FUNCS; do
|
||||
for instance in $(usb_instances $func); do
|
||||
cd $USB_FUNCTIONS_DIR/$instance &>/dev/null || continue
|
||||
|
||||
usb_msg "Stopping instance: $instance"
|
||||
usb_run_stage $func stop
|
||||
done
|
||||
done
|
||||
|
||||
rm -f $USB_CONFIGS_DIR/f-*
|
||||
|
||||
# Clear functions to avoid stopping them again
|
||||
unset OLD_FUNCS
|
||||
}
|
||||
|
||||
usb_restart()
|
||||
{
|
||||
usb_run_stage usb stop
|
||||
usb_run_stage usb start
|
||||
}
|
||||
|
||||
ACTION=${1:-update}
|
||||
if [ "$ACTION" = update ]; then
|
||||
usb_is_enabled || exit 0
|
||||
fi
|
||||
|
||||
# Lock it
|
||||
exec 3<$0
|
||||
flock -x 3
|
||||
|
||||
echo "Starting $0 ${ACTION}, log saved to $LOG_FILE"
|
||||
|
||||
# Redirect outputs to log file
|
||||
exec >>$LOG_FILE 2>&1
|
||||
|
||||
usb_msg "Handling ${ACTION} request"
|
||||
|
||||
usb_run_stage usb prepare
|
||||
|
||||
case "$ACTION" in
|
||||
start|update)
|
||||
usb_enable
|
||||
usb_run_stage usb start
|
||||
;;
|
||||
stop)
|
||||
usb_disable
|
||||
usb_run_stage usb stop
|
||||
;;
|
||||
restart)
|
||||
usb_enable
|
||||
usb_run_stage usb restart
|
||||
;;
|
||||
*)
|
||||
echo "Usage: usbdevice [start|stop|restart|update]" >&2
|
||||
;;
|
||||
esac
|
||||
|
||||
usb_msg "Done $ACTION request"
|
||||
echo
|
||||
|
||||
# Unlock it
|
||||
flock -u 3
|
||||
BIN
external/packages/bsp/rk3588/usr/lib/libminigui_ths-3.2.so.0
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/lib/libpng12.so
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/lib/libpng12.so.0
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/lib/librkisp.so
vendored
Normal file
BIN
external/packages/bsp/rk3588/usr/lib/librknn_api.so
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/lib/librknnrt.so
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/lib/librkuvc.so
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/lib/libtinyalsa.so
vendored
Executable file
5
external/packages/bsp/rk3588/usr/lib/systemd/system/getty@.service.d/override.conf
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
[Service]
|
||||
ExecStartPre=/bin/sh -c 'exec /bin/sleep 10'
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --noissue --autologin orangepi %I $TERM
|
||||
Type=idle
|
||||
5
external/packages/bsp/rk3588/usr/lib/systemd/system/serial-getty@.service.d/override.conf
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
[Service]
|
||||
ExecStartPre=/bin/sh -c 'exec /bin/sleep 10'
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --noissue --autologin orangepi %I $TERM
|
||||
Type=idle
|
||||
12
external/packages/bsp/rk3588/usr/lib/systemd/system/usbdevice.service
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Manage USB device functions
|
||||
DefaultDependencies=no
|
||||
After=local-fs.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/bin/usbdevice start
|
||||
ExecStop=/usr/bin/usbdevice stop
|
||||
|
||||
[Install]
|
||||
WantedBy=sysinit.target
|
||||
29
external/packages/bsp/rk3588/usr/lib/udev/rules.d/61-partition-init.rules
vendored
Executable file
@@ -0,0 +1,29 @@
|
||||
# rockchip internal storage links: /dev/disk/by-partlabel and /dev/block/by-name
|
||||
|
||||
ACTION=="remove", GOTO="rk_internal_storage_end"
|
||||
ENV{UDEV_DISABLE_ROCKCHIP_STORAGE_RULES_FLAG}=="1", GOTO="rk_internal_storage_end"
|
||||
SUBSYSTEM!="block|mtd", GOTO="rk_internal_storage_end"
|
||||
KERNEL!="mmcblk*[0-9]|rkflash*|rknand*|mtd*|nvme*", GOTO="rk_internal_storage_end"
|
||||
|
||||
# ignore partitions that span the entire disk
|
||||
TEST=="whole_disk", GOTO="rk_internal_storage_end"
|
||||
|
||||
# for partitions import parent information
|
||||
ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
|
||||
|
||||
# for rknand parameter partition name
|
||||
ENV{DEVNAME}=="/dev/rknand*", ENV{DEVTYPE}=="disk", ENV{DEVPATH}=="/devices/virtual/block/rknand", ENV{ID_RKNAND_PART_NAME}=""
|
||||
|
||||
# for rkflash gpt partition name by-partlabel and /dev/block/by-name link
|
||||
ENV{DEVTYPE}=="partition", ENV{PARTNAME}=="?*", SYMLINK+="disk/by-partlabel/$env{PARTNAME}", SYMLINK+="block/by-name/$env{PARTNAME}"
|
||||
|
||||
# for emmc gpt partition name /dev/block/by-name link
|
||||
ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_NAME}=="?*", SYMLINK+="block/by-name/$env{ID_PART_ENTRY_NAME}"
|
||||
|
||||
# for mtd partition name /dev/block/by-name link
|
||||
ENV{DEVNAME}=="/dev/mtd*", ENV{DEVTYPE}=="mtd", ATTRS{name}=="?*", SYMLINK+="block/by-name/$attr{name}"
|
||||
|
||||
# for nvme partition name /dev/block/by-name link
|
||||
ENV{DEVNAME}=="/dev/nvme*", ENV{DEVTYPE}=="disk", ATTRS{name}=="?*", SYMLINK+="block/by-name/$attr{name}"
|
||||
|
||||
LABEL="rk_internal_storage_end"
|
||||
1
external/packages/bsp/rk3588/usr/lib/udev/rules.d/61-usbdevice.rules
vendored
Executable file
@@ -0,0 +1 @@
|
||||
SUBSYSTEM=="android_usb",ACTION=="change",RUN+="/usr/bin/usbdevice update"
|
||||
29
external/packages/bsp/rk3588/usr/local/bin/auto_login_cli.sh
vendored
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
user=root
|
||||
else
|
||||
user=$1
|
||||
fi
|
||||
|
||||
[[ -d /lib/systemd/system/getty@.service.d/ ]] && rm /lib/systemd/system/getty@.service.d/ -rf
|
||||
[[ -f /lib/systemd/system/serial-getty@.service.d/override.conf ]] && rm /lib/systemd/system/serial-getty@.service.d/override.conf -f
|
||||
[[ -d /etc/systemd/system/getty@.service.d/ ]] && rm /etc/systemd/system/getty@.service.d/ -rf
|
||||
[[ -f /etc/systemd/system/serial-getty@.service.d/override.conf ]] && rm /etc/systemd/system/serial-getty@.service.d/override.conf -f
|
||||
|
||||
if [[ $1 == "-d" ]]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
mkdir -p /etc/systemd/system/getty@.service.d/
|
||||
mkdir -p /etc/systemd/system/serial-getty@.service.d/
|
||||
cat <<-EOF > \
|
||||
/etc/systemd/system/serial-getty@.service.d/override.conf
|
||||
[Service]
|
||||
ExecStartPre=/bin/sh -c 'exec /bin/sleep 10'
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --noissue --autologin ${user} %I \$TERM
|
||||
Type=idle
|
||||
EOF
|
||||
cp /etc/systemd/system/serial-getty@.service.d/override.conf \
|
||||
/etc/systemd/system/getty@.service.d/override.conf
|
||||
BIN
external/packages/bsp/rk3588/usr/local/bin/blink_all_gpio
vendored
Executable file
3
external/packages/bsp/rk3588/usr/local/bin/cat_serial.sh
vendored
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
cat /proc/cpuinfo | grep "Serial"
|
||||
20
external/packages/bsp/rk3588/usr/local/bin/compile_python.sh
vendored
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential zlib1g-dev \
|
||||
libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev \
|
||||
libreadline-dev libffi-dev curl libbz2-dev
|
||||
|
||||
version=3.9.9
|
||||
[[ -n $1 ]] && version=$1
|
||||
|
||||
# optimize build time with 100% CPU usage
|
||||
CPUS=$(grep -c 'processor' /proc/cpuinfo)
|
||||
CTHREADS="-j$((CPUS + CPUS/2))"
|
||||
|
||||
wget https://cdn.npmmirror.com/binaries/python/$version/Python-${version}.tgz
|
||||
tar xvf Python-${version}.tgz
|
||||
cd Python-${version}
|
||||
./configure --enable-optimizations
|
||||
make ${CTHREADS}
|
||||
sudo make altinstall
|
||||
11
external/packages/bsp/rk3588/usr/local/bin/desktop_login.sh
vendored
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
user=root
|
||||
else
|
||||
user=$1
|
||||
fi
|
||||
|
||||
sudo sed -i '/autologin-user=/d' /etc/lightdm/lightdm.conf.d/22-orangepi-autologin.conf
|
||||
sudo echo autologin-user=${user} >> /etc/lightdm/lightdm.conf.d/22-orangepi-autologin.conf
|
||||
sudo sed -i 's/root/anything/' /etc/pam.d/lightdm-autologin
|
||||
5
external/packages/bsp/rk3588/usr/local/bin/disable_desktop_autologin.sh
vendored
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo sed -i \
|
||||
"s/autologin-user=orangepi/#autologin-user=orangepi/" \
|
||||
/etc/lightdm/lightdm.conf.d/22-orangepi-autologin.conf
|
||||
77
external/packages/bsp/rk3588/usr/local/bin/drm-hotplug.sh
vendored
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
export DISPLAY=${DISPLAY:-:0}
|
||||
|
||||
function prepare_env() {
|
||||
# Try to figure out XAUTHORITY and DISPLAY
|
||||
for pid in $(pgrep X 2>/dev/null || \
|
||||
ls /proc|grep -ow "[0-9]*"|sort -rn); do
|
||||
PROC_DIR=/proc/$pid
|
||||
|
||||
# Filter out non-X processes
|
||||
readlink $PROC_DIR/exe|grep -qwE "X$|Xorg$" || continue
|
||||
|
||||
# Parse auth file and display from cmd args
|
||||
export XAUTHORITY=$(cat $PROC_DIR/cmdline|tr '\0' '\n'| \
|
||||
grep -w "\-auth" -A 1|tail -1)
|
||||
export DISPLAY=$(cat $PROC_DIR/cmdline|tr '\0' '\n'| \
|
||||
grep -w "^:.*" || echo ":0")
|
||||
|
||||
logger -t $0 "Found auth: $XAUTHORITY for dpy: $DISPLAY"
|
||||
return
|
||||
done
|
||||
}
|
||||
|
||||
function xrandr_wrapper() {
|
||||
xrandr --screen ${SCREEN:-0} $@
|
||||
}
|
||||
|
||||
if ! xdpyinfo &>/dev/null; then
|
||||
# Try to setup env
|
||||
prepare_env
|
||||
|
||||
if ! xdpyinfo &>/dev/null; then
|
||||
# Try to switch to an authorized user
|
||||
for XUSER in root $(users);do
|
||||
sudo -u $XUSER xdpyinfo &>/dev/null || continue
|
||||
|
||||
logger -t $0 "Switch to user: $XUSER"
|
||||
sudo -u $XUSER $0; exit 0
|
||||
done
|
||||
|
||||
logger -t $0 "Unable to contact Xserver!"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
TMP=$(mktemp)
|
||||
|
||||
SCREENS=$(xdpyinfo|grep screens|cut -d':' -f2)
|
||||
for SCREEN in $(seq 0 ${SCREENS:-0}); do
|
||||
# Get monitors and current mode info
|
||||
xrandr_wrapper 2>&1|grep -oE "^.*connected|^.*\*"|tee $TMP
|
||||
|
||||
# Result:
|
||||
# eDP-1 connected
|
||||
# 1536x2048 59.99*
|
||||
# DP-1 disconnected
|
||||
# HDMI-1 connected
|
||||
# 1920x1080 60.00*
|
||||
#
|
||||
# "*" means valid current mode.
|
||||
|
||||
# Make sure every connected monitors been enabled with a valid mode.
|
||||
for MONITOR in $(grep -w connected $TMP|cut -d' ' -f1); do
|
||||
# Find monitors without a valid current mode
|
||||
if ! grep -w $MONITOR $TMP -A 1|grep "\*"; then
|
||||
# Ether disabled or wrongly configured
|
||||
xrandr_wrapper --output $MONITOR --auto
|
||||
|
||||
logger -t $0 "Output $MONITOR enabled."
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
rm -rf $TMP
|
||||
|
||||
exit 0
|
||||
3
external/packages/bsp/rk3588/usr/local/bin/enable_docker.sh
vendored
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo systemctl enable docker.service
|
||||
4
external/packages/bsp/rk3588/usr/local/bin/install_bt_panel.sh
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
wget -O install.sh \
|
||||
http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
|
||||
22
external/packages/bsp/rk3588/usr/local/bin/install_docker.sh
vendored
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
source /etc/orangepi-release
|
||||
|
||||
sudo apt-get remove -y docker docker-engine docker-ce docker.io
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
|
||||
|
||||
codename=$(lsb_release -cs)
|
||||
distributor_id=$(lsb_release -is)
|
||||
distributor_id=${distributor_id,}
|
||||
|
||||
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/${distributor_id}/gpg | sudo apt-key add -
|
||||
echo "deb [arch=$(dpkg --print-architecture) \
|
||||
signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
|
||||
https://mirrors.aliyun.com/docker-ce/linux/${distributor_id} \
|
||||
${codename} stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
|
||||
apt-get update
|
||||
apt-get install -y docker-ce docker-ce-cli containerd.io
|
||||
|
||||
sudo usermod -aG docker $USER
|
||||
BIN
external/packages/bsp/rk3588/usr/local/bin/io
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/local/bin/memtester
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/local/bin/modetest
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/local/bin/multivideoplayer
vendored
Executable file
4
external/packages/bsp/rk3588/usr/local/bin/reset_ssh.sh
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo rm /etc/ssh/ssh_host_*
|
||||
sudo dpkg-reconfigure openssh-server
|
||||
BIN
external/packages/bsp/rk3588/usr/local/bin/spidev_test
vendored
Executable file
BIN
external/packages/bsp/rk3588/usr/local/bin/stressapptest
vendored
Executable file
11
external/packages/bsp/rk3588/usr/local/bin/test_camera.sh
vendored
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
export DISPLAY=:0.0
|
||||
#export GST_DEBUG=*:5
|
||||
#export GST_DEBUG_FILE=/tmp/2.txt
|
||||
|
||||
echo "Start MIPI CSI Camera Preview!"
|
||||
|
||||
export XDG_RUNTIME_DIR=/run/user/1000
|
||||
|
||||
gst-launch-1.0 v4l2src device=/dev/video11 io-mode=4 ! queue ! video/x-raw,format=NV12,width=2112,height=1568,framerate=30/1 ! glimagesink
|
||||
7
external/packages/bsp/rk3588/usr/local/bin/test_rknn_demo.sh
vendored
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Start RKNN_DEMO Camera Preview!"
|
||||
echo performance | tee $(find /sys/ -name *governor)
|
||||
sudo service lightdm stop
|
||||
/usr/bin/npu_transfer_proxy&
|
||||
rknn_demo
|
||||
13
external/packages/bsp/rk3588/usr/local/bin/test_rtsp.sh
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
export DISPLAY=:0.0
|
||||
#export GST_DEBUG=*:5
|
||||
#export GST_DEBUG_FILE=/tmp/2.txt
|
||||
|
||||
# server:
|
||||
# vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 \
|
||||
# :v4l2-height=480 --sout="#transcode{vcodec=h264,vb=800,scale=1,\
|
||||
# acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/}" -I dummy
|
||||
|
||||
gst-launch-1.0 rtspsrc location=rtsp://192.168.31.163:8554/ ! \
|
||||
! rtph264depay ! h264parse ! mppvideodec ! rkximagesink sync=false
|
||||