Переглянути джерело

xf86-video-intel

pull/1/head
Milis Arge 1 рік тому
джерело
коміт
b7fbb97188
7 змінених файлів з 6 додано та 149 видалено
  1. +3
    -0
      talimatname/2/net-utils/iw#5.0.1-1/libgerekler
  2. +3
    -11
      talimatname/2/x11-drivers/xf86-video-intel#2.99.917.847-1/talimat
  3. +0
    -91
      talimatname/2/x11-drivers/xf86-video-intel#20190208-1/0001-SNA-fix-PRIME-output-support-since-xserver-1.20.patch
  4. +0
    -3
      talimatname/2/x11-drivers/xf86-video-intel#20190208-1/export
  5. +0
    -27
      talimatname/2/x11-drivers/xf86-video-intel#20190208-1/libgerekler
  6. +0
    -7
      talimatname/2/x11-drivers/xf86-video-intel#20190208-1/pktlibler
  7. +0
    -10
      talimatname/2/x11-drivers/xf86-video-intel#20190208-1/xorg_config

+ 3
- 0
talimatname/2/net-utils/iw#5.0.1-1/libgerekler Переглянути файл

@@ -0,0 +1,3 @@
libnl-genl-3.so.200
libnl-3.so.200
libc.so.6

talimatname/2/x11-drivers/xf86-video-intel#20190208-1/talimat → talimatname/2/x11-drivers/xf86-video-intel#2.99.917.847-1/talimat Переглянути файл

@@ -8,20 +8,12 @@ url = http://xorg.freedesktop.org
derleme = xorg-util-macros xorg-server pixman libxvmc libx11 libxrender libxrandr libxinerama libxcursor libxtst libxss mesa xcb-util
calisma =

[kaynak]
xz = http://anduin.linuxfromscratch.org/BLFS/$isim
dosya = 0001-SNA-fix-PRIME-output-support-since-xserver-1.20.patch

[sha256]
1 = 087ddcfe98d6a8e4e240d4aea07d09a142133662457a4c5e2da42650b2519cbb

[derle]
yama = 2
betik = NOCONFIGURE=1 ./autogen.sh
dosya = export
betik = export LDFLAGS="-Wl,-z,lazy"
betik = git clone https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel ${SRC}
betik = git reset --hard 25c9a2fcc83ae7252a178b42262da383e59df744
ekconf = --libexecdir=/usr/lib --with-default-dri=3
tip = gnu
[pakur]
tip = gnu
dosya = xorg_config

+ 0
- 91
talimatname/2/x11-drivers/xf86-video-intel#20190208-1/0001-SNA-fix-PRIME-output-support-since-xserver-1.20.patch Переглянути файл

@@ -1,92 +0,0 @@
From e85424325911626556fbe5a313c698a5da701163 Mon Sep 17 00:00:00 2001
From: Peter Wu <peter@lekensteyn.nl>
Date: Mon, 13 Aug 2018 22:59:50 +0200
Subject: [PATCH xf86-video-intel] SNA: fix PRIME output support since xserver
1.20

Since xorg-server 1.20, an external monitor would remain blank when used
in a PRIME output slave setup. Only a cursor was visible. The cause is
"Make PixmapDirtyUpdateRec::src a DrawablePtr" in xserver, the "src"
pointer might point to the root window (created by the server) instead
of a pixmap (as created by xf86-video-intel). Use get_drawable_pixmap to
handle both cases.

When built with -fsanitize=address, the following test will trigger a
heap-buffer-overflow error due to to_sna_from_pixmap receiving a window
instead of a pixmap.

Test on a hybrid graphics laptop (Intel + modesetting/nouveau):

xrandr --setprovideroutputsource modesetting Intel
xrandr --output DP-1-1 --mode 2560x1440 # should not crash
glxgears # should display gears on both screens

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100086
Signed-off-by: Peter Wu <peter@lekensteyn.nl>
---
Tested with xserver 1.20.1 with ASAN enabled. Survives multiple
resolution changes, works with a Plasma desktop session, it seems
stable. Something like this patch is required to make multi-monitor
setups usable in a hybrid graphics setting with Xorg 1.20.
---
src/sna/sna_accel.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 2f669bcf..80b116a3 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -17510,7 +17510,11 @@ static bool has_offload_slaves(struct sna *sna)
PixmapDirtyUpdatePtr dirty;
xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) {
+#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
+ assert(dirty->src == &sna->front->drawable);
+#else
assert(dirty->src == sna->front);
+#endif
if (RegionNotEmpty(DamageRegion(dirty->damage)))
return true;
}
@@ -17671,7 +17675,11 @@ static void sna_accel_post_damage(struct sna *sna)
if (RegionNil(damage))
continue;
+#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
+ src = get_drawable_pixmap(dirty->src);
+#else
src = dirty->src;
+#endif
dst = dirty->slave_dst->master_pixmap;
region.extents.x1 = dirty->x;
@@ -17922,9 +17930,15 @@ migrate_dirty_tracking(PixmapPtr old_front, PixmapPtr new_front)
PixmapDirtyUpdatePtr dirty, safe;
xorg_list_for_each_entry_safe(dirty, safe, &screen->pixmap_dirty_list, ent) {
+#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
+ assert(dirty->src == &old_front->drawable);
+ if (dirty->src != &old_front->drawable)
+ continue;
+#else
assert(dirty->src == old_front);
if (dirty->src != old_front)
continue;
+#endif
DamageUnregister(&dirty->src->drawable, dirty->damage);
DamageDestroy(dirty->damage);
@@ -17939,7 +17953,11 @@ migrate_dirty_tracking(PixmapPtr old_front, PixmapPtr new_front)
}
DamageRegister(&new_front->drawable, dirty->damage);
+#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
+ dirty->src = &new_front->drawable;
+#else
dirty->src = new_front;
+#endif
}
#endif
}
2.18.0

+ 0
- 3
talimatname/2/x11-drivers/xf86-video-intel#20190208-1/export Переглянути файл

@@ -1,3 +0,0 @@
export CFLAGS=${CFLAGS/-fno-plt}
export CXXFLAGS=${CXXFLAGS/-fno-plt}
export LDFLAGS=${LDFLAGS/,-z,now}

+ 0
- 27
talimatname/2/x11-drivers/xf86-video-intel#20190208-1/libgerekler Переглянути файл

@@ -1,27 +0,0 @@
libpciaccess.so.0
libpixman-1.so.0
libm.so.6
libudev.so.1
libdrm_intel.so.1
libdrm.so.2
libpthread.so.0
libc.so.6
libXinerama.so.1
libXrandr.so.2
libXdamage.so.1
libXfixes.so.3
libXcursor.so.1
libXtst.so.6
libXrender.so.1
libXss.so.1
libXext.so.6
libxcb-dri3.so.0
libxcb-sync.so.1
libX11-xcb.so.1
libxcb.so.1
libxshmfence.so.1
libX11.so.6
libXvMC.so.1
libXv.so.1
libxcb-dri2.so.0
libxcb-util.so.1

+ 0
- 7
talimatname/2/x11-drivers/xf86-video-intel#20190208-1/pktlibler Переглянути файл

@@ -1,7 +0,0 @@
libIntelXvMC.so.1.0.0
libI810XvMC.so.1.0.0
intel_drv.so
libI810XvMC.so
libI810XvMC.so.1
libIntelXvMC.so
libIntelXvMC.so.1

+ 0
- 10
talimatname/2/x11-drivers/xf86-video-intel#20190208-1/xorg_config Переглянути файл

@@ -1,10 +0,0 @@
mkdir -p $PKG/usr/share/X11/xorg.conf.d
cat >> $PKG/usr/share/X11/xorg.conf.d/20-intel.conf << "EOF"
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
#Option "DRI" "2" # DRI3 is default
#Option "AccelMethod" "sna" # default
#Option "AccelMethod" "uxa" # fallback
EndSection
EOF

Завантаження…
Відмінити
Зберегти