Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ProjectMentorPrerequisitesDeliverables
Limited per-zone drivers supportgdamoreC, OS internals, device driversThere are some classes of kernel mode components like certain drivers that interact with the rest of the kernel only through well defined interfaces and do not modify global kernel state on their own. It is possible for this class of drivers to service only a subset of processes (e.g. from a zone). Kernel would be read-only to this drivers so they won't affect global stability and they would be mapped only in the processes from a zone, so a panic() would only crash a zone. This would allow us to have support for branded zones (even 3rd party) that don't have system-wide effects and would also simplify writing drivers.
Audio subsystems enhancementsgdamore, TriskeliosC, basic OS internals and/or device driversLots of ideas here... moving audio streams from one device to another, more flexible mixing options, etc. Boomer 2 deliverables that were never worked on. (Ask gdamore.)
Open Source version(s) of certain drivers (cadp)gdamoreC, device driversNew device drivers (possibly ported from a licence-compatible implementation), tested and integrated into illumos.
Device driver porting guidegdamoreC, kernel API(both illumos & foreign), technical writingWrite a porting guide to assist developers porting one or more types of device driver from Linux, BSD, or Windows to illumos.
Broadcom WiFi drivergdamoreC, device driversThere is a reverse engineered bcm wifi driver on Linux, and perhaps BSD. This would open illumos up to a wider range of laptops without relying on the NDIS shim.
DRI with KMS support for Intel graphicsgdamore

@alp 
C, device driversA new kernel Direct Rendering Manager driver with support for mode-setting (KMS) on Intel graphics. Newer X drivers require KMS. It already exists on Linux, and some work is in progress for BSDs. Ongoing work for illumos can be found on github https://github.com/raichoo/illumos-gate/tree/kms
Port OpenBSD's backported Intel graphics support to the older DRI C, device driversOpenBSD has a backport of functionality from newer Intel X server drivers on top on a pre-KMS DRM. This can be leveraged to support newer chipsets without porting a completely new DRM with KMS.
Bluetooth support C, device drivers, reading standardsAdd Bluetooth stack and support for mouse profile, possibly based on prototype port from NetBSD. See https://www.illumos.org/issues/2267 for more info.
Hardware Watchdog Drivers 

C, device drivers, reading standards, porting

Add support for hardware watchdog drivers, for advanced motherboards to be able to employ hardware reboot of hung systems. Possibly, port (or learn from) the Linux watchdog collection, and tie this in with bmc-watchdog and related FreeIPMI utilities in illumos.
Hardware Sensor Drivers 

C, device drivers, reading standards, porting

Add support for monitoring of system temperatures, fan speeds and other data provided by hardware sensors on most of the motherboards sold in the past decade or more. LM-Sensors project for Linux is a good start, and a worthy upstream (to allow future resyncs in order to get new drivers).
Extend "radeon" video driver support to APU processors C, device drivers, reading standardsillumos includes some support for AMD/ATI Radeon video cards as part of its driver subsystem as well as an X11 rendering driver. Some time ago new devices of this brand were released, AMD APUs, which combine a CPU and several graphics cores in one chip. These are now popular in notebooks, but are not recognized by the drivers which exist in illumos today (so the video works as generic VESA). Goal of this quest is to add at least basic support for this video hardware, including the ability to suspend it (so the notebook can go to sleep and resume – today attempts to suspend hang such system). Bonus points for 3D acceleration and other pretty video features.
Update net80211 stack C, device drivers, 802.11 standards, BSD net80211 stackUpdate the WiFi stack to make it easier to port drivers from BSDs. Align the basic stack with BSDs so that work is limited to lower-level interfaces. This requires a degree
sd & ssd cleanup C, device driverssd.c is one of the messiest pieces of code we have.  It gets compiled into two drivers for historical reasons (sd and ssd).  There is really no reason to have this split.  Either move the ssd bits into sd (if the devices it supports are still useful) or just nuke ssd support and clean up sd.c accordingly.

...