Opened 4 years ago

Closed 18 months ago

#16272 closed bug (duplicate)

Epic: 3D Acceleration DRM/KMS (Port Linux/FreeBSD DRM drivers to Haiku)

Reported by: kallisti5 Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/Graphics Version: R1/Development
Keywords: Cc:
Blocked By: #9919 Blocking:
Platform: All

Description (last modified by kallisti5)

The Linux/FreeBSD DRM drivers need ported to Haiku. This will involve writing some compatibility layer for drm.

Layers:

  • kernel DRM drivers
  • libdrm https://gitlab.freedesktop.org/mesa/drm
    • Compiles today via meson -D intel=false and faking major/minor/makedev functionality.
      • intel=false disables libdrm_intel which is only used by i915 (this bypasses the need for libpciaccess)
    • Accesses kernel drm drivers via major/minor/makedev
    • major/minor/makedev needs converted to a haiku name-based standard (/dev/graphics/drm/radeon_hd_0800000 or something?)
  • mesa https://gitlab.freedesktop.org/mesa/mesa
    • uses libdrm_* access to get to drm drivers
    • grep for dep_libdrm_ in mesa source for examples

Key points:

  • Ideally work should remain out of tree, or drm graphics drivers should be able to "coexist" in our source tree with our native ones until they reach a critical mass.
  • Video modesetting is in scope via KMS as well.
  • This is a big project with two halfs.
    • DRM drivers in our kernel
    • Mesa leveraging our DRM drivers

Change History (4)

comment:1 by kallisti5, 4 years ago

Description: modified (diff)

comment:2 by pulkomandy, 4 years ago

This old patch series is a previous attempt, of which maybe some parts can be reused: https://review.haiku-os.org/c/haiku/+/436/2

I think I would consider getting the drivers to work for "KMS" first (modesetting, dual screen support, etc) before worrying about the DRM and 3D acceleration parts.

comment:3 by pulkomandy, 2 years ago

Is this a duplicate of #9919 ?

comment:4 by pulkomandy, 18 months ago

Blocked By: 9919 added
Keywords: mesa drm dri removed
Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.