[haiku-bugs] Re: [Haiku] #16272: Epic: 3D Acceleration DRM/KMS (Port Linux/FreeBSD DRM drivers to Haiku)

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Wed, 17 Jun 2020 15:53:23 -0000

#16272: Epic: 3D Acceleration DRM/KMS (Port Linux/FreeBSD DRM drivers to Haiku)
-------------------------------+----------------------------
  Reporter:  kallisti5         |      Owner:  nobody
      Type:  bug               |     Status:  new
  Priority:  normal            |  Milestone:  Unscheduled
 Component:  Drivers/Graphics  |    Version:  R1/Development
Resolution:                    |   Keywords:  mesa drm dri
Blocked By:                    |   Blocking:
  Platform:  All               |
-------------------------------+----------------------------
Description changed by kallisti5:

Old description:

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

Layers:

* kernel DRM drivers
  *
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm
  * Compatibility layers need written. FreeBSD has some which could be
used as a reference. (they use Linux drm drivers)
  * We also already have some FreeBSD compatibility layers used by our
network drivers which could help.
* libdrm https://gitlab.freedesktop.org/mesa/drm
  * Compiles today via {{{meson -D intel=false}}} and faking
major/minor/makedev functionality.
  * 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

New description:

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

 Layers:

 * kernel DRM drivers
   *
 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm
   * Compatibility layers need written. FreeBSD has some which could be
 used as a reference. (they use Linux drm drivers)
   * We also already have some FreeBSD compatibility layers used by our
 network drivers which could help.
 * 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

--
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/16272#comment:1>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: