Vincent Stemen
2018-Jun-22 01:57 UTC
ATI video problem - slow desktop - 100% cpu load [semi-solved]
On Wed, Jun 20, 2018 at 05:13:17PM -0400, Mark Saad wrote:> Vincent > I am running 11.2-PRERELEASE with a Cedar PRO [Radeon HD 5450/6350] > and I dont have any issues like that > > here is what I do to get it working for me; and I have used more or > less the same setup since 10.3-RELEASE > > In my loader.conf I have > > radeonkms_load="YES" > radeonkmsfw_CEDAR_pfp_load="YES" > radeonkmsfw_CEDAR_rlc_load="YES" > radeonkmsfw_CEDAR_me_load="YES" > > I use a static xorg.conf as well In there I have the following bits > > > Also if the redeon driver is not working for you try scfb . It works > better the vesa it some casesThank you very much Mark! The scfb driver works! I didn't know what the scfb driver was for or that it will use the radeon kernel modules. This seems to confirm that the problem lies in the radeon X server driver that's in the xf86-video-ati package. I tagged this as semi-solved in the subject because it solves our immediate problem and gets us working, but it seems to be a work around to fixing the ati driver problem. Unless FreeBSD is going in the direction of using the scfb driver and not needing the ati driver at all, but I have found no documentation indicating this. The man page for scfb says it is a non-accelerated driver. So far as I can tell, that is not necessarily the case. It is using the radeon kernel modules and I seem to have full desktop features, resolution, and performance, including transparencies. I even tested moving windows around that are playing high def videos. I am curious how you discovered the use of this driver for ATI cards since I have not found docs that say anything about it. BTW, I did test with all three ATI Radeon card models that I mentioned, and it works fine with all of them. Anyway, there are some caveats to getting it working. Since I spent the last few days working on this issue, I am posting my notes below to help others who might be experiencing the same issue. Solution to getting ATI Radeon graphics cards working ====================================================Use the "scfb" driver from the xf86-video-scfb package rather than the "radeon" driver from the xf86-video-ati package. /etc/X11/xorg.conf Section "Device" ... Driver "scfb" ... EndSection This driver also requires the radeon kernel modules to be loaded, but does not automatically load them like the radeon driver does. I tried loading them in /boot/loader.conf, /boot/loader.conf radeonkms_load = yes radeonkmsfw_RS780_pfp_load = yes radeonkmsfw_RS780_me_load = yes radeonkmsfw_R600_rlc = yes This did not work. The radeonkmsfw_R600_rlc.ko module does not get loaded and the console does not get initialized. Apparently it has something to do with loader loading the modules first, when the kernel is not running yet to have detected the PCIe devices. Even if you manually load radeonkmsfw_R600_rlc after booting, using kldload, it still does not initialize the console. You must load radeonkms.ko after the system is fully booted. # kldload radeonkms That automatically loads the other 3 modules and initializes the console where the console text goes into higher resolution mode. Then X and the desktop environments work and seem to be fully functional, including transparency, etc. So I can either put it in /etc/rc.local, to be run at boot time, or put it in an X startup script wrapper. Note that it must be run prior to startx because it must be loaded before launching the X server. So it cannot be put in ~/.xinitrc.
Carl Johnson
2018-Jun-22 03:41 UTC
ATI video problem - slow desktop - 100% cpu load [semi-solved]
Vincent Stemen <vince.bsd at hightek.org> writes:> You must load radeonkms.ko after the system is fully booted. > > # kldload radeonkms > > That automatically loads the other 3 modules and initializes the console where > the console text goes into higher resolution mode. Then X and the desktop > environments work and seem to be fully functional, including transparency, etc. > > So I can either put it in /etc/rc.local, to be run at boot time, or put it in > an X startup script wrapper. Note that it must be run prior to startx because > it must be loaded before launching the X server. So it cannot be put in > ~/.xinitrc.Have you tried loading it with kld_list in /etc/rc.conf? Those get loaded during boot, but it might be late enough to work. That would be automated, so it might be a little more convenient. -- Carl Johnson carlj at peak.org