Black screen after installing U5, old Intel graphic


Ok I will try this tonight. So I should get the logs when I am experiencing the error?
Should I test xorg.conf driver = intel? Or test rc.conf kld_list=“i915kms.ko”?

One advantage of using BEs is that you can mount them from your working 
BE and then gather logs from them.
Yes, you want testthe driver to intel in xorg.conf
No, it should not be necessary to set the kld_list in rc.conf, though it won't hurt.



Just now in U6 off a fresh install, I went to xorg.conf and changed driver to intel, and on a regular boot, no mention of i915kms in rc.conf, I got an error saying

kldload: can’t load /boot/kernel/i915.kms.ko: no such file or directory

readdding kld_list="/boot/modules/i915kms.ko" to rc.conf

By the way, what’s chip family code name for the Intel C2D T7250, GM965 Express?

in the boot moduels folder, there are other i915 files with sub classes like bxt, cnl, glk, kbl, and skl. What do these abbreviations stand for? Does my chipset belong to any of them?

Do log files in /var/log/ folder get removed after each boot? Because I got the setup for black screen, I rebooted into single user mode to try and read the logs, but the folder was empty.

Is there a way to redirect the logs to another folder automatically so I can check it after reboot? Like some kind of operation in rc.conf or something

Sorry, I was wrong.  /var/log isn't part of the Trident BE.
It gets munged on each boot.
To archive them, you'll need to log in remotely when your console
and virtual terminals are blacked out.



Can you tell me how to ssh into the machine? I haven’t done this in a long time.

The fugly hack way:
# rc-update delete ipfw boot
# rc-update add sshd default

The right way is to add an ssh inbound rule to the ipfw configuration, 
reload the ipfw ruleset, and then add the sshd daemon to the default 



So the only other device on my network is a Windows machine, and I have access to putty or mobaxterm

What are the steps for Putty Windows to connect to my trident laptop ELI5 style? Thanks.

putty.exe -ssh bsdell@IP_OF_YOUR_TRIDENT_LAPTO


This is my U6 install, specified i915kms in rc.conf, and listed specified intel in xorg.conf


sudo dmesg | grep drm
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
[drm] Unable to create a private tmpfs mount, hugepage support will be disabled(-19).
[drm] Got stolen memory base 0x7f800000, size 0x800000
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
[drm] Connector LVDS-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.LVDS-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector VGA-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.VGA-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector DVI-D-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.DVI-D-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector SVIDEO-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.SVIDEO-1
[drm]   - kern.vt.fb.default_mode
[drm] RC6 disabled, disabling runtime PM support
[drm] initialized overlay support
[drm] Initialized i915 1.6.0 20171222 for drmn0 on minor 0
[drm:drm_atomic_helper_wait_for_flip_done] [CRTC:34:pipe A] flip_done timed out


[   218.119]
X.Org X Server 1.18.4
Release Date: 2016-07-19
[   218.119] X Protocol Version 11, Revision 0
[   218.119] Build Operating System: FreeBSD 13.0-CURRENT amd64
[   218.119] Current Operating System: FreeBSD 13.0-CURRENT FreeBSD 13.0-CURRENT GENERIC-NODEBUG amd64
[   218.120] Build Date: 25 February 2019  06:20:25PM
[   218.120]
[   218.120] Current version of pixman: 0.34.0
[   218.120]    Before reporting problems, check
        to make sure that you have the latest version.
[   218.120] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   218.121] (==) Log file: "/var/log/Xorg.0.log", Time: Wed Mar  6 21:38:59 2019
[   218.121] (==) Using config file: "/etc/X11/xorg.conf"
[   218.121] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
[   218.121] (==) ServerLayout "XFree86 Configured"
[   218.122] (**) |-->Screen "Screen0" (0)
[   218.122] (**) |   |-->Monitor "<default monitor>"
[   218.122] (**) |   |-->Device "Card0"
[   218.122] (==) No monitor specified for screen "Screen0".
        Using a default monitor configuration.
[   218.122] (==) Automatically adding devices
[   218.122] (==) Automatically enabling devices
[   218.122] (==) Not automatically adding GPU devices
[   218.122] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   218.122] (WW) The directory "/usr/local/share/fonts/misc/" does not exist.
[   218.122]    Entry deleted from font path.
[   218.123] (WW) The directory "/usr/local/share/fonts/Type1/" does not exist.
[   218.123]    Entry deleted from font path.
[   218.123] (WW) The directory "/usr/local/share/fonts/100dpi/" does not exist.
[   218.123]    Entry deleted from font path.
[   218.123] (WW) The directory "/usr/local/share/fonts/75dpi/" does not exist.
[   218.123]    Entry deleted from font path.
[   218.123] (**) FontPath set to:
[   218.123] (**) ModulePath set to "/usr/local/lib/xorg/modules"
[   218.123] (II) The server relies on devd to provide the list of input devices.
        If no devices become available, reconfigure devd or disable AutoAddDevices.
[   218.123] (II) Loader magic: 0x41b010
[   218.123] (II) Module ABI versions:
[   218.123]    X.Org ANSI C Emulation: 0.4
[   218.123]    X.Org Video Driver: 20.0
[   218.123]    X.Org XInput driver : 22.1
[   218.123]    X.Org Server Extension : 9.0
[   218.124] (--) PCI:*(0:0:2:0) 8086:2a02:1028:01fe rev 12, Mem @ 0xf6e00000/1048576, 0xe0000000/268435456, I/O @ 0x0000efe0/8, BIOS @ 0x????????/65536
[   218.124] (--) PCI: (0:0:2:1) 8086:2a03:1028:01fe rev 12, Mem @ 0xf6f00000/1048576
[   218.124] (II) LoadModule: "glx"
[   218.125] (II) Loading /usr/local/lib/xorg/modules/extensions/
[   218.128] (II) Module glx: vendor="X.Org Foundation"
[   218.128]    compiled for 1.18.4, module version = 1.0.0
[   218.128]    ABI class: X.Org Server Extension, version 9.0
[   218.128] (==) AIGLX enabled
[   218.128] (II) LoadModule: "intel"
[   218.130] (WW) Warning, couldn't open module intel
[   218.130] (II) UnloadModule: "intel"
[   218.130] (II) Unloading intel
[   218.130] (EE) Failed to load module "intel" (module does not exist, 0)
[   218.130] (EE) No drivers available.
[   218.130] (EE)
Fatal server error:
[   218.130] (EE) no screens found(EE)
[   218.130] (EE)
Please consult the The X.Org Foundation support
 for help.
[   218.130] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   218.130] (EE)
[   218.131] (EE) Server terminated with error (1). Closing log file.


Problem solved. This is how I got it to work thanks to [jgroenveld]

beadm create legacy
beadm mount legacy /tmp/legacy
pkg -r /tmp/legacy delete drm-current-kmod
pkg -r /tmp/legacy install drm-legacy-kmod

add kld_list="/boot/modules/i915kms.ko" to /etc/rc.conf

beadm activate legacy
shutdown -r now

I tried the xorg -> driver= intel method first like you suggested, but when I restarted, the computer couldn’t start the X11 server. So I removed the xorg.conf file completely, and tried the rc.conf changes, and it worked.

Thanks for all the help. After 70 posts everything finally worked out.

By the way, can you explain to me what these parts do?

beadm create legacy
beadm mount legacy /tmp/legacy
beadm activate legacy

If I had used the gui package manager in TrueOS to uninstall current and install legacy, would the package manager do the beadm steps as well? How come I didn’t need to beadm deactivate current kmod?

And what’s the difference between drm-current-kmod and drm-kmod?


How come app cafe doesn’t deal with the beadm part of driver installation?


why should it?

AppCafe is just the application installation and removal tool.


Is beadm for creating boot setting list or is it like a restore point kind of thing? When jgroenveld’s code created legacy, it seems to be separate from the original dataset. Does it create 2 copies of the driver set?


man beadm
BEADM(1) FreeBSD General Commands Manual BEADM(1)

beadm – Utility to manage Boot Environments with ZFS


Many thanks for your hard work and persistence, I copied your ‘How To’ and was rewarded with a working Trident after upgrading to U6. I had similar problems after upgrading to U2 but hadn’t bothered with any other upgrades…too hard to fix on a weekly basis.
Oddly, everything went according to your outline except when I came to:

…it did not install…but happily it did not affect the outcome…as far as I know?



What happens if you have both

installed at the same time? Do some key files overwrite the other ones?


Nice summary, thanks!

Doesn’t quite work for me, though.

All steps “work” but when I uninstall drm-current, trident-core gets uninstalled as well but not reinstalled with drm-legacy. As a result the new BE boots but flashes when vt9 is loaded. So, I guess it’s because trident-core is missing. Trying to reinstall it just offers it in conjunctions with drm-current.

So, for me - on a Sandy Bridge - not working, unfortunately.

(Not with same xorg.conf as with drm-current, not with same xorg.conf as with TrueOS legacy BE, not with no /etc/X11/xorg.conf at all.)

Also, strangely enough, during boot the TrueOS logo is displayed. Maybe because of the missing trident-core the BE falls back on the trueos-core of the TrueOS legacy-BE instead of the parent Trident-BE from which that snapshot/BE was generated…


After I got it to work I did another fresh install with alternate way that uses appcafe to uninstall drm current kmod.

I wrote myself a for-dummies fresh install guide for my particular system, very old bios-based system in case I need to do this again

After fresh install
Reboot into single user

#zfs set readonly=off (your pool name, "zpool list" to see pool name)/ROOT
#zfs mount -a
#cp /usr/local/etc/X11/xorg.fallback.conf /etc/X11/xorg.conf
#cat /etc/X11/xorg.conf
make sure driver is "vesa"
if not vesa,
#TERM = cons25
#export TERM
#ee /etc/X11/xorg.conf
change the driver name to vesa, save

with generic driver to boot into desktop environment
open App Cafe, search "drm"
uninstall --> drm-current-kmod
install --> drm-legacy-kmod
open terminal
#su root
#ee /etc/rc.conf
type --> kld_list="/boot/modules/i915kms.ko", save
#rm /etc/X11/xorg.conf
#touch /etc/X11/xorg.conf


ok, bad idea, I just upgraded to u7, and now my desktop won’t start. Is this why beadm part is necessary so it won’t conflict with my existing install?


are you sitting at a login prompt? if so, login as root and type

beadm list

then beadm activate <pick the 2nd from bottom BE>

this should roll you back to a good BE