Solved Framebuffer Problems - No Working Desktop Possible

Been trying for days to get FreeBSD running as a desktop.
Running into constant framebuffer problems.

BIOS UEFI = Disable --- (radeon doesn't like UEFI).
FreeBSD installed with "GPT + Active (BIOS) --- Only one that will boot.
/boot/loader.conf: inserted as line 1 of file => hw.syscons.disable=1
/etc/rc.conf: inserted line => kld_list="radeonkms" --- also tried direct link "/boot/modules/radeonkms.ko" (grumbled it couldn't find the driver until I put the "ko" on the end, so I know its looking for it).

Boot to either lightdm or slim, log-in, desktop shows no bars or icons. Tried XFCE, LXDE, both with same result. Able to R-click from either desktop to pull up menu, but thats all.
Best result I could get was when the driver automatically fell-back to the VESA driver on boot, then would show a full desktop, but with lesser size and resolution, so not usable.

Video card (Radeon HD 4670) is listed at https://wiki.freebsd.org/Graphics as "supported" and "works."

This seems to be the real cause of the problem: https://github.com/freebsd/drm-kmod/issues/60
Apparently this is a long-term problem currently being solved by inserting the "hw.syscons.disable=1" line into /boot/loader.conf.
However, no matter what I tried, I cannot get any usable results.

I'm using FreeBSD on servers, but I would like to use FreeBSD on client machines as well.
But I need a video card that will work with FreeBSD, either v.12.3 or 13.
If I cannot get FreeBSD working as a desktop,
is there some other fork of FreeBSD that works best as a client to FreeBSD servers?

I'm really hoping someone can help me.
I'm new to FreeBSD and really like it so far, so I hope this isn't the end.
I did read that many people give up because they can't get their video card working.

Willing to provide further info / run tests / etc. as necessary.

Thank you for reading this post.

Dave D.
Michigan, USA
 
Last edited:
I had a Caicos (HD6450 mod OEM HD7xxx), and that worked nicely on 12.3 with multi-monitor and WQHD, with the old drm2 driver in the Kernel source.
I'll try and fetch the files from my backup...
 
Found a 12.2 Installation:

loader.conf:
Code:
# Radeon PCIe 7470
module_blacklist=""
radeonkmsfw_CAICOS_pfp_load="YES"
radeonkmsfw_CAICOS_me_load="YES"
radeonkmsfw_BTC_rlc_load="YES"
radeonkmsfw_CAICOS_mc_load="YES"
radeonkms_load="YES"

hw.vga.textmode="0"
kern.vt.fb.modes.DP-1="2560x1440"
kern.vt.fb.modes.DVI-1="1280x1024"
kern.vt.fb.modes.VGA-1="1600x900"

Board was Asus Z10PA-D8, no problems with uefi whatsoever. (It's a pure server board, so probably not much broken uefi stuff in there).
I think I found that list of modules by manually loading the drivers from console and so finding what it pulls in.
And the emptied "module_blacklist" seems to relate to something that tries to force us to use graphics driver from ports instead of the one in the kernel source. Don't remember exactly.
 
No. There is no fork of any bsd.

Are you correctly following the handbook? Or just winging it? I've had many video cards, especially Nvidia, for 20 years. Nvidia even supplies drivers directly and has support pages.

Whenever anyone talks about not being able to install FreeBSD, invariably I find it's cause they winged it using random web sites instead of using the handbook
 
xorg.conf needs Driver "ati" to work fine.
It is said often that this is not necessary. But without it I experienced similar things like you described.

I'd appreciate if you could try the Skunk Installer and report back if it fails to autodetect the graphics card and autoconfigure the xorg.conf and all that.
 
No. There is no fork of any bsd.

Are you correctly following the handbook? Or just winging it? I've had many video cards, especially Nvidia, for 20 years. Nvidia even supplies drivers directly and has support pages.

Whenever anyone talks about not being able to install FreeBSD, invariably I find it's cause they winged it using random web sites instead of using the handbook

I have the manual in printed form on my desk, two volumes, total about 8" thick.
I purchased nearly every FreeBSD book I could find.
But books don't always solve every problem.
I've been a computer consultant for 15+ years so I know what you mean about the typical approach.
However, I'm not one to "wing it" and if I did then I would have no right to expect good results.

About a year ago I tried an NVidea card with drivers from the NVidea site.
Only to finally find out, after days wasted, that there was a version mismatch between the driver being offered by NVidea (too old)
and the version of the operating system (too new) current at that time.

I gave up on NVidea because there was little to no mention of them on the freebsd graphics page.

Are you willing to post any NVidea model number(s) you've had working for 20+ years?

Thank you in advance for any help you can offer.

Dave
 
xorg.conf needs Driver "ati" to work fine.
It is said often that this is not necessary. But without it I experienced similar things like you described.

I'd appreciate if you could try the Skunk Installer and report back if it fails to autodetect the graphics card and autoconfigure the xorg.conf and all that.

This worked. However I still had a lot of very annoying screen flickering at the bottom 1" of screen seemed to be whenever I moved the mouse regardless of where the mouse was at the time.
I did a test install of MidnightBSD, videa card worked right away (with same XFCE desktop), rock solid, with no screen flickering at all.
However I don't want to run MidnightBSD. I would rather not have to learn two operating systems (one for server another for desktop) unless I absolutely have to.
But that does tell me that my video card does work and produce a very good screen image on BSD.

Thanks for any help you can offer.

Dave
 
Found a 12.2 Installation:

loader.conf:
Code:
# Radeon PCIe 7470
module_blacklist=""
radeonkmsfw_CAICOS_pfp_load="YES"
radeonkmsfw_CAICOS_me_load="YES"
radeonkmsfw_BTC_rlc_load="YES"
radeonkmsfw_CAICOS_mc_load="YES"
radeonkms_load="YES"

hw.vga.textmode="0"
kern.vt.fb.modes.DP-1="2560x1440"
kern.vt.fb.modes.DVI-1="1280x1024"
kern.vt.fb.modes.VGA-1="1600x900"

Board was Asus Z10PA-D8, no problems with uefi whatsoever. (It's a pure server board, so probably not much broken uefi stuff in there).
I think I found that list of modules by manually loading the drivers from console and so finding what it pulls in.
And the emptied "module_blacklist" seems to relate to something that tries to force us to use graphics driver from ports instead of the one in the kernel source. Don't remember exactly.

Hi. I tried all of the above, messed around with it for a long time yesterday.
Again, the only time I got any kind of result was when the system defaulted to the VESA driver, but that was not suitable for everyday use.

As I side note, I did a test install of MidnightBSD, videa card worked right away (with same XFCE desktop), rock solid.

I looked around to compare the MidnightBSD settings with ours (my previous and yours above), found only the "radeonkms" setting in /etc/rc.conf.
I DID FIND a matching line in /etc/rc.conf: => kld_list="radeonkms"
I DID NOT FIND any matching line in /boot/loader.conf: => hw.syscons.disable=1
Interesting.

However I don't want to run MidnightBSD. I would rather not have to learn two operating systems (one for server another for desktop) unless I absolutely have to.
But that does tell me that my video card does work and produce a very good screen image on BSD.

Thanks for any further help you can offer.

Dave
 
Thanks for any further help you can offer.
Diffcult. I'm not a specialist in desktop screen twiddling, and I usually prefer intel builtin GPU. I obtained the radeon card only because I wanted to burn-in that server board a few months in my desktop before putting it to regular service.

Then, I do not know if your problem is with the graphics over-all or only with the X screen. X is a separate application from ports, and has it's own configuration issues.

Also I do not know if you are using Rel. 13.1 or 12.3. This shouldn't make much difference, except that 12.3 does still support the old graphics drivers which are not recommended anymore. But I do still use these because they work fine for me, and that's why my desktop stays at Rel.12, for now.
So whatever my meddling may always be caused by something concerning these old drivers.

That much said, You might figure out if You get proper hi-res on the console, without starting X. If so, then the uefi and the FreeBSD do basically work together.

Then concerning X, is a different issue. I had to study the manpage radeon(4) and try out the options, and had errors and distorted lines and artifacts, until I found a configuration that works. And that may be different depending on the device driver used, and it may also be different between the 4670 and the 7470.
In my case it was at least required to set Option "ColorTiling" "false" in the X configuration to get something useable.
 
However I still had a lot of very annoying screen flickering at the bottom 1" of screen seemed to be whenever I moved the mouse regardless of where the mouse was at the time.
I did a test install of MidnightBSD, videa card worked right away (with same XFCE desktop), rock solid, with no screen flickering at all.
Thank you very much for trying the SkunkInstaller!

The flickering area might be caused by several things:
- some ATI/Radeon-specific xorg.conf options. I have only a Radeon 7350 card, as I am mostly Nvidia user, so I only knew of the TearFree option which was absolutely necessary on a HD4xxx card I used for a while years ago. (Maybe MidnightBSD creates a xorg.conf; if it does, it might be interesting to look at it to find out which options it uses. Or find out the way PMc outlined.I for my part would be highly interested to know...)
- some KMS driver regression affecting very old graphics cards. Yes, these happen, not only with Intel and ATI/AMD drivers, but even with Nouveau.

Regarding graphics card choice for FreeBSD, I believe it might be a good idea to use a card which at least supports the new AMD GCN architecture, together with HSA/ROC. The oldest ones of these are available already for ~10 euros.
The choice is more difficult with Nvidia. They stop supporting drivers <=390 in 2022, which will make all these cards dysfunctional at the next Xorg ABI change. Which might come soon or only in many years, who knows. In the Nvidia drivers' README file there is a detailed list of which cards are being supported by which driver(s). For now, Nvidia cards that work with 340 and/or 390 are available from 1 euro and up on ebay, so it won´t be a big waste of money to use a fairly old nvidia. The only issue with nvidia is vt newcons breaks suspend/resume for these, so SkunkInstaller takes care of activating good old SC console in this case (if possible, e.g system still non-UEFI).

Also I do not know if you are using Rel. 13.1 or 12.3. This shouldn't make much difference, except that 12.3 does still support the old graphics drivers which are not recommended anymore. But I do still use these because they work fine for me, and that's why my desktop stays at Rel.12, for now.
So whatever my meddling may always be caused by something concerning these old drivers.
No idea what you are talking about. The old graphics drivers seem still to be there. I have tested the SkunkInstaller on 12.2 and on 13.0 even with graphics cards down to mid-1990s' cards like S3, ATI Mach64, and other now-forgotten manufacturers. Its autodetection and driver/xorg.conf autoinstallation/-configuration works with all these vintage cards I have (except for the Rage128, for which I am still missing the correct Xorg options).
The only issue is with the Nvidia 304 driver, which is still mentioned in the FreeBSD handbook even if it is defunct already since 2017 (SkunkInstaller takes the nv driver in this case).
In the FreeBSD 13.1 release notes I did not find any hint at dropping older graphics cards.
 
Regarding graphics card choice for FreeBSD, I believe it might be a good idea to use a card which at least supports the new AMD GCN architecture, together with HSA/ROC. The oldest ones of these are available already for ~10 euros.
The choice is more difficult with Nvidia. They stop supporting drivers <=390 in 2022, which will make all these cards dysfunctional at the next Xorg ABI change. Which might come soon or only in many years, who knows.

Sounds like its best to stick with AMD cards?

Currently working on a test build. In the end I'll be building around 20 clients, so I like the idea of around $10-$30 ea. if possible.
I need PCI-e x16, with DVI-D (dual monitor) output.

I doubt I'll get too worked up about this current card, will probably continue on with test build and come back to the card issue after figuring out which card is best
and then buying one of that card to try. I would be willing to buy 2 or 3 different cards to try if necessary.

Any further ideas or suggestions?

Appreciate all your help.

Dave
 
RV730/M96-XT [Mobility Radeon HD 4670] reportedly worked with FreeBSD 12.2-p6 in September last year: <https://bsd-hardware.info/?probe=73912d5852&d=FreeBSD#pci:1002-9488-106b-00b6>.

Results for AMD RV730 XT [Radeon HD 4670] are more ambiguous: <https://bsd-hardware.info/?id=pci:1002-9490-1028-2542&d=FreeBSD#status>.

… MidnightBSD, videa card worked right away (with same XFCE desktop), rock solid, with no screen flickering …

If your graphics card works with MidnightBSD, it should work as well with FreeBSD.

… Tried XFCE, LXDE, …

I'll retest one or both of those with FreeBSD 14.0-CURRENT with my AMD Thames [Radeon HD 7550M/7570M/7650M]. I don't recall any problem with the previous test.

(grumbled it couldn't find the driver until I put the "ko" on the end, so I know its looking for it).

It's not required.

sysrc kld_list

What do you have there?

Here:
Code:
% sysrc kld_list
kld_list: fusefs radeonkms filemon
%

Try FreeBSD 13.1-RC4.

I'm awaiting advice re: availability of packages for graphics/drm-devel-kmod for 13.1-RELEASE.
 
Whenever anyone talks about not being able to install FreeBSD, invariably I find it's cause they winged it using random web sites instead of using the handbook
When I saw this remark I decided I ought to comb through the Handbook regarding my own issue. I couldn't figure out where the heck the module_blacklist was coming from since I hadn't set it in /boot/loader.conf. And wouldn't you know it, that's where my answer was.
 
No idea what you are talking about.
I am talking about this:

Code:
vgapci0: <VGA-compatible display> port 0xf000-0xf03f mem 0xf7800000-0xf7bfffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
drmn0: =======================================================
drmn0: This code is deprecated.  Install the graphics/drm-kmod pkg
drmn0: =======================================================
drmn0: Deprecated code (to be removed in FreeBSD 13): drm2 drivers
drmn0: =======================================================
drmn0: This code is deprecated.  Install the graphics/drm-kmod pkg
drmn0: =======================================================
drmn0: Deprecated code (to be removed in FreeBSD 13): drm2 drivers
drmn0: <Intel IvyBridge> on vgapci0

I assume this comes because my kernel config contains this (for intel IvyBridge):
Code:
device          drm2
device          i915drm

And I have no idea (yet) on how this will be done in Rel. 13.
 
Problem solved !

I went to do a final clean install for one last test.

It now works.

Here is what I did...

Completed the clean install of FreeBSD v.13 amd64, following my previous hand-written instructions...
then
pgk install drm-kmod (as before),
sysrc -f /etc/rc.conf kld_list+=radeonkms (as before).
Reboot, see if xfce loads before inserting line into /boot/loader.con ==> hw.syscons.disable=1

TOTAL SHOCK! IT WORKS!

No need to insert line into /boot/loader.con ==> hw.syscons.disable=1

Reboot.

STILL WORKS!

I've done this install & test about 12 times in the past three days, it never worked.
I can only guess that the code downloaded during the install process was in some way fixed on the other side.

At any rate, I'll take it!
This is how it should work!

Thank you to everyone who helped.

Dave D.
 
(Radeon HD 4670)

Problem solved ! …

👍 you can add the Solved prefix.

… FreeBSD v.13 amd64, following my previous hand-written instructions …

Which version of FreeBSD, exactly?

freebsd-version -kru ; uname -aKU

… I can only guess that the code downloaded during the install process was in some way fixed on the other side. …

<https://www.freshports.org/graphics/drm-fbsd13-kmod/#history> not recently updated.

<https://www.freshports.org/graphics/gpu-firmware-kmod/#history> updated a few days before your opening post.

Availability of FreeBSD 13.1-RC4 was announced a few hours after your OP; <https://forums.freebsd.org/posts/564373>.



I'll retest one or both of those with FreeBSD 14.0-CURRENT with my AMD Thames [Radeon HD 7550M/7570M/7650M].

Test results no longer required :) but for the record, both desktop environments were OK.
 
Back
Top