-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On Sat, Jan 16, 2021 at 01:49:25AM +0000, Jinoh Kang wrote: > On 1/15/21 8:06 PM, Marek Marczykowski-Górecki wrote: > > On Fri, Jan 15, 2021 at 05:29:43PM +0000, Jinoh Kang wrote: > >> Is qubes-xorg-x11-drv-intel an option? Upstream hasn't released for years > >> after all... > > > > Something like this. In fact the current (Fedora) package is already > > built from git snapshot. > > Here's the catch: Fedora hasn't been bumping gitdate for almost a year, > as seen in Pagure [1]. > > > We do backport this package from newer Fedora already: > > https://github.com/QubesOS/qubes-linux-dom0-updates > > That one from Fedora 28 is a bit behind, too. > > > > > But I would prefer to get it upstream anyway (and then possibly build > > xorg-x11-drv-intel from newer git snapshot). > > Something like this? (haven't built it yet, will fix later)
I guess, yes. > diff --git a/src/sna/kgem.c b/src/sna/kgem.c > index 6a35067c..8a7af809 100644 > --- a/src/sna/kgem.c > +++ b/src/sna/kgem.c > @@ -7023,6 +7023,8 @@ struct kgem_bo *kgem_create_map(struct kgem *kgem, > struct kgem_bo *bo; > uintptr_t first_page, last_page; > uint32_t handle; > + struct drm_i915_gem_set_domain set_domain; > + bool move_to_gtt = false; > > assert(MAP(ptr) == ptr); > > @@ -7043,20 +7045,10 @@ struct kgem_bo *kgem_create_map(struct kgem *kgem, > read_only); > if (handle == 0) { > if (read_only && kgem->has_wc_mmap) { > - struct drm_i915_gem_set_domain set_domain; > - > handle = gem_userptr(kgem->fd, > (void *)first_page, > last_page-first_page, > false); > - > - VG_CLEAR(set_domain); > - set_domain.handle = handle; > - set_domain.read_domains = I915_GEM_DOMAIN_GTT; > - set_domain.write_domain = 0; > - if (do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, > &set_domain)) { > - gem_close(kgem->fd, handle); > - handle = 0; > - } > + move_to_gtt = true; > } > if (handle == 0) { > DBG(("%s: import failed, errno=%d\n", __FUNCTION__, > errno)); > @@ -7064,6 +7056,21 @@ struct kgem_bo *kgem_create_map(struct kgem *kgem, > } > } > > + VG_CLEAR(set_domain); > + set_domain.handle = handle; > + if (move_to_gtt) { > + set_domain.read_domains = I915_GEM_DOMAIN_GTT; > + set_domain.write_domain = 0; > + } else { > + set_domain.read_domains = I915_GEM_DOMAIN_CPU; > + set_domain.write_domain = I915_GEM_DOMAIN_CPU; > + } > + if (do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain)) { > + gem_close(kgem->fd, handle); > + DBG(("%s: set_domain in import failed, errno=%d\n", > __FUNCTION__, errno)); > + return NULL; > + } > + > bo = __kgem_bo_alloc(handle, (last_page - first_page) / PAGE_SIZE); > if (bo == NULL) { > gem_close(kgem->fd, handle); > > --- > > [1] > https://src.fedoraproject.org/rpms/xorg-x11-drv-intel/blob/master/f/xorg-x11-drv-intel.spec#_3 > - -- Best Regards, Marek Marczykowski-Górecki Invisible Things Lab A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmACRyEACgkQ24/THMrX 1ywP6wgAlKaJitGmJHIgzkCpdGqEh3XjoqS2QOyIvsnzkn98v9E/cWrIrCMgrYAC U2IIYx4e9vrqAW1JwyNLii7ws5/+yI1Y2H7r7In237hedWQ7rCWJRs0UYsAGrtJx p/rNlxDhDBDWc2IWyZHE21bdEb1eKhl2W3EUzxsUGJ7ZxVDX8J8EgKS3PvZGLdC2 JdT2rcsy9ZWZ8YEmwm7k9GxHmuFMbAXJzgIVv3NxVWBQ4IJeNOfJrHrW1RFUMoyC BtdkHNUzBtsMLNlGczRMMPE3LdL6n9E8KnXX6RqXgudsDibdm8ixAagas5E6Cvxq zPgbcftI5MvpDHYdb4QZsCF6kFVxbQ== =R/oj -----END PGP SIGNATURE----- -- You received this message because you are subscribed to the Google Groups "qubes-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-devel/20210116015337.GE4914%40mail-itl.