[prev in list] [next in list] [prev in thread] [next in thread] 

List:       illumos-discuss
Subject:    Re: [discuss] Re: UNIX on the desktop
From:       randyf () sibernet ! com
Date:       2016-08-22 19:28:34
Message-ID: alpine.SOC.2.00.1608221206200.13453 () sibernet ! com
[Download RAW message or body]


On Mon, 22 Aug 2016, Garrett D'Amore wrote:

> This is awesome news Alan.   Given that bulk of the work is now done, it
> should be a relatively straight-forward thing to take this work into
> illumos… I hope.
> I might even take a look at doing so myself, gratis, just to shut the entire
> rest of the whiners up.

   FWIW, this has been available for about 2 years now, and was the basis 
for Martin's work.  IMO, had he not been so abusive in his comments, it is 
quite possible that KMS support would have been available for Illumos 
already.


   To reiterate one of Alan's comments, though:

     You want to avoid making significant changes, as future maintenence
     will be difficult.

   Changing the 'drm' module name to something else will not only cause 
confusion among users, it will likely make other merge methodologies 
tough.  There are a couple of gaps that need to be handled (required 
imports that are not currently in Illumos).  Choosing to address these by 
wrappers are probably the easiest way, but these wrappers are probably 
better added to an Illumos-specific source file that is linked into the 
final binary so as to make the base changes easy to manage.

   You might also re-consider the moving of Xorg into oi-userland.  One of 
the key reasons to move the drivers out of ON and into X is because of the 
interfaces between libdrm and DRM based KMS drivers.  If they are out of 
sync, bad things can happen.  Having them build together and packing 
dependent on the appropriate provider (KMS drivers should depend on 
libdrm, as that is the interface provider) will help reduce version 
compatibility problems.

   Additionally, I would suggest removing all of the old DRM based drivers 
from ON.  At best they are quite old, at worst they can have the above 
incompatibilty issues that will cause kernel crashes (the i915 driver 
wasn't very stable in the past, I doubt it is much if any better today). 
I understand that the Radeon driver is "desired", but if it is choosen to 
remain, it would probably be better to make it fully stand-alone and 
loadable beside a standard drm module than to hack a recent drm module to 
allow the Radeon to exist unmodified (plus, future updates will hopefully 
allow this driver to be obsoleted as well).


   Questions or comments are welcome and will receive (hopefully polite) 
responses provided they are at least civil.


   Cheers!

 	---- Randy

> 
> On Mon, Aug 22, 2016 at 10:09 AM, Alan Coopersmith
> <alan.coopersmith@oracle.com> wrote:
>       On 08/22/16 12:57 AM, Joshua M. Clulow wrote:
>             If you need to port graphics bits from FreeBSD, or
>             OpenBSD, or from
>             somewhere else, just start working on it!   Kernel
>             development isn't a
>             dark art, or a secret club with handshakes and lodge
>             hats; it requires
>             tenacity, and dogged persistence, but it's all just
>             software.
> 
>
>       Or even from Solaris, as we've made our i915 KMS port available
>       as well:
> https://hg.java.net/hg/solaris-x11~x-s12-clone/file/default/open-src/kernel
> 
>
>       If you'd like to learn more before diving into the code, you
>       could start by
>       watching some of the talks from the Solaris & BSD porters at
>       X.Org conferences
>       in recent years - see
>       https://www.x.org/wiki/Events/XDC2015/Program/ and the
>       previous XDC programs listed on
>       https://www.x.org/wiki/Events/History/ .
>       There's also some in-depth blogs from the Linux i915 KMS
>       maintainer at
>       http://blog.ffwll.ch/tags/ which may be useful.
>
>       One thing you may hear in several places is "It's easier/better
>       to port your
>       kernel to KMS than to port KMS to your kernel" - which is a way
>       of saying
>       you'll want to add interfaces to the kernel that KMS needs, even
>       if they're
>       just a thin shim over the native interfaces, since a successful
>       port will
>       not be a "do it once and done forever" thing, but will need
>       ongoing long term
>       maintenance since graphics and graphics devices continue to
>       evolve at a much
>       faster rate than things like storage devices or network
>       devices.   (Just look
>       at the "new things in drm/i915" posts every couple months on the
>       blog above.)
>
>       That's unfortunately the part left out of the above Solaris code
>       release which
>       you may have an easier time finding in the open source kernels
>       from the BSDs,
>       but our maintainer gave one of the talks mentioned above and can
>       answer some
>       questions about it.   (But if the question is "Can you publish
>       the rest of the
>       source?", the answer is still "Sorry, no we can't.")
>
>       Alternatively, you could learn to use Coccinelle
>       <http://coccinelle.lip6.fr/>
>       and then write a series of API mapping transforms you apply to
>       every new code
>       version you bring in, but in either case, far more of the
>       DRI/KMS porting work
>       lies in things like memory management and matching up
>       kernel/driver API's than
>       in actual graphics programming.
>
>                   -alan-
> 
> 
> illumos-discuss | Archives[7e86535e.jpg?uri=aHR0cHM6Ly93d3cubGlzdGJveC5jb20vaW1hZ2VzL2ZlZWQtaWNvbi0xM
> HgxMC5qcGc] | Modify Your Subscription
> [7e86535e.png?uri=aHR0cHM6Ly93d3cubGlzdGJveC5jb20vaW1hZ2VzL2xpc3Rib3gtbG9nb
> y1zbWFsbC5wbmc]
> 
>


-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/25758063-6f7f4185
Modify Your Subscription: https://www.listbox.com/member/?member_id=25758063&id_secret=25758063-83fb4fd4
Powered by Listbox: http://www.listbox.com


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic