From 6e5122f0186765c894840b03e3450a3c0d34bb63 Mon Sep 17 00:00:00 2001 From: kravandir <79300121+kravandir@users.noreply.github.com> Date: Fri, 11 Aug 2023 17:50:22 +0400 Subject: [PATCH] xiaomi-olive: FDE support (MR 4323) Fixed framebuffer red and blue colors swap and added FDE support with unl0kr. [ci:skip-build]: Already built successfully in CI --- .../device-xiaomi-olive/10-unl0kr.conf | 2 + device/testing/device-xiaomi-olive/APKBUILD | 8 +++- .../linux-xiaomi-olive/03_framebuffer.patch | 40 +++++++++++++++++++ device/testing/linux-xiaomi-olive/APKBUILD | 4 +- 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 device/testing/device-xiaomi-olive/10-unl0kr.conf create mode 100644 device/testing/linux-xiaomi-olive/03_framebuffer.patch diff --git a/device/testing/device-xiaomi-olive/10-unl0kr.conf b/device/testing/device-xiaomi-olive/10-unl0kr.conf new file mode 100644 index 000000000..f51fb4246 --- /dev/null +++ b/device/testing/device-xiaomi-olive/10-unl0kr.conf @@ -0,0 +1,2 @@ +[quirks] +fbdev_force_refresh=true diff --git a/device/testing/device-xiaomi-olive/APKBUILD b/device/testing/device-xiaomi-olive/APKBUILD index 98c130682..ad2bdb751 100644 --- a/device/testing/device-xiaomi-olive/APKBUILD +++ b/device/testing/device-xiaomi-olive/APKBUILD @@ -2,7 +2,7 @@ pkgname=device-xiaomi-olive pkgdesc="Xiaomi Redmi 8" pkgver=0.1 -pkgrel=0 +pkgrel=1 url="https://postmarketos.org" license="MIT" arch="aarch64" @@ -16,6 +16,7 @@ makedepends="devicepkg-dev" source=" deviceinfo etc-lightdm-lightdm.conf + 10-unl0kr.conf " subpackages=" @@ -29,6 +30,10 @@ build() { package() { devicepkg_package $startdir $pkgname + + install -Dm644 "$srcdir"/10-unl0kr.conf \ + "$pkgdir"/etc/unl0kr.conf.d/10-unl0kr.conf + } nonfree_firmware() { @@ -51,4 +56,5 @@ fix_lightdm() { sha512sums=" 9eb972182d4cdc5af52250dc89b96a3a3611c8cf3de5ca9979647ac282f3f55b8663b2270badccb164ed2b941f747b8221730d9882ec2991fb8196bae3e32b61 deviceinfo 861270c6bc0b2a3e6cd389c21c8c895e62de8cf8bec6fcf23c178f8cbaae855d62b0ee98692671ab4f518d84cb43dd0b2fe46f5a609f65af6a6c06e0fdbb6d0c etc-lightdm-lightdm.conf +f700af3145b79d1ef9edfb22982899b25cabfb212f9620dcbd3a2e6f44b5ad591e0a66056c6fcd66c3fde89a2b5f551e8a8fe2e65cf0e2a48adec57c027d7825 10-unl0kr.conf " diff --git a/device/testing/linux-xiaomi-olive/03_framebuffer.patch b/device/testing/linux-xiaomi-olive/03_framebuffer.patch new file mode 100644 index 000000000..8c4be0b54 --- /dev/null +++ b/device/testing/linux-xiaomi-olive/03_framebuffer.patch @@ -0,0 +1,40 @@ +diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c +index 2c7e09a6e291..b69ba2956b02 100644 +--- a/drivers/video/fbdev/msm/mdss_fb.c ++++ b/drivers/video/fbdev/msm/mdss_fb.c +@@ -1556,7 +1556,8 @@ static int mdss_fb_probe(struct platform_device *pdev) + mfd->bl_scale = 1024; + mfd->bl_min_lvl = 30; + mfd->ad_bl_level = 0; +- mfd->fb_imgType = MDP_RGBA_8888; ++ // Default framebuffer format. ++ mfd->fb_imgType = MDP_BGRA_8888; + mfd->calib_mode_bl = 0; + mfd->unset_bl_level = U32_MAX; + mfd->bl_extn_level = -1; +@@ -2992,6 +2993,25 @@ static int mdss_fb_register(struct msm_fb_data_type *mfd) + bpp = 4; + break; + ++ case MDP_BGRA_8888: ++ fix->type = FB_TYPE_PACKED_PIXELS; ++ fix->xpanstep = 1; ++ fix->ypanstep = 1; ++ var->vmode = FB_VMODE_NONINTERLACED; ++ var->blue.offset = 0; ++ var->green.offset = 8; ++ var->red.offset = 16; ++ var->blue.length = 8; ++ var->green.length = 8; ++ var->red.length = 8; ++ var->blue.msb_right = 0; ++ var->green.msb_right = 0; ++ var->red.msb_right = 0; ++ var->transp.offset = 24; ++ var->transp.length = 8; ++ bpp = 4; ++ break; ++ + case MDP_YCRYCB_H2V1: + fix->type = FB_TYPE_INTERLEAVED_PLANES; + fix->xpanstep = 2; diff --git a/device/testing/linux-xiaomi-olive/APKBUILD b/device/testing/linux-xiaomi-olive/APKBUILD index 187fb351b..b1f431952 100644 --- a/device/testing/linux-xiaomi-olive/APKBUILD +++ b/device/testing/linux-xiaomi-olive/APKBUILD @@ -3,7 +3,7 @@ pkgname=linux-xiaomi-olive pkgver=4.9.337 -pkgrel=0 +pkgrel=1 pkgdesc="Xiaomi Redmi 8 kernel" arch="aarch64" _carch="arm64" @@ -32,6 +32,7 @@ source=" 00_fix_mdp3_ctrl_off.patch 01_fix_fbioput.patch 02-fix-xorg-mdss-update-fb-info.patch + 03_framebuffer.patch " builddir="$srcdir/$_repository-$_commit" _outdir="out" @@ -62,4 +63,5 @@ fb1c6eea21b075eaa20b95c63b18988315686b42e455c396c16ab782f6fc4edf80def5256a087b75 e0eb25aec61dd342c0ccdc0d5afc3626416089ffbe797b57d134dd62036cc6285dda24e16e6b82f1c8dedce8bd5fd034e38f67b811362c67f13290114f58de18 00_fix_mdp3_ctrl_off.patch 62c49b71f7570e23ac7cbf9be25dcddeb7957484b342e9010b8e7a0ae1a785c7db1803ca87970f7fcdd62c6eb3a0117a7ebc6bb773a793973a9218dcc389cd8b 01_fix_fbioput.patch be8852fe5ae159ed6e22845d3c4d7b9b4fb2a27dd0a60cecf9daa615ac461af8975186f4445842a3cff888011d91d8b913b3c8f922e36fbec50ec3dfeb95eda7 02-fix-xorg-mdss-update-fb-info.patch +29ef1f5c52ad6982b24bb141178078338e638673c48e155edffb46b1472a6cc004ec2cc8fe86e47566c718352505c817efe1066c6bf703ea6e7b8a69a0eb1ddc 03_framebuffer.patch "