Your message dated Wed, 03 May 2017 05:54:00 +0000
with message-id <[email protected]>
and subject line Re: Bug#861706: unblock: beignet/1.3.0-3
has caused the Debian Bug report #861706,
regarding unblock: beignet/1.3.0-3
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
861706: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=861706
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
User: [email protected]
Usertags: unblock
Severity: normal
Please unblock package beignet (currently awaiting sponsorship)
* Fix "Exec...-5" error, which made beignet unusable on older (Ivy
Bridge / Haswell) hardware. (Closes: #860805)
* Use LLVM 3.8 on x32 to fix FTBFS. (This change only affects x32
because everything else we build on uses LLVM_VERSION_MESA.)
unblock beignet/1.3.0-3
diff --git a/debian/changelog b/debian/changelog
index e03f2f5..dde40ed 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+beignet (1.3.0-3) unstable; urgency=medium
+
+ * Fix "Exec...-5" error on older hardware. (Closes: #860805)
+ * Use LLVM 3.8 on x32 to fix FTBFS.
+
+ -- Rebecca N. Palmer <[email protected]> Tue, 02 May 2017
23:23:11 +0100
+
beignet (1.3.0-2) unstable; urgency=medium
* Statically link to LLVM to allow installation together with
diff --git a/debian/patches/series b/debian/patches/series
index ee4a597..13ea02b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -11,3 +11,4 @@ add-appstream-metadata.patch
spelling.patch
opencl2-runtime-detection.patch
static-llvm.patch
+zerooffset.patch
diff --git a/debian/patches/zerooffset.patch
b/debian/patches/zerooffset.patch
new file mode 100644
index 0000000..c63b47e
--- /dev/null
+++ b/debian/patches/zerooffset.patch
@@ -0,0 +1,61 @@
+Description: Check that we can reserve the zero-offset
+
+commit ff57cee0519d ("ocl20/runtime: take the first 64KB page table
+entries") tries to allocate a bo at 0 offset, but failed to take into
+account that something may already be allocated there that it is not
+allowed to evict (particularly when not using full-ppgtt separation).
+Failure to do so causes all execution to subsequentally fail with
+"drm_intel_gem_bo_context_exec() failed: Device or resource busy"
+
+This is needed when using older (Ivy Bridge/Haswell) hardware with
+current Linux/libdrm
+
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=98647
+Bug-Debian: https://bugs.debian.org/860805
+Origin: upstream 8b04f0be372da8eabdc93d6ae1b81a3c83cba284
+Author: Yang Rong, Chris Wilson
+
+diff --git a/src/intel/intel_driver.c b/src/intel/intel_driver.c
+index b8a1b52..3caf737 100644
+--- a/src/intel/intel_driver.c
++++ b/src/intel/intel_driver.c
+@@ -137,19 +137,28 @@ return 1;
+ static int
+ intel_driver_context_init(intel_driver_t *driver)
+ {
+-driver->ctx = drm_intel_gem_context_create(driver->bufmgr);
+-if (!driver->ctx)
+- return 0;
+-driver->null_bo = NULL;
++ driver->ctx = drm_intel_gem_context_create(driver->bufmgr);
++ if (!driver->ctx)
++ return 0;
++ driver->null_bo = NULL;
+ #ifdef HAS_BO_SET_SOFTPIN
+-drm_intel_bo *bo = dri_bo_alloc(driver->bufmgr, "null_bo", 64*1024, 4096);
+-drm_intel_bo_set_softpin_offset(bo, 0);
+-// don't reuse it, that would make two bo trying to bind to same address,
+-// which is un-reasonable.
+-drm_intel_bo_disable_reuse(bo);
+-driver->null_bo = bo;
++ drm_intel_bo *bo = dri_bo_alloc(driver->bufmgr, "null_bo", 64*1024,
4096);
++ drm_intel_bo_set_softpin_offset(bo, 0);
++ // don't reuse it, that would make two bo trying to bind to same
address,
++ // which is un-reasonable.
++ drm_intel_bo_disable_reuse(bo);
++
++ drm_intel_bo_map(bo, 1);
++ *(uint32_t *)bo->virtual = MI_BATCH_BUFFER_END;
++ drm_intel_bo_unmap(bo);
++
++ if (drm_intel_gem_bo_context_exec(bo, driver->ctx, 0, 0) == 0) {
++ driver->null_bo = bo;
++ } else {
++ drm_intel_bo_unreference(bo);
++ }
+ #endif
+-return 1;
++ return 1;
+ }
+
+ static void
diff --git a/debian/rules b/debian/rules
index 302dd30..9bc87e4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -16,7 +16,8 @@ SUPERFLUOUS=cl.h cl_d3d10.h cl_dx9_media_sharing.h
cl_ext.h cl_gl_ext.h cl_platf
# Use the same LLVM version as mesa (build will fail if this version
is not available; this is intentional, as mixing versions may cause crashes)
#
http://lists.alioth.debian.org/pipermail/pkg-opencl-devel/Week-of-Mon-20160418/000963.html
LLVM_VERSION_MESA := $(shell dpkg-query -f '$${Depends} \n' -W
libgl1-mesa-dri:$(DEB_HOST_ARCH) | sed -r 's/.*libllvm([0-9.]+).*/\1/p;d')
-LLVM_VERSION_DEFAULT = 3.9
+#x32 mesa doesn't use libllvm - use 3.8 there, as their "3.9" snapshot
doesn't work for us
https://buildd.debian.org/status/fetch.php?pkg=beignet&arch=x32&ver=1.3.0-2&stamp=1489907158&raw=0
+LLVM_VERSION_DEFAULT = 3.8
LLVM_VERSION = $(or $(LLVM_VERSION_MESA),$(LLVM_VERSION_DEFAULT))
#this looks the wrong way round because --compare-versions uses
success=0 and we need on=1
CAN_ENABLE_OPENCL2 := $(if $(findstring
amd64,$(DEB_HOST_ARCH)),$(shell dpkg --compare-versions $(LLVM_VERSION)
lt 3.9 || dpkg --compare-versions `dpkg-query -f '$${Version}' -W
libdrm-dev:$(DEB_HOST_ARCH)` lt 2.4.66 ; echo $$?),0)
--- End Message ---
--- Begin Message ---
Rebecca N. Palmer:
> Package: release.debian.org
> User: [email protected]
> Usertags: unblock
> Severity: normal
>
> Please unblock package beignet (currently awaiting sponsorship)
>
> * Fix "Exec...-5" error, which made beignet unusable on older (Ivy
> Bridge / Haswell) hardware. (Closes: #860805)
> * Use LLVM 3.8 on x32 to fix FTBFS. (This change only affects x32
> because everything else we build on uses LLVM_VERSION_MESA.)
>
> unblock beignet/1.3.0-3
>
> [...]
>
Unblocked, thanks.
~Niels
--- End Message ---