Files
RedBear-OS/recipes/wip/libs/other/imlib2/redox.patch
T
vasilito 50b731f1b7 Red Bear OS — microkernel OS in Rust, based on Redox
Derivative of Redox OS (https://www.redox-os.org) adding:
- AMD GPU driver (amdgpu) via LinuxKPI compat layer
- ext4 filesystem support (ext4d scheme daemon)
- ACPI fixes for AMD bare metal (x2APIC, DMAR, IVRS, MCFG)
- Custom branding (hostname, os-release, boot identity)

Build system is full upstream Redox with RBOS overlay in local/.
Patches for kernel, base, and relibc are symlinked from local/patches/
and protected from make clean/distclean. Custom recipes live in
local/recipes/ with symlinks into the recipes/ search path.

Build:  make all CONFIG_NAME=redbear-full
Sync:   ./local/scripts/sync-upstream.sh
2026-04-12 19:05:00 +01:00

105 lines
2.8 KiB
Diff

diff -ruwN '--exclude=Makefile.in' source-old/src/lib/x11_grab.c source/src/lib/x11_grab.c
--- source-old/src/lib/x11_grab.c 2024-12-24 07:45:18.000000000 -0700
+++ source/src/lib/x11_grab.c 2025-10-30 12:54:08.011156248 -0600
@@ -4,8 +4,10 @@
#include <X11/Xutil.h>
#include <X11/extensions/shape.h>
#include <X11/extensions/XShm.h>
+#if !defined(__redox__)
#include <sys/ipc.h>
#include <sys/shm.h>
+#endif
#include "x11_grab.h"
#include "x11_ximage.h"
diff -ruwN '--exclude=Makefile.in' source-old/src/lib/x11_rend.c source/src/lib/x11_rend.c
--- source-old/src/lib/x11_rend.c 2025-04-06 07:16:45.000000000 -0600
+++ source/src/lib/x11_rend.c 2025-10-30 12:55:57.324410357 -0600
@@ -474,20 +474,24 @@
gcm = XCreateGC(x11->dpy, m, GCGraphicsExposures, &gcv);
}
/* write the mask */
+#if !defined(__redox__)
if (shm)
/* write shm XImage */
XShmPutImage(x11->dpy, m, gcm, mxim, 0, 0, dx, dy, dw, dh, False);
/* write regular XImage */
else
+#endif
XPutImage(x11->dpy, m, gcm, mxim, 0, 0, dx, dy, dw, dh);
}
/* write the image */
+#if !defined(__redox__)
if (shm)
/* write shm XImage */
XShmPutImage(x11->dpy, w, gc, xim, 0, 0, dx, dy, dw, dh, False);
/* write regular XImage */
else
+#endif
XPutImage(x11->dpy, w, gc, xim, 0, 0, dx, dy, dw, dh);
/* free the XImage and put onto our free list */
diff -ruwN '--exclude=Makefile.in' source-old/src/lib/x11_ximage.c source/src/lib/x11_ximage.c
--- source-old/src/lib/x11_ximage.c 2024-01-02 06:11:28.000000000 -0700
+++ source/src/lib/x11_ximage.c 2025-10-30 12:57:02.128925585 -0600
@@ -11,8 +11,10 @@
#include <xcb/shm.h>
#include <sys/mman.h>
#endif
+#if !defined(__redox__)
#include <sys/ipc.h>
#include <sys/shm.h>
+#endif
#include "x11_ximage.h"
@@ -56,6 +58,7 @@
int val;
/* if its there set x_does_shm flag */
+#if !defined(__redox__)
if (XShmQueryExtension(d))
{
#ifdef HAVE_X11_SHM_FD
@@ -72,6 +75,7 @@
}
/* clear the flag - no shm at all */
else
+#endif
{
x_does_shm = 0;
return;
@@ -121,6 +125,7 @@
return NULL;
/* try create an shm image */
+#if !defined(__redox__)
xim = XShmCreateImage(x11->dpy, x11->vis, depth, ZPixmap, NULL, si, w, h);
if (!xim)
return NULL;
@@ -230,6 +235,7 @@
shmctl(si->shmid, IPC_RMID, 0);
}
}
+#endif
/* couldnt create SHM image ? */
/* destroy previous image */
@@ -243,6 +249,7 @@
XShmSegmentInfo *si)
{
XSync(x11->dpy, False);
+#if !defined(__redox__)
XShmDetach(x11->dpy, si);
#ifdef HAVE_X11_SHM_FD
if (x_does_shm_fd)
@@ -255,6 +262,7 @@
shmdt(si->shmaddr);
shmctl(si->shmid, IPC_RMID, 0);
}
+#endif
XDestroyImage(xim);
}