diff --git a/device/device-sony-amami/APKBUILD b/device/device-sony-amami/APKBUILD index 3a6e82ce7..48016e66d 100644 --- a/device/device-sony-amami/APKBUILD +++ b/device/device-sony-amami/APKBUILD @@ -1,15 +1,15 @@ pkgname=device-sony-amami pkgver=1 -pkgrel=13 +pkgrel=14 pkgdesc="Sony Xperia Z1 Compact" url="https://github.com/postmarketOS" arch="noarch" license="MIT" -depends="linux-sony-amami mkbootimg firmware-sony-amami" +depends="linux-sony-amami mkbootimg mdss-fb-init-hack firmware-sony-amami" makedepends="" install="" subpackages="" -source="deviceinfo 90-android-touch-dev.rules fb-workaround.sh udev-v4l-hack.sh" +source="deviceinfo 90-android-touch-dev.rules" options="!check" package() { @@ -17,13 +17,7 @@ package() { "$pkgdir/etc/deviceinfo" install -D -m644 "$srcdir"/90-android-touch-dev.rules \ "$pkgdir"/etc/udev/rules.d/90-android-touch-dev.rules - install -D -m644 "$srcdir"/fb-workaround.sh \ - "$pkgdir"/etc/profile.d/fb-workaround.sh - install -D -m644 "$srcdir"/udev-v4l-hack.sh \ - "$pkgdir"/etc/profile.d/00-udev-v4l-hack.sh } sha512sums="64e3bed1ee54551e6582b5b3f2547fb0cd4d0fab8a8c1beaea4b661113f0bd8d1bb3874ac5d0fcc104806bcf1cf49695c868bec46511bb055662692232d2f3da deviceinfo -8b6034c0338ab4c7d648f47983aad6da07e427e7dba47baabf85a1b3ddeeda47c8d7fbcd547a302c9a759b2943ee30d3e82c3b368d8582833a058e4671638a9e 90-android-touch-dev.rules -281937447a73c18e8eec195cbf485fcd513aec20b8df559c26b89fbefa5872c41865cba2440e2cc8a9cc76801bca9ab61f9562c536c6f5f10c925e3ca7f372f3 fb-workaround.sh -4f528656c4febb18742e89552dfe7fdc824ed4ad6ad2777d20b4f55040edd93d8e3ea657baabcdbe77bd0fb4bd3d23e5e0b2dae574f0df6723b2e26216ee81e1 udev-v4l-hack.sh" +8b6034c0338ab4c7d648f47983aad6da07e427e7dba47baabf85a1b3ddeeda47c8d7fbcd547a302c9a759b2943ee30d3e82c3b368d8582833a058e4671638a9e 90-android-touch-dev.rules" diff --git a/device/device-sony-amami/fb-workaround.sh b/device/device-sony-amami/fb-workaround.sh deleted file mode 100644 index 860e14110..000000000 --- a/device/device-sony-amami/fb-workaround.sh +++ /dev/null @@ -1,15 +0,0 @@ -main() { - # Wait untill graphical enviroment is running - sleep 5 - # Workaround for buggy graphics driver - for i in 1 2 - do - echo "0,0" > /sys/class/graphics/fb0/pan - done -} - -# tty1 autologin -if [ $(tty) = "/dev/tty1" ]; then - # Run in background, to make /etc/profile not wait for it to finish - main & -fi diff --git a/device/device-sony-amami/udev-v4l-hack.sh b/device/device-sony-amami/udev-v4l-hack.sh deleted file mode 100644 index 6fbc1a525..000000000 --- a/device/device-sony-amami/udev-v4l-hack.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -if [ -e /lib/udev/v4l_id ]; then - mv /lib/udev/v4l_id /lib/udev/v4l_id_ - echo "WARNING: v4l_id hangs with the current kernel." - echo "=> Moved it from /lib/udev/v4l_id to /lib/udev/v4l_id_" -fi diff --git a/main/mdss-fb-init-hack/APKBUILD b/main/mdss-fb-init-hack/APKBUILD new file mode 100644 index 000000000..fd743a3d2 --- /dev/null +++ b/main/mdss-fb-init-hack/APKBUILD @@ -0,0 +1,21 @@ +pkgname=mdss-fb-init-hack +pkgver=0.1 +pkgrel=0 +pkgdesc="Workaround for buggy framebuffer driver (mdss-fb)" +url="https://github.com/postmarketOS/pmbootstrap" +arch="noarch" +license="GPL3" +depends="msm-fb-refresher" +makedepends="" +install="$pkgname.post-install" +subpackages="" +source="$pkgname.initd $pkgname.sh $install" +options="" + +package() { + install -Dm755 "$srcdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname" + install -Dm755 "$srcdir/$pkgname.sh" "$pkgdir/sbin/mdss-fb-hack" +} +sha512sums="dcda465ef62cd9d92d5e7c9f17e45982d5428950b1f6248b172408dce33d53eb866000a9290b63d41c61a8050547048f90ff9016d64f39c25f06fb6537ddc401 mdss-fb-init-hack.initd +22cb037d51a74fd363748c7c0b84f313ac9fce04a32953da00c338befc3af58012a24b7cb92a011fc8fe55722d1ceae7d42173c477297e00094e45d58d2e5b82 mdss-fb-init-hack.sh +b6f5a366a78a5ffb4d4243c8add3f2d4d6515f9d2abef832a98472b8aa9651c8e29bf97bef5284d5eb0b47e2cb229f736537401651836bf260f54ff2fcae5061 mdss-fb-init-hack.post-install" diff --git a/main/mdss-fb-init-hack/mdss-fb-init-hack.initd b/main/mdss-fb-init-hack/mdss-fb-init-hack.initd new file mode 100644 index 000000000..bd7d51bf2 --- /dev/null +++ b/main/mdss-fb-init-hack/mdss-fb-init-hack.initd @@ -0,0 +1,26 @@ +#!/sbin/openrc-run + +cmd=/sbin/mdss-fb-hack +pid=/run/mdss-fb-hack.pid + +depend() { + after bootmisc +} + +start() { + ebegin "Starting mdss-fb hack" + start-stop-daemon --start --exec $cmd --background \ + --pidfile $pid --make-pidfile + eend $? +} + +stop() { + ebegin "Stopping mdss-fb hack" + start-stop-daemon --stop --exec $cmd + eend $? +} + +restart() { + stop + start +} diff --git a/main/mdss-fb-init-hack/mdss-fb-init-hack.post-install b/main/mdss-fb-init-hack/mdss-fb-init-hack.post-install new file mode 100644 index 000000000..c98fcf904 --- /dev/null +++ b/main/mdss-fb-init-hack/mdss-fb-init-hack.post-install @@ -0,0 +1,4 @@ +#!/bin/sh + +# Add mdss-fb-init-hack to default runlevel +rc-update add mdss-fb-init-hack default diff --git a/main/mdss-fb-init-hack/mdss-fb-init-hack.sh b/main/mdss-fb-init-hack/mdss-fb-init-hack.sh new file mode 100644 index 000000000..b7f077094 --- /dev/null +++ b/main/mdss-fb-init-hack/mdss-fb-init-hack.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +while : +do + # Wait for graphical environment to start + until PID=$(pidof weston) || PID=$(pidof kwin_wayland) || PID=$(pidof xorg-server) + do + sleep 2 + done + + # Run msm-fb-refresher twice to workaround buggy framebuffer driver + for _ in 1 2 + do + msm-fb-refresher + done + + wait "$PID" +done