My boot partition with /boot/loader is different than the partition which holds my kernel and does not have /boot/loader file. How would this work for modules I wonder.
Yeah, that's a good point coming from OP, and a bit of a head-scratcher for me - I followed the Handbook step-by-step from the very beginning, and adjusted for my hardware where needed - and never really had a problem with Xorg on FreeBSD. I personally think that Handbook is quite useful, and that a large number of GPU's would in fact be compatible with FreeBSD and Xorg - but you still gotta do your homework on the compatibility.What I am getting from this discussion is that this area is really more than a bit of a mess. One of the reasons for my interest in the BSDs is my skepticism about the Linux Wild West development model, as evidenced by the current state of the Linux audio system, both its actual architecture (or lack thereof) and documentation (or lack thereof). I'm disappointed to see similar problems, both apparently architectural and with the documentation, in the theoretically more tightly controlled FreeBSD system.
Just look back at this thread, where people who sound like they know their stuff, are disagreeing about how to do something really fundamental -- make X work correctly with a member of a large class of gpus. This points directly at the documentation in the Handbook, which I characterized as incomprehensible in my original post. It seems clear, pun intended, that all of you are having the same issue. If the X configuration were well-written and accurate, we wouldn't be having this discussion.
KLD_LIST=radeonkms
kld_list="drm"
drm
instead of radeonkms
I'd appreciate your showing us where the Handbook says that.I'm beginning to think that OP has no greeter like sddm or gdm installed. The Handbook clearly says you gotta install one and enable it. It's OK to install and configure drm-kmod before or after. But both have to be installed and enabled in /etc/rc.conf before rebooting. There is a sequence of chores you gotta do to make sure everything works. Doing stuff out of sequence invites a broken FreeBSD system that is difficult to troubleshoot. This is why Handbook is your friend.
The drivers don't seem to evolve faster than OpenBSD's documentation, or Slackware Linux's, or ArchLinux's or Dragonfly's or NetBSD's. All of those system have been tested by me on the same hardware that we've been discussing here and I've had zero problems with X setup and its documentation. Expecting documentation of even FREE software to be comprehensible and accurate is hardly silver platter territory. The competition all do it better than FreeBSD., at least in this very important area.My partial and very incomplete understanding, derived mostly from the following linked thread, in summary goes something like this: "radeonkms" is a kernel mode-setting driver, whereas "radeon" is an xorg video driver included in xf86-video-ati. Using the radeonkms kernel driver by itself is not enough, you also need a video driver, which, depending on your specific graphics card, might be the radeon driver, or the amdgpu driver (which, I'm only assuming, is probably included in xf86-video-amdgpu), or the default modesetting driver from x11-servers/xorg-server.
Linked thread: Thread problems-with-radeon.79189
These drivers continue to evolve, faster than the documentation which supports them. That is hardly an unusual situation. Yesterday's solutions may not work so well, or at all, today or tomorrow. Yes the documentation could be more complete, but it's still pretty amazing for something which is totally FREE, so I don't complain much about the free stuff I get at absolutely no cost other than a little effort on my part. FreeBSD is not for those who want it all dished out for them on a silver platter. Windows 10 has great hardware support, unless your machine is too old, or underpowered, whereas FreeBSD still supports a wide range of older and newer hardware.
They do. FreeBSD's use of Linux drivers is weak in this area. I am not convinced that having these drivers as ports serves a good purpose when it is dependent on the kernel version anyway. The handbook is also lacking in this area due to this fragile design. FreeBSD should be doing better here and it stems from odd decisions rather than technical or man power.The competition all do it better than FreeBSD., at least in this very important area.
# pkg install drm-kmod
kld_list="amdgpu"
or
kld_list="radeonkms"
kldload amdgpu
or kldload radeonkms
) manually. You should see the screen flicker and make a mess (you should now have a semi-blank console window with the rest of the content trailing down at the bottom). startx
and you should see something.Thanks for the explanation of how FreeBSD got to this point. I've focused on the weakness of the documentation, but it sounds like there are serious problems with what the project has done with the code.They do. FreeBSD's use of Linux drivers is weak in this area. I am not convinced that having these drivers as ports serves a good purpose when it is dependent on the kernel version anyway. The handbook is also lacking in this area due to this fragile design. FreeBSD should be doing better here and it stems from odd decisions rather than technical or man power.
My gpu needs the radeon stuff, not amdgpu. Go back through this thread and you'll see that I did essentially what you recommend (substituting radeon for amdgpu) and what installing drm-kmod recommends (adding the kld_list line to rc.conf). The result was an unbootable system, which was why I started this thread.So first you need to add these external video drivers. If you do:
Code:# pkg install drm-kmod
It should pull in drm-fbsd13-kmod, gpu-firmware-kmod. Hopefully these are now installed? Do confirm this because in the past I have seen this meta package install without correctly pulling in the required packages.
Now you need to load the driver. The /boot/loader.conf stuff doesn't seem to work consistently for all these drivers, so instead use the kld_list in the rc.conf:
Code:kld_list="amdgpu"
So you have a *lot* of experience in OS development, but no experience on giving some logs, it is like shooting in the dark....
I have a *lot* of experience in OS development and Unix/Linux system administration.
...
kldload radeonkms
what happens? Does the screen turn black and you get nothing?… My gpu needs the radeon stuff, …
radeonkms
in /etc/rc.conf is problematic for me, so I found a workaround.… I think "it just needs to be loaded later" is correct.
… drm-fbsd13-kmod and gpu-firmware-kmod packages. Hopefully these are now installed? …
…I manually ran 'kldload radeonkms'. That worked …
You obviously have the machine connected to a network? Does it respond to network packets? How about watching the ethernet lights blink? How about logging in from a second machine, and in a ssh session looking at the dmesg output? Are you actually sure the machine is "completely unresponsive"? My educated guess is that the video subsystem has just been turned off as a side-effect, but that the kernel itself and user processes are otherwise working just perfectly.... Dead -- blank screen, completely unresponsive.
Sometimes it is useful to start from a blank canvas. Especially if someone has been trying different approaches since their original post there is no telling what sort of state their system is.We can be certain of this because (from the opening post):
Sorry, just not the case. I verified that by re-installing 13-RELEASE and recompiling the kernel (with default options) BEFORE installing anything, even the ports tree. Then I ran updatedb.sysrc kld_list+=radeonkms loads the kernel one.
For the ports one you need to put the full path to be certain.
The drm port contains the following files,
Code:/boot/modules/amdgpu.ko /boot/modules/drm.ko /boot/modules/i915kms.ko /boot/modules/linuxkpi_gplv2.ko /boot/modules/radeonkms.ko /boot/modules/ttm.ko
RunningNow that has me a little lost... If there's radeonkms.ko in /boot/kernel/ AND an identically-named file in /boot/modules/, that would make it dangerous to just put# sysrc kld_list+=radeonkms
out there - exactly which one gets loaded? What happens if both try to get loaded? I'd expect a module conflict where neither is loaded. I'd have to recompile my stock 13-RELEASE kernel to verify that radeonkms.ko does in fact appear in /boot/kernel/ first - but then there'd be no point to having the DRM port.
locate radeonkms
and locate amdgpu
after recompiling the kernel with default options (and I did the updatedb, too), turned up nothing. Conclusion - drm.ko is NOT included in kernel sources, so no way you'd have /boot/kernel/amdgpu.ko unless you messed with make.conf or makefile flags earlier. This is why we have the drm port./boot/kernel/radeonkms.ko
When you compiled the kernel, you already had the DRM port installed. I compiled mine with absolutely nothing installed, not even the ports tree or any packages whatsoever. runnlingAfter compiling kernel I have
Code:/boot/kernel/radeonkms.ko
#updatedb
and # locate radeonkms
after that, I came up empty.