On Wed, Dec 25, 2019 at 04:20:04PM +0530, putridsou...@gmail.com wrote:
> The port maintainer has confirmed both sdl and x interface 
> for netsurf-fb require X.
> Is it possible to modify sdl source code to work with openbsd 
> framebuffer driver? In my case it's inteldrm driver.

There is old code in sdl that does wsdisplay ioctls but it doesn't
handle the inteldrm display type.

The kernel side would need at least this diff and likely more:

Index: sys/dev/pci/drm/amd/amdgpu/amdgpu_kms.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/amd/amdgpu/amdgpu_kms.c,v
retrieving revision 1.8
diff -u -p -r1.8 amdgpu_kms.c
--- sys/dev/pci/drm/amd/amdgpu/amdgpu_kms.c     25 Dec 2019 11:42:05 -0000      
1.8
+++ sys/dev/pci/drm/amd/amdgpu/amdgpu_kms.c     25 Dec 2019 11:49:50 -0000
@@ -1648,6 +1648,9 @@ amdgpu_wsioctl(void *v, u_long cmd, cadd
                wdf->depth = ri->ri_depth;
                wdf->cmsize = 0;
                return 0;
+       case WSDISPLAYIO_LINEBYTES:
+               *(u_int *)data = ri->ri_stride;
+               return 0;
        case WSDISPLAYIO_GETPARAM:
                if (bd == NULL)
                        return -1;
Index: sys/dev/pci/drm/i915/i915_drv.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
retrieving revision 1.126
diff -u -p -r1.126 i915_drv.c
--- sys/dev/pci/drm/i915/i915_drv.c     25 Dec 2019 11:42:05 -0000      1.126
+++ sys/dev/pci/drm/i915/i915_drv.c     25 Dec 2019 11:49:51 -0000
@@ -3225,6 +3225,9 @@ inteldrm_wsioctl(void *v, u_long cmd, ca
                wdf->depth = ri->ri_depth;
                wdf->cmsize = 0;
                return 0;
+       case WSDISPLAYIO_LINEBYTES:
+               *(u_int *)data = ri->ri_stride;
+               return 0;
        case WSDISPLAYIO_GETPARAM:
                if (ws_get_param && ws_get_param(dp) == 0)
                        return 0;
Index: sys/dev/pci/drm/radeon/radeon_kms.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/radeon/radeon_kms.c,v
retrieving revision 1.63
diff -u -p -r1.63 radeon_kms.c
--- sys/dev/pci/drm/radeon/radeon_kms.c 25 Dec 2019 11:42:05 -0000      1.63
+++ sys/dev/pci/drm/radeon/radeon_kms.c 25 Dec 2019 11:49:51 -0000
@@ -231,6 +231,9 @@ radeondrm_wsioctl(void *v, u_long cmd, c
                wdf->depth = ri->ri_depth;
                wdf->cmsize = 0;
                return 0;
+       case WSDISPLAYIO_LINEBYTES:
+               *(u_int *)data = ri->ri_stride;
+               return 0;
        default:
                return -1;
        }

Reply via email to