NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Article on state of graphics drivers on BSDs
On Sat, Feb 09, 2013 at 08:47:16AM +0530, Mayuresh wrote:
> Should be of interest to this list:
>
> http://www.phoronix.com/scan.php?page=news_item&px=MTI5Njk
ISTM the reason that X.org support stalls in *BSD for a lot of reasons,
more than I am even aware of, but surely it has something to do with
missing interfaces in BSD (and not mainly missing graphics interfaces),
the Linux-centrism of X.org and poor architecture/documentation for
the requisite kernel interfaces, and X11's dwindling relevance as a
platform?
* BSD doesn't provide the native interfaces that a userland device
driver demands, interfaces for
1 mapping user memory for DMA, converting user virtual addresses to
bus addresses, DMA buffer synchronization: basically bus_dma(9) for
userland.
2 sharing limited adapter resources (a graphics command ring,
texture/vertex/whatever RAM, slots in a GART) between user threads
3 registering interest in device interrupts
4 setting color depth, frame rate, resolution, etc
Incidentally, each of those interfaces are applicable outside the
domain of X.org graphics drivers.
* Linux does not individually provide those interfaces, either,
except for #4, for which there is KMS. I say "individually" because
Linux seems to provide a *monolithic* framework for accelerated
graphics.
* the documentation of the Linux framework is no good
* typically developers have brought the Linux graphics drivers into *BSD
starting with the monolithic framework du jour (DRM/GEM/TTM). That
may entail some kind of kernel tear-up, porting/re-writing a lot of
code, grappling with the VM system and scheduling, with deficiences in
bus_dma(9) and in bus_space(9). It's a ton of work; you won't see any
benefit until the whole thing is done many months hence; it may not
get finished.
* if it doesn't get finished, because it's a monolith, it leaves
no re-usable remnants such as a VM change here, or a bus_dma(9)
improvement there. There's just one very big, very broken patch.
* X11 isn't such an interesting platform as it used to be.
* it's not clear if/how mobile/embedded *BSD applications that eschew
X11 will benefit from improved support for X.org drivers, so X.org
driver support is easy for a sector of developers to shrug off
* Many BSDers' do their day-to-day computing on a Mac, and this
is not merely because of poor hardware support on BSD. There
is quality software available for Mac, there is consistency,
and there is easy interoperability with useful peripherals and
mobile gadgets. The stable of X11 software just is not widely
appealing, today, and there are no prospects for improvement.
Dave
--
David Young
dyoung%pobox.com@localhost Urbana, IL (217) 721-9981
Home |
Main Index |
Thread Index |
Old Index