Installation and configuration of the NVIDIA Accelerated FreeBSD Driver Set on a laptop is the same as for any desktop environment, with a few minor exceptions, listed below.
Starting with the 1.0-2802 release, information about the internal flat panel for use in initializing the display is by default generated on the fly from data stored in the video BIOS. This can be disabled by setting the "SoftEDIDs" kernel option to 0. If "SoftEDIDs" is turned off, then hardcoded data will be chosen from a table, based on the value of the "Mobile" kernel option.
The "Mobile" kernel option can be set to any of the following values:
|0xFFFFFFFF||let the kernel module autodetect the correct value|
|2||non-Compal Toshiba laptops|
|3||all other laptops|
|4||Compal Toshiba laptops|
Again, the "Mobile" kernel option is only needed if SoftEDIDs is disabled; when it is used, it is usually safest to let the kernel module autodetect the correct value (this is the default behavior).
You can alter either of these options via the sysctl interface, please see Appendix E, The Sysctl Interface for details.
In this section we discuss additional functionality associated with laptop configuration.
All mobile NVIDIA chips support TwinView. TwinView on a laptop can be configured in the same way as on a desktop machine (please refer to Appendix I, Configuring TwinView ); note that in a TwinView configuration using the laptop's internal flat panel and an external CRT, the CRT is the primary display device (specify its HorizSync and VertRefresh in the Monitor section of your X config file) and the flat panel is the secondary display device (specify its HorizSync and VertRefresh through the SecondMonitorHorizSync and SecondMonitorVertRefresh options).
The "UseEdidFreqs" X config option is enabled by default, so normally you should not need to specify the "SecondMonitorHorizSync" and "SecondMonitorVertRefresh" options. Please see the description of the UseEdidFreqs option in Appendix D, X Config Options for details).
Besides TwinView, mobile NVIDIA chips also have the capacity to react to an LCD/CRT hotkey event, toggling between each of the connected display devices and each possible combination of the connected display devices (note that only 2 display devices may be active at a time). TwinView as configured in your X config file and hotkey functionality are mutually exclusive -- if you enable TwinView in your X config file, then the NVIDIA X driver will ignore LCD/CRT hotkey events.
Another important aspect of hotkey functionality is that you can dynamically connect and remove display devices to/from your laptop and use the hotkey to activate and deactivate them without restarting X.
When X is started, or when a change is detected in the list of connected display devices, a new hotkey sequence list is constructed -- this lists which display devices will be used with each hotkey event. When a hotkey event occurs, the next hotkey state in the sequence is chosen. Each mode requested in the X config file is validated against each display device's constraints, and the resulting modes are made available for that display device. If multiple display devices are to be active at once, then the modes from each display device are paired together; if an exact match (same resolution) cannot be found, then the closest fit is found, and the display device with the smaller resolution is panned within the resolution of the other display device.
When switching away from X to a virtual terminal, the VGA console will always be restored to the display device on which it was present when X was started. Similarly, when switching back into X, the same display device configuration will be used as when you switched away, regardless of what LCD/CRT hotkey activity occurred while the virtual terminal was active.
There are a few known issues associated with laptops:
LCD/CRT hotkey switching is not currently functioning on any Toshiba laptop, with the exception of the Toshiba Satellite 3000 series.
TwinView on Satellite 2800 series Toshiba laptops is not currently functioning.
The video overlay only works on the first display device on which you started X. For example, if you start X on the internal LCD, run a video application that uses the video overlay (uses the "Video Overlay" adapter advertised through the XV extension), and then hotkey switch to add a second display device, the video will not appear on the second display device. To work around this, you can either configure the video application to use the "Video Blitter" adapter advertised through the XV extension (this is always available), or hotkey switch to the display device on which you want to use the video overlay *before* starting X.