Skip to content
Snippets Groups Projects

device-xiaomi-rolex: new device (take 2)

Merged Imported Administrator requested to merge xiaomi-rolex into master

Xiaomi Redmi 4A (rolex) is a Snapdragon 425 (MSM8917) 5" 2/16 smartphone released in 2016.

Has LineageOS (unofficial) ported on it. Has Treble ARM64 A-only support.

Edited by Administrator

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Administrator added 1 commit · Imported

    added 1 commit

    • f16365f1 - xiaomi-rolex: Linting fixes; is a handset

    Compare with previous version

    By Denis Tolstov on 2021-01-31T14:38:24

  • Administrator added 1 commit · Imported

    added 1 commit

    • 19f54ca9 - xiaomi-rolex: Moved firmware/ to device/testing/

    Compare with previous version

    By Denis Tolstov on 2021-01-31T14:42:09

  • Author Owner

    I think it wants gcc6-aarch64 to build the kernel but

    ccache: error: Could not find compiler "aarch64-alpine-linux-musl-gcc" in PATH

    (000224) [14:49:28] ERROR: Command failed: (buildroot_aarch64) % cd /home/pmos/build; busybox su pmos -c CARCH=aarch64 SUDO_APK='abuild-apk --no-progress' PATH=/native/usr/lib/crossdirect/aarch64:/usr/lib/ccache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/home/pmos abuild -D postmarketOS -r -f

    I have little idea how to lint and build locally without using Gitlab CI resources. Found pmbootstrap lint today.

    Trying to pmbootstrap install --android-recovery-zip now on my Gentoo laptop.

    UPD: yeah, it fails locally. Maybe I should disable ccache?

    By Denis Tolstov on 2021-01-31T15:38:41

  • Administrator added category::device + 1 deleted label · Imported

    added category::device + 1 deleted label

  • Administrator added 1 commit · Imported

    added 1 commit

    • 2aca5ee9 - xiaomi-rolex: Enable pmb:cross-native for kernel compilation

    Compare with previous version

    By Denis Tolstov on 2021-01-31T18:48:01

  • Administrator added 1 commit · Imported

    added 1 commit

    • fed922bf - xiaomi-rolex: Apply YYLOC patch to build 3.18.140 with gcc-10 (-fno-common)

    Compare with previous version

    By Denis Tolstov on 2021-01-31T20:16:35

  • Administrator added 1 commit · Imported

    added 1 commit

    • 7990d5a9 - xiaomi-rolex: update patch checksums in kernel APKBUILD

    Compare with previous version

    By Denis Tolstov on 2021-01-31T20:30:10

    • Author Owner
      Resolved by Administrator

      Good news is I succesfully compiled an image with pmOS edge aarch64 for rolex

      with 3.18.140 kernel. I happened to find the YYLOC patch which I copied from santoni. However, now I guess I should symlink it rather than copy the actual file for future maintenance updates etc.

      I'm not very used to updating the APKBUILD checksums on every commit. Maybe there is a linter hook? There was one when I was developing in Alpine's aports.

      Even better news is I remembered that the same Nick89786 released unofficial LineageOS-17.1

      with 4.9.240 kernel. After slight Kconfig editing that one successfully compiled as well. Time will tell which one is better for pmOS/Alpine. I liked 4.9 more than 3.18 when running LOS.

      The following patch changes kernel commit URI and the kconfig. rolex-upgrade-3.18.140-4.9.240-pmos.patch

      By Denis Tolstov on 2021-02-01T06:19:13

      Edited by Ghost User
  • Administrator added 1 commit · Imported

    added 1 commit

    • e5aeb6a3 - xiaomi-rolex: update deviceinfo checksum; replace common patch with a symlink

    Compare with previous version

    By Denis Tolstov on 2021-01-31T21:35:30

  • Administrator
  • Administrator
    • Author Owner
      Resolved by Administrator

      @minlexx I tried 4.9.240 kernel with minimally tweaked config (to satisfy pmbootstrap kconfig check) and it isn't much better.

      Framebuffer only works with Weston fbdev-backend.so, Xorg doesn't start due to FBDEV(0): FBIOPUT_VSCREENINFO: Invalid argument, neither does Wayland of Plasma Mobile.

      Maybe @danct12 can enlighten us as to what patches should be applied to downstream Rolex kernels regarding framebuffer support? I think I've seen red and blue swapped in pixelformat on my smartphone display. BTW, echo 0 | sudo tee /sys/.../mdss-fb/brightness turns off backlight entirely -- I'd like to set up a hook for the power button to turn off the display. As of now, when Weston times out, display continues to glow with a black framebuffer.

      Can I simply enable CONFIG_DRM and DEs would suddenly work? A kernel -j4 build takes 15min on my Ryzen 3 3200G, but almost 60min on Gitlab Runner pipelines. I wonder how they didn't time out.

      All in all, I'm not exactly satisfied with this port yet.

      What works: Wi-Fi 802.11bgn, USB RNDIS, perhaps USB OTG, online charging (duh), touchscreen from Goodix, GPIO keys (libinput).

      What doesn't work: audio (there are output devices but no sound), cellular modem (waiting for ofono/modemmanager support), Bluetooth (no hci0/phy device), GPS (untested), 2D and 3D graphic acceleration (no DRM), offline charging GUI (sdl crashes).

      By Denis Tolstov on 2021-02-07T10:12:17

      Edited by Ghost User
  • Author Owner

    Maybe https://gitlab.com/postmarketOS/pmaports/-/blob/master/device/testing/linux-xiaomi-dior/0001-framebuffer-fixes.patch will give you some idea ?

    x11-backend expect the following functions are filled :

    +	.fb_fillrect = mdss_fb_fillrect,
    +	.fb_copyarea = mdss_fb_copyarea,
    +	.fb_imageblit = mdss_fb_imageblit,
    +
    +	.fb_setcolreg = mdss_fb_setcolreg,

    And the order of color offset is correct

    -		var->blue.offset = 0;
    -		var->green.offset = 8;
    -		var->red.offset = 16;
    +		var->blue.offset = 24;
    +		var->green.offset = 16;
    +		var->red.offset = 8;

    By Edwin Cheng on 2021-03-04T21:49:32

  • Administrator added 1 deleted label · Imported

    added 1 deleted label

  • Author Owner

    Sorry to bother you @ALTracer,

    but we've detected that this merge request hasn't seen any recent activity. If you need help or want to discuss your approach with developers you can ping @postmarketOS. You can also ask on matrix in #devel:postmarketos.org or #postmarketos-devel on OFTC. If no further activity occurs in this MR, postmarketOS developers may close it in the future.

    Thanks for your contribution.

    By * postmarketOS Bot on 2021-08-01T09:49:56

  • Administrator mentioned in issue #1203 (closed) · Imported

    mentioned in issue #1203 (closed)

    By Newbyte on 2021-08-25T14:00:05

  • Administrator added 3 commits · Imported

    added 3 commits

    • b3669bc8 - xiaomi-rolex: use mdss patch
    • 563ed0d4 - xiaomi-rolex: switch kernel from kgsl to drm, use more framebuffer patches
    • 946adc4d - xiaomi-rolex: mark myself as maintainer

    Compare with previous version

    By Denis Tolstov on 2021-10-31T20:39:22

  • Administrator added 1123 commits · Imported

    added 1123 commits

    • 946adc4d...2c9a4920 - 1109 commits from branch postmarketOS:master
    • 66559dda - new file: device/testing/device-xiaomi-rolex/APKBUILD
    • 45b438fd - Changed deviceinfo : Width x Height was 800x600 to correct dimension -> 720x1280
    • 5af5307b - Added directfbrc and fb.modes file. Also added SWAP file support swap_size=1024
    • e8c65408 - Added Audio files and rules removed uneccessary lines in deviceinfo.
    • 7dc0b225 - device/xiaomi-rolex: Fix linting issues
    • 106931c4 - xiaomi-rolex: Linting fixes; is a handset
    • e392acc4 - xiaomi-rolex: Moved firmware/ to device/testing/
    • 08fddff9 - xiaomi-rolex: Enable pmb:cross-native for kernel compilation
    • 30526ef8 - xiaomi-rolex: Apply YYLOC patch to build 3.18.140 with gcc-10 (-fno-common)
    • d9cf5995 - xiaomi-rolex: update patch checksums in kernel APKBUILD
    • ea7260cb - xiaomi-rolex: update deviceinfo checksum; replace common patch with a symlink
    • e2f0eca0 - xiaomi-rolex: use mdss patch
    • ad79419a - xiaomi-rolex: switch kernel from kgsl to drm, use more framebuffer patches
    • cb3c602d - xiaomi-rolex: mark myself as maintainer

    Compare with previous version

    By Denis Tolstov on 2021-10-31T21:02:42

  • Administrator added 2 commits · Imported

    added 2 commits

    • 4ae02880 - xiaomi-rolex: allow firmware cross-native builds
    • 3674fcb1 - xiaomi-rolex: tweak kernel config for devpts etc.

    Compare with previous version

    By Denis Tolstov on 2021-10-31T22:34:51

  • Administrator added 2 commits · Imported

    added 2 commits

    • 6de8f4da - xiaomi-rolex: tweak kernel config for devpts etc.
    • 3dbcdfc1 - xiaomi-rolex: allow firmware cross-native builds, disable tracedeps per linter

    Compare with previous version

    By Denis Tolstov on 2021-10-31T22:48:29

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading