Update drm/radeon to Linux 4.7.10 as much as possible
Sometimes one must go backwards before one can go forwards. The attached patch updates drm/radeon to Linux 4.7.10 as much as possible, with the obvious exception of patches related to dma_fence, reservation objects, dma_buf, prime, DisplayPort MST, and interval trees. In particular, because I do not have DisplayPort hardware to test, I expect complete breakage.
When I want decent font display without corruption on a CAICOS Sapphire Radeon HD6450 card, I use in a hacked version of pkgsrc for mesa 17 in /usr/pkg/share/X11/xorg.conf.d a 20-glamor.conf file resembling:
Identifier "Radeon Graphics"
Option "AccelMethod" "glamor"
Option "ShadowPrimary" "on"
Take out the Option "ShadowPrimary" "on" and there are quite visible artifacts, but I am still able to fire up firefox using
LD_PRELOAD=/usr/pkg/lib/libGL.so firefox &
with layers acceleration forced to get some sort of display in WebGL Water:
The patch is radeon47fast.patch generated by git format patch. Also attached is a diff between drm/radeon after the patch compared to Linux 4.7.10's. radeon_4_07.diff shows exactly what is left to be done.
The patch seems to apply cleanly up through at least
Date: Mon Apr 24 19:22:39 2017 +0200
<fcntl.h>: Add some missing defines (required by POSIX).
- Status changed from New to In Progress
- Assignee set to ftigeot
- % Done changed from 0 to 90
Thanks for the commit, it has been pushed to master today.
With current dports packages and a Radeon R5 230, there was no need to preload a specific library, the webgl demo was perfectly functional out of the box and no artifact was visible.
#3 Updated by mneumann about 2 months ago
> This update unfortunately breaks X11 on at least one system.
> Hardware is based on:
> drm0: <Hawaii PRO [Radeon R9 290]> on vgapci0
> Starting X with no special directives in xorg.conf gives a black screen, and the computer then needs to be hard reset.
It works now as of commit http://gitweb.dragonflybsd.org/dragonfly.git/commit/62dc643ef61b347c4c2e60ad9ea68dd766741c90 (and http://gitweb.dragonflybsd.org/dragonfly.git/commit/7d829069c0009b901fc3cac433685334a793947f).
I need drm.radeon.audio=0 in /boot/loader.conf, otherwise "kldload radeonkms" will fail with a blank screen.
Also I need to "kldload radeonkms" before starting Xorg, otherwise chrome won't work (I have radeonkms_load="YES" in /etc/rc.conf). WebGL works out of the box, but chrome does show some artifacts, e.g. when I resize the window.
Great work! I think we can close the issue.
#4 Updated by firstname.lastname@example.org 16 days ago
That was so nice you waited for me to try filing a bug for this one and instead finding an open question to join.
drm0: <Trinity [Radeon HG 7560D]> at vgapci0
When loading radeonkms something is printed on the screen and screen switches somewhere. When radeonkms is loaded via `/boot/loader.conf` kernel crashes with attached screen, keyboard is no working because usb was not initialised yet. `drm.radeon.audio=0` doesn't help.
I think Xorg has nothing to do here, it just triggers loading radeonkms and "things" "happen".