Solved Low res on 13.0-RELEASE i386

Status
Not open for further replies.
After sorting out my Xorg non starting problem mentioned in Thread 79827,
I have now upgraded to FreeBSD 13.0-RELEASE i386 and whilst X works, the system does not change into a higher resolution whilst booting like it did under 12.2.

I ran
freebsd-upgrade -r 13.0-RELEASE uprade
reboot
freebsd-upgrade -r 13.0-RELEASE uprade
pkg upgrade -y
freebsd-upgrade -r 13.0-RELEASE uprade
Not sure about whether I should be using graphics/drm-kmod...

I get this msg whilst booting:-

KLD i915kms.ko: depends on kernel - not available or version mismatch
 
From https://cgit.freebsd.org/src/tree/UPDATING?h=releng/13.0

20210202:
Various LinuxKPI functionality was added which conflicts with DRM.
Please update your drm-kmod port to after the __FreeBSD_verison 1300139
update.

From the error I take that you were already using drm-kmod, but haven't updated the packages? The manual states that
If this was a major version upgrade, reinstall all ports and packages as described in Section 24.2.3.2
so you should be starting from there. If you tried to run pkg install probably it didn't update it, you would need to use the option -f to force the (re)install.
 
freebsd-update -r 13.0-RELEASE upgrade only downloads and prepares the upgrade, it doesn't apply anything yet. You need to run freebsd-update install to actually install the upgrade.

The first freebsd-update install only updates the kernel, and although it says to reboot don't reboot just yet. The second freebsd-update install will update the userland, libraries, etc. in other words, 'world'. Now run pkg upgrade. Then reboot. The third and final freebsd-update install run will remove old and obsolete files and libraries.
 
Since I wasn't getting anywhere, I decided to do a fresh install of FreeBSD 13.0-RELEASE i386 on a new partition to eliminate any upgrade errors. After a base install, I ran pkg install drm-kmod but nothing was installed in /boot/modules/. If I try running it again, I'm told the latest version is already installed, but I can't find any trace of it. On booting, video mode does not change.
/etc/rc.conf contains:-
kld_list="/boot/modules/i915kms.ko"
There is no such file, but there is no complaint about any missing file.
X works OK, albeit it low res.

According to https://wiki.freebsd.org/Graphics

  • There are reports that users on i386 hardware have problems using the drm-kmod package. A workaround for this is to disable PAE via /boot/loader.conf: hw.above4g_allow=0

From what I can tell the drm-kmod pkg doesn't do anything at all.

Any suggestions as to what to do?

 
Since I wasn't getting anywhere, I decided to do a fresh install of FreeBSD 13.0-RELEASE i386 on a new partition to eliminate any upgrade errors.
Just why :-/ – following the documented procedures, upgrades aren't a problem with FreeBSD.
After a base install, I ran pkg install drm-kmod but nothing was installed in /boot/modules/.
That sounds strangely familiar, I've run into this issue on my i386 toy machine, but attributed it to a local error as I'm building repositories myself with poudriere.

But now, maybe there's a bug with dependencies on i386? Just install explicitly drm-fbsd13-kmod to solve this (which should be a dependency of drm-kmod on FreeBSD 13).
 
Just why :-/ – following the documented procedures, upgrades aren't a problem with FreeBSD.

That sounds strangely familiar, I've run into this issue on my i386 toy machine, but attributed it to a local error as I'm building repositories myself with poudriere.

But now, maybe there's a bug with dependencies on i386? Just install explicitly drm-fbsd13-kmod to solve this (which should be a dependency of drm-kmod on FreeBSD 13).
I followed the documented procedures, but without successfully getting my 13.0-RELEASE i386 booting up in a high resolution. Eventually did a freebsd-update rollback to ensure the system (using 12.2) did boot up in high res and it did. There were four years worth of installed pkgs on that disk, so decided to start again from scratch on a different disk thinking it would be easier to isolate the problem.

After installing graphics/drm-fbsd13-kmod /boot/modules/ does get populated, but there still isn't any hi-res...

kldstat does not show i915kms.ko, so it looks like it isn't getting loaded.
 
It has probably nothing to do with your problem but just for your information:

Since FreeBSD 13.0 removed the i915kms from base, you don't need to specify /boot/modules/i915kms.ko anymore.
A simple kld_list="i915kms" will load the module provided by drm-fbsd13-kmod.
 
Since FreeBSD 13.0 removed the i915kms from base, you don't need to specify /boot/modules/i915kms.ko anymore.
Oh, so this finally happened 🥳 about time. So I can finally remove
Code:
WITHOUT_MODULE_DRM=yes
WITHOUT_MODULE_DRM2=yes
from my /etc/src.conf ;)
 
It has probably nothing to do with your problem but just for your information:

Since FreeBSD 13.0 removed the i915kms from base, you don't need to specify /boot/modules/i915kms.ko anymore.
A simple kld_list="i915kms" will load the module provided by drm-fbsd13-kmod.
OK I've changed that line, am still having problems.... Just to clarify.... If I simply install 13.0 i386 and add that line to /etc/rc.conf and add pkgs drm-kmod and drm-fbsd13-kmod, should I be able to boot up to a login prompt in hi res?

What happens here is that the video mode switches, but the screen goes blank and stays like that. The system needs a hard reset to stop.
 
Just wondered if anyone has manged to get hi res working on 13.0-RELEASE i386....

I guess few people use i386 releases these days..
 
What happens here is that the video mode switches, but the screen goes blank and stays like that.
This is definitely a problem with the drm driver itself. Seems you're out of luck there. It works fine on my old i386 notebook here.
 
Since FreeBSD 13.0 removed the i915kms from base, you don't need to specify /boot/modules/i915kms.ko anymore.
You didn't need the full path before FreeBSD 13.0, simply "i915kms" (worked fine on 12.x)

Correction. I have some old hardware where the strikethrough is valid but it is an edge case. On 12.x the full path should be used so that the package module is used (rather than the deprecated OS module).
 
You didn't need the full path before 13, simply "i915kms" (worked fine on 12.x)
Sure, but unless you compiled your own kernel without deprecated DRM modules, this would load, well, the deprecated DRM module from /boot/kernel/i915kms.ko. So, bad idea.
 
I'll clarify for you.

The only thing that needed doing after upgrading FreeBSD 12.2 -> 13.0 to get i915kms back to life on an old Eee PC (1005HA) was:
Code:
pkg install drm-fbsd13-kmod
 
After booting into 13.0 after the upgrade from 12.2 the graphics were fucked which is why I had to find out the right thing to install (not change config, simply install a package).

It will load the deprecated (ages-old) module that still comes with the kernel on 12.x and older.

The thing you claim it will do does not happen for me, ask me how I know? I have an old i915kms machine that is now working.

Maybe in some scenarios what you claim will occur. But not for me.

Edit: Anyone else who is unfortunate enough to make it this far, abandon the thread after this post...

Just do this and get on with life:


Code:
pkg install drm-fbsd13-kmod
 
Hey guys! This isn't a Linux forum... How about a modicum of decorum? We all make mistakes and there is no need to insult people.
 
This is truly moronic. I have no doubts an ages-old deprecated driver worked for you on some ages-old machine. Still, this was totally unsupported, the official DRM driver was in a separate package since 11.2.

So don't tell people misleading and wrong stuff.
 
Status
Not open for further replies.
Back
Top