I've been running FreeBSD 12.1 RELEASE GENERIC amd64 on a Thinkpad 450 as my daily use laptop for the past five months, and overall its been great. This one issue really is starting to drive me nuts however, and I've been unable to resolve it on my own or find a solution online after several attempts, so I thought I'd post here for advice. I'm running the i915kms driver installed via ports (rest of system is installed using pkg, but the pkg version wasn't working on 12.1 when I installed. I don't have anything in my Xorg configuration, just using the detected defaults.
Since I'm using this laptop as my primary computer these days, I often use it docked at my desk with an external monitor, keyboard, and mouse. If the Monitor is plugged when XOrg starts up, everything works fine. However if I plug the monitor in while XOrg is running, it never detects it and xrandr doesn't see it at all. The xrandr output when in this state looks exactly the same as if no monitor was connected. The same thing happens, even if I boot XOrg with the monitor, unplug it, and then plug it back in. I'd like to be able to use the laptop mostly docked, undock it to take it with me, and then redock it when I return, but currently this requires a reboot (or at least a restart of XOrg), which generally makes me think twice about it.
If I quit XOrg and go back to the terminal, the terminal appears on both the internal laptop monitor and the external monitor, so It appears that the kernel driver itself is seeing the monitor fine, I just can't figure out how to get Xorg to detect it or force it to reprobe and find it.
The problem exists both with the DVI and VGA Ports on the dock, as well as the built in VGA port on the laptop-- even with no dock involved the problem still occurs with the laptop's internal VGA. I've tried manually adding in the modeline and mode with xrandr and enabling it, but I get an error about "configure crtc 0 failed". I have a few tweaks to the i915 driver configuration in /boot/loader.conf, and I've tried removing all of those but it didn't make a difference.
I verified yesterday that this works fine for me on a Linux LiveCD, so the hardware seems to support it fine, I just can't figure out how to get FreeBSD to do it. Any advice would be very appreciated. Thanks.
Since I'm using this laptop as my primary computer these days, I often use it docked at my desk with an external monitor, keyboard, and mouse. If the Monitor is plugged when XOrg starts up, everything works fine. However if I plug the monitor in while XOrg is running, it never detects it and xrandr doesn't see it at all. The xrandr output when in this state looks exactly the same as if no monitor was connected. The same thing happens, even if I boot XOrg with the monitor, unplug it, and then plug it back in. I'd like to be able to use the laptop mostly docked, undock it to take it with me, and then redock it when I return, but currently this requires a reboot (or at least a restart of XOrg), which generally makes me think twice about it.
If I quit XOrg and go back to the terminal, the terminal appears on both the internal laptop monitor and the external monitor, so It appears that the kernel driver itself is seeing the monitor fine, I just can't figure out how to get Xorg to detect it or force it to reprobe and find it.
The problem exists both with the DVI and VGA Ports on the dock, as well as the built in VGA port on the laptop-- even with no dock involved the problem still occurs with the laptop's internal VGA. I've tried manually adding in the modeline and mode with xrandr and enabling it, but I get an error about "configure crtc 0 failed". I have a few tweaks to the i915 driver configuration in /boot/loader.conf, and I've tried removing all of those but it didn't make a difference.
I verified yesterday that this works fine for me on a Linux LiveCD, so the hardware seems to support it fine, I just can't figure out how to get FreeBSD to do it. Any advice would be very appreciated. Thanks.