Skip to content
Snippets Groups Projects

mesa-purism-gc7000: new pkg for purism mesa fork for gc7000

Merged Imported Administrator requested to merge feature/mesa-etnaviv into master

This MR add a new Mesa package, mesa-purism-gc7000, which is based on one of Purism's Mesa branches (19.0-like), that contains additional patches for the Vivante GPU driver (etnaviv).

  1. An update to the device-purism-librem5dev package, to depend on device driver packages in mesa-purism-gc7000
Edited by Administrator

Merge request reports

Merged by AdministratorAdministrator 6 years ago (Mar 11, 2019 7:55am UTC)

Loading

Pipeline #197037 passed

Pipeline passed for d5888c52 on master

Activity

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

    changed the description

    By clayton craft on 2019-02-24T04:27:41

  • Administrator added 2 commits · Imported

    added 2 commits

    • 767a0ca1 - mesa-etna: Add new package for building latest mesa + etnaviv driver
    • 18304e1a - libdrm-etna: Add updated libdrm package for building etnaviv support

    Compare with previous version

    By clayton craft on 2019-02-24T04:51:49

  • Administrator changed title from mesa-etna: Add new package for building latest mesa + etnaviv driver to mesa-etna/libdrm-etna: Add new packagse for building latest mesa + etnaviv driver + libdrm · Imported

    changed title from mesa-etna: Add new package for building latest mesa + etnaviv driver to mesa-etna/libdrm-etna: Add new packagse for building latest mesa + etnaviv driver + libdrm

    By clayton craft on 2019-02-24T04:55:22

  • Administrator marked as a Work In Progress · Imported

    marked as a Work In Progress

    By clayton craft on 2019-02-24T05:48:33

  • Administrator changed title from WIP: mesa-etna/libdrm-etna: Add new packagse for building latest mesa + etnaviv driver + libdrm to WIP: mesa-etna/libdrm-etna: Add new packages for building latest mesa + etnaviv driver + libdrm · Imported

    changed title from WIP: mesa-etna/libdrm-etna: Add new packagse for building latest mesa + etnaviv driver + libdrm to WIP: mesa-etna/libdrm-etna: Add new packages for building latest mesa + etnaviv driver + libdrm

    By clayton craft on 2019-02-24T05:54:17

  • Author Owner

    I may end up just submitting a separate MR for updating libdrm to use the etnaviv compile flag (and dropping the libdrm-etna package), since even this newer libdrm seems to work on the older mesa. That would resolve the circular dep. issue caused by libva (and others).

    By clayton craft on 2019-02-24T05:56:57

  • Author Owner

    I am quite lost with mesa and mesa-etna, is this commit part of librem5_playground?

    ERROR: unsatisfiable constraints:
      mesa-gbm-19.0.0-r1001:
        breaks: mesa-dev-18.2.8-r0[mesa-gbm=18.2.8-r0]
        satisfies: .pmbootstrap-0[mesa-gbm><Q16IbkLv6Yp4/dThB/1ZOk1dcIv4A=]
                   qt5-qtbase-x11-9999-r12[so:libgbm.so.1]
                   mesa-egl-19.0.0-r1001[so:libgbm.so.1]
      mesa-glapi-19.0.0-r1001:
        breaks: mesa-dev-18.2.8-r0[mesa-glapi=18.2.8-r0]
        satisfies: .pmbootstrap-0[mesa-glapi><Q1pO93tNtWKn/JloCX/hpdG4HXDoU=]
                   mesa-gl-19.0.0-r1001[so:libglapi.so.0]
                   mesa-gles-19.0.0-r1001[so:libglapi.so.0]
                   mesa-osmesa-19.0.0-r1001[so:libglapi.so.0]
                   mesa-egl-19.0.0-r1001[so:libglapi.so.0]
      mesa-egl-19.0.0-r1001:
        breaks: mesa-dev-18.2.8-r0[mesa-egl=18.2.8-r0]
        satisfies: .pmbootstrap-0[mesa-egl><Q1K2lXnjlgNU6HLOFar4t1g81Vep4=]
                   gst-plugins-base-1.14.4-r0[so:libEGL.so.1]
                   qt5-qtbase-x11-9999-r12[so:libEGL.so.1]
                   plasma-framework-5.55.0-r0[so:libEGL.so.1]
                   kwayland-5.55.0-r9999[so:libEGL.so.1]
      mesa-gles-19.0.0-r1001:
        breaks: mesa-dev-18.2.8-r0[mesa-gles=18.2.8-r0]
        satisfies: .pmbootstrap-0[mesa-gles><Q1e81FaESFBrKBwGoWA8UTs4qEF+Y=]
                   qt5-qtbase-x11-9999-r12[so:libGLESv2.so.2]
                   plasma-framework-5.55.0-r0[so:libGLESv2.so.2]
      mesa-gl-19.0.0-r1001:
        breaks: mesa-dev-18.2.8-r0[mesa-gl=18.2.8-r0]
        satisfies: .pmbootstrap-0[mesa-gl><Q1p5qW/+Dyw4NTQlrPca2KvFmOAIo=]
                   gst-plugins-base-1.14.4-r0[so:libGL.so.1]
      mesa-osmesa-19.0.0-r1001:
        breaks: mesa-dev-18.2.8-r0[mesa-osmesa=18.2.8-r0]
        satisfies: .pmbootstrap-0[mesa-osmesa><Q1AYmzQOLHootN3JjpwJiBA+bx85M=]
      mesa-dev-18.2.8-r0:
        breaks: .pmbootstrap-0[mesa-dev><Q126LFTxDsSRbtWeTlbTTsMO0mf18=]
        satisfies: qt5-qtbase-dev-9999-r12[mesa-dev]
                   libepoxy-dev-1.5.3-r0[mesa-dev]
                   libepoxy-dev-1.5.3-r0[pc:egl]
                   libepoxy-dev-1.5.3-r0[pc:gl]
    (021526) [17:31:17] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    (021526) [17:31:17] NOTE: The failed command's output is above the ^^^ line in the log file: /home/bshah/src/PostmarketOS/cache/log.txt

    With this I hit this?

    By Bhushan Shah on 2019-02-24T12:51:43

  • Author Owner

    I had the same dependencies breakage when trying to provide mesa package for the mesa-grate driver. In the end I got fed up and just skipped using the provides and replaces. I made mesa-grate look like separate packages all together as far as the packaging system is concerned.

    I redirected the libraries, headers, and everything to alternate directories.
    To handle the libraries, use ldpath pre/post install script to add the alt lib path to /etc/ld-musl-$ARCH.path so the linker will find them.
    fda3dd36

    To handle the headers and pkgconfig, I modified the pkconfig files.
    fda3dd36

    I think the only other thing is the specific dri drivers in /usr/lib/xorg/modules/dri/ can't be moved. This is if you want to use xorg-server which has some security thing that doesn't load the dri driver properly from other places. Right now it doesn't matter much for grate driver because 3D acceleration doesn't work right anyways. This dri driver location thing should probably be fixed for mesa-grate some how too though.

    By ryang on 2019-02-24T13:17:28

  • Administrator added 4 commits · Imported

    added 4 commits

    • a38f1fb0 - 1 commit from branch postmarketOS:master
    • 6ff3b39b - mesa-etna: Add new package for building latest mesa + etnaviv driver
    • e7d8a1d9 - libdrm: Update and add support for etnaviv
    • 4f812941 - device-purism-librem5dev: Depend on include mesa-etna packages

    Compare with previous version

    By clayton craft on 2019-02-24T18:27:40

  • Administrator added 3 commits · Imported

    added 3 commits

    • 0e40bbea - mesa-etna: Add new package for building latest mesa + etnaviv driver
    • 0689a693 - libdrm: Update and add support for etnaviv
    • 92a4e9f5 - device-purism-librem5dev: Depend on include mesa-etna packages

    Compare with previous version

    By clayton craft on 2019-02-24T18:32:19

  • Author Owner

    I believe I've worked this out in the latest revision of this MR. It seems like this cannot pass CI because when CI builds the device-purism-librem5dev package it tries to build mesa-etna without the updated libdrm in this MR, and it fails. CI does successfully build the libdrm update and mesa-etna packages in this MR though.

    By clayton craft on 2019-02-24T19:25:12

  • Administrator unmarked as a Work In Progress · Imported

    unmarked as a Work In Progress

    By clayton craft on 2019-02-24T21:49:20

  • Administrator changed the description · Imported

    changed the description

    By clayton craft on 2019-02-24T21:49:20

  • Author Owner

    With latest changes it works, I wonder if this package can be renamed to mesa-next instead so that it can be used by freedreno devices as well?

    By Bhushan Shah on 2019-02-25T04:52:34

  • Administrator
  • Administrator resolved all discussions · Imported

    resolved all discussions

    By Bhushan Shah on 2019-02-25T05:01:28

  • Administrator marked as a Work In Progress · Imported

    marked as a Work In Progress

    By clayton craft on 2019-02-25T06:52:01

  • Author Owner

    With latest changes it works, I wonder if this package can be renamed to mesa-next instead so that it can be used by freedreno devices as well?

    I tried this, but ran into issues because the branch of Mesa used here includes patches that are incompatible with upstream Mesa (there are some code relocations that breaks building some other drivers).

    I think that at some point, it makes sense to have a 'mesa-next' package in pmos that tracks the latest stable release of Mesa (e.g. soon to be 19.0) and builds for all (mobile gpu) drivers (because building amd drivers requires a newer llvm, and that's a mess on Alpine..). But I don't think there's a way to make this MR's package the mesa-next package until the out-of-tree patches in this Purism repo are upstreamed, or at least compatible with building other drivers in Mesa.

    By clayton craft on 2019-02-25T17:15:22

    Edited by Administrator
  • Administrator mentioned in issue #195 (closed) · Imported

    mentioned in issue #195 (closed)

    By clayton craft on 2019-02-28T03:34:19

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