Provide way to update mesa in guest to ToT |
|||
Issue descriptionThe version of mesa shipped with stretch is very old. The graphics team has been working on virgl/mesa changes to improve functionality and performance, and it's desirable for our containers to be able to run ToT (or close to) mesa. smbarber@: What are our options here?
,
Nov 13
We are more interested in getting the very latest patches from mesa ToT for performance/stability reasons so we can see what impact they have. So what's in buster isn't recent enough for example. I guess in the meantime maybe we can overwrite with our own mesa for testing? Eventually things will roll out on their own (maybe getting what's in sid is a good compromise?)
,
Nov 13
Maybe then it would make sense for us to test against the sid mesa packages and then mirror them ourselves? Then we'll be using Debian built and maintained packages, which is a big plus.
,
Nov 13
Right now sid is the same as buster, because of where we are in the debian cycle. I suppose things will unblock later...
,
Nov 15
,
Nov 19
One other thing of note is that we'll need 32-bit i386 versions of the packages if we want full compatability (ie if we want to run steam) along with updated versions of drm, wayland-protocols, and wayland (which were packages I needed to update to build ToT mesa on stretch).
,
Nov 20
I spent a bit of time unsuccessfully going down two paths today: - tried to update to sid's mesa ran into issues once it got to the point of needing a new libc which apt started warning against upgrading - tried to build from source ToT mesa for i386 ran into issues trying to get i386 build-dep going (specifically python-moko:i386) Both of these paths were things I wasn't really sure how to do, so it's quite possible that I was just doing things incorrectly.
,
Dec 5
,
Jan 19
(4 days ago)
So using zachr's handy notes (https://docs.google.com/document/d/16-Qkk09xQVXnEGcRwWxafu2b7cZKPdzR0Qw1qklS1sk/edit#) I built my own debian mesa packages for stretch, but then ran into issues installing them due to not having the right dependencies. I added stretch-backports to my container, ran into some other issues with how we've pinned some packages for virtwl (eg libwayland) to an older version. After figuring those out, I realized that stretch-backports actually has mesa 18.2.8 (Dec 27, 2018). So if we add stretch-backports, set our pins right, we should get that for free without compiling anything or maintaining any packages. The downside is that 18.2.8 is a bug fix release and 18.2.0 is actually from September 7, 2018. That's still much better than 13.0.6, but still trailing ToT potentially by quite a bit. So we need to make a decision between getting 18.2.X for pretty much free, or back to more work to get ToT (which I think might still be pretty reasonable once we sort out these issues).
,
Yesterday
(30 hours ago)
I got 18.2.8 from stretch-backports working, albeit with some trickiness regarding upgrading. I also built 18.3.2 mesa using a modified version of their build branches. Instructions and links to prebuilt packages are available for both amd64 and i386 in the care and feeding document: go/crosvm-gpu-care The process to do the build wasn't too bad, but I definitely cut some corners in how I put together the stretch-unstable branch I used. |
|||
►
Sign in to add a comment |
|||
Comment 1 by smbar...@chromium.org
, Nov 13