On 04/04/2020 10:27, Matthias Andree wrote:
Thank you John for the comprehensive explanation. It took me a while to
go through all the details, then again to recompile the ports and try to
reinstall all packages.
What i discovered in the meantime is that it's not an isolated problem:


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241787

https://forums.freebsd.org/threads/upgrading-to-freebsd-12-1-release-resolving-an-issue-with-drm-fbsd12-0-kmod.72895/



On my system I indeed had the jail at a different patch level than the
host system, although they were all running 12.1-RELEASE. I updated
the host and the jail to 12.1-RELEASE-p3. Poudriere noticed the
updated jail and deleted and recompiled all 2000+ packages. Then I
upgraded the system on which I wanted to install the packages to
12.1-RELEASE-p3 too. Then I deleted drm-fbsd12.0-kmod and installed
drm-kmod. It reinstalled drm-fbsd12.0-kmod.

The result? Blank screen!!!

I start as single or normal user then do:

kldload amdgpu

I see the driver is loading various graphics kernel modules then the
screen goes blank and the whole system hangs. No panic is shown, no
restart, just hungs. Any SSH sessions to the system become stale. Only
hard reset is able to restart it.

This is really frustrating and a really bad user experience. I
wouldn't be surprised if the remained desktop users moved to Linux or
other FreeBSD forks if they haven't already.

The only option left I see is to also compile the kernel myself from
sources.
Compared to 2,000 packages that seams a reasonable approach, and then IN
THAT SAME LIVE SYSTEM also rebuild the graphics modules.

I understand that the poudriere/pkg proponents have aggressively lobbied
users to use pkg and poudriere for clean-room builds, but I wonder if it
isn't easier to forgo poudriere for drivers and instead:

obtain/update to 12.1-RELEASE-p3 sources in /usr/src (with svn, for
instance)
make buildworld buildkernel
make installkernel
edit your loader.conf[.local] so it doesn't load b0rked graphics modules,
reboot into single-user
mergemaster -Fp
make installworld
mergemaster -Fi
make delete-old # important - there may be 12.0 parts that need removal,
12.1 for instance updated LLVM
rebuild your kmods and drivers IN THIS LIVE SYSTEM RIGHT FROM PORTS (not
poudriere)
install kmods and drivers
reboot and then gradually manually load kernel drivers such as amdgpu
one by one so you know which work (enable them in the loader) and which
won't.

I am not sure if it helps for amdgpu, since I am using nvidia- which
sort-of works (but GNOME frequently flakes out for my user but not other
users)... but I'd think this approach forgoes any potential difference
between the build jail and live system kernel sources

Of course this rules out freebsd-update for kernel/system patching then,
you'd update /usr/src and then make -DNOCLEAN buildworld buildkernel and
install again once -p4 or newer come out.


I reinstalled the whole system from a newly compiled kernel and world. It didn't help. When I do "kldload amdgpu" the screen goes blank after loading one of the driver modules.

I have compiled the base on another system and firstly just unpacked the kernel files. When that didn't work I used FreeBSD-base packages to reinstall everything from the build server. It worked pretty well but didn't change a thing.

The build system has an NVidia card and an AMD (Phenom) process. The system on which I install has AMD Vega 64 card and another AMD (Ryzen) processor. I don't use any configuration to build for a specific architecture and I hope "drm-fbsd12.0-kmod" doesn't do any optimizations based on the architecture on which it's compiled.

How can I debug what's wrong?

Grzegorz J


_______________________________________________
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to