mesa-purism-gc7000: new pkg for purism mesa fork for gc7000
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).
- An update to the device-purism-librem5dev package, to depend on device driver packages in mesa-purism-gc7000
Merge request reports
Activity
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
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
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 theprovides
andreplaces
. I mademesa-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, useldpath
pre/post install script to add the alt lib path to/etc/ld-musl-$ARCH.path
so the linker will find them.
fda3dd36To handle the headers and pkgconfig, I modified the pkconfig files.
fda3dd36I 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 formesa-grate
some how too though.By ryang on 2019-02-24T13:17:28
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
By clayton craft on 2019-02-24T18:27:40
Toggle commit list-
a38f1fb0 - 1 commit from branch
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
- Resolved by Administrator
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 Administratormentioned in issue #195 (closed)
By clayton craft on 2019-02-28T03:34:19
- Resolved by Administrator