I imagine that for most users the state of graphics support for post-Haswell
hardware is a bit of a black box so I'm sending out this note to let users know
what they can and cannot expect.
Wayland has actually become a reality for some. Talk to Johannes Lundberg if
you're interested in tracking that.
The i915 (Intel integrated GPUs) driver is currently best supported by the
drm-next-4.7 branch. Broadwell and Skylake support is complete and some support
came in late in the cycle for Kaby Lake. I can still consistently lock up the
kernel in the later stages of the piglit test suite, there is no backlight
support, and suspend/resume do not work on Skylake. The drm-next branch is
integrated with upstream up through Linux 4.8-rc5 and thus has complete support
for Kaby Lake, but there is a lockup in i915 that occurs some time within an
hour of startx. This takes too long for it to have shown up in my limited
integration smoke testing.
The amdgpu driver is, in terms of KPI dependencies - as far as I can tell - a
strict superset of the radeon driver. For example, when I tested my one older
card that uses the radeon driver it manifested the same ttm bugs as amdgpu did
at that time. Thus, when amdgpu reaches a complete working state I expect
radeon to largely "just" work. As of this past Sunday amdgpu with the amdgpu
DDX works with 2D, supports external monitors - selecting the appropriate
resolution on a per display basis, and backlight works. It will also typically
panic in ttm within ~90 minutes of startx. Although this is huge progress over
panicking within 30s of startx (which was the case as of Saturday) or not
starting at all due to bugs in the libdrm port a few weeks prior, it's
obviously not something I encourage anyone to use.
My primary motivation for starting with the work is being able to to train
DNNs/RNNs and other model types using Theano/Caffe/Tensorflow/BidMach etc GPU
accelerated whilst still running FreeBSD. The Radeon Open Compute stack holds
out the promise of doing that without using the closed source CUDA stack on top
of the Linux ABI emulation - which would inevitably be opaque and fragile. My
plan is to keep on fixing bugs and tracking upstream until the first long term
branch after ROC support has been integrated in to Linux mainline. I have no
exact knowledge of when exactly that will be (AMD doesn't have sufficient
developer resources to make any concrete guarantees) but think it should happen
by the summer of 2017. I would like to think that by that time the i915,
amdgpu, and radeon will be feature complete and at least as stable as the drm2
support currently in tree.
I need to weigh my soft commitment to make long-term DRM support happen with
paid work and other activities which are much more important to me long term.
Thus I've currently committed to spending every Sunday fixing bugs in the
drm-next branches. Amdgpu is both more important to me and has gotten much less
attention than i915. Thus I will be devoting my efforts to it in the near term.
I'd very much welcome efforts by others to triage the issues in i915.
Many people ask when drm-next will be available on 11. I am not a committer and
thus have no direct say in that. However, if you are a motivated individual
with kernel knowledge you should contact Adrian Chadd. There are a few places
where I was not able to provide proper linuxkpi semantics without making
(mostly quite modest) changes to sys/kern. There is a general reluctance by
some core developers to make changes to accommodate Linux. It is possible that,
with additional effort, the linuxkpi can both be complete enough to avoid
needing to port the graphics drivers to FreeBSD (something clearly shown by
past efforts to be unsustainable) and not need to make any kernel changes. If
you would like to help with that, let Adrian know. In the meantime, TrueOS will
continue to use my development branches for the benefit of users with newer
firstname.lastname@example.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"