The video chip used in the Toshiba 6100 is the NVIDIA GeForce 4 420
Go.
Depending on the exact model of 6100 you have, the video RAM may be 16M
or 32M - check this from the specifications before going any further.
During RH Linux 8.0 installation, the chip is probed as NVIDIA GeForce
4 and a "vesa" driver is selected.
The LCD monitor cannot be automatically probed, so use "Generic Laptop 1024x768",
and select a maximum colour depth of 16-bit.
This invokes a standard VESA driver with 800x640 resolution: not
brilliant, but good enough to get the system operational. You can push
this up to 1024x768 using a maximum depth of 16 bit by modifying your /etc/X11/XF86Config
file as follows:
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Unknown monitor"
HorizSync 31.5 - 100
VertRefresh 50.0 - 100
Modeline "1024x768" 110.16 1024 1056 1168 1360 768 772 776 810
Option "ddc" "off"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "vesa"
VendorName "Videocard vendor"
BoardName "NVIDIA GeForce 4 (generic)"
VideoRam 32768 # Check the amount of video RAM in your PC from the specifications and set accordingly
Option "BackingStore" "Off" # I set BackingStore Off for compatibility with Win4Lin - it may not be necessary if you do not use this application
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 16
SubSection "Display"
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768"
Virtual 1024 768
EndSubSection
EndSection
For a really sparkling display, you will need to get the correct Linux drivers. At the time of writing, NVidia had not issued *.rpm packages compatible with the Toshiba hardware and running the standard version of Redhat 8.0 with kernel 2.4.18-14.
Check this page (Release 40, software version 1.0-4191) for the latest position on the current drivers, and if in doubt, run the NVchooser application provided.
Do not attempt to use drivers that are incompatible with your architecture/operating system/kernel under any circumstances!
For the avoidance of doubt, the applicable architecture is i686 (not UP, SMP or bigmem), the operating system is Redhat 8.0, and you can find out your kernel version by doing:
# uname -r
If you read this warning too late, you can always revert to the VESA driver until NVidia have issued an appropriate .rpm file
At the time of writing, the only reasonably safe way to install the NVidia drivers is from the "tarballs": NVIDIA_kernel_1.0_4191.tar.gz and NVIDIA_GLX_1.0_4191.tar.gz, but be prepared for problems!
The following steps involve re-configuring the kernel, and are not for the faint-hearted...
That's the difficult part done. If it didn't work for some reason, all I can suggest is that you consult the Linux and NVidia Graphics forum. When I experienced problems with unresolved symbols, kernel mismatch, and so on, I received outstanding support by posting a question there (hence I am able to share the solution, above).
Assuming the Version 1.0-4191 drivers have installed correctly, proceed as follows:
Re-boot your computer. It should re-enter at runlevel 3. Log in as root.
Make a backup of your XF86 Config (/etc/X11/XF86Config) then modify it as follows:
"Module" section:
"Monitor" section:
For a basic setup, all you need is:
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Toshiba 6100 LCD Display"
HorizSync 31.5 - 150
VertRefresh 50.0 - 100
Modeline "1024x768" 97.40 1024 1072 1192 1416 768 768 771 809
Option "ddc" "off"
EndSection
"Device" section:
It's very important that the Driver line is changed from "nv" or "vesa" to "nvidia". Also, remember to check the amount of video RAM you have, and decide whether you want BackingStore on or off. (Must be off if you are using Win4Lin).
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
VendorName "NVIDIA"
BoardName "NVIDIA GeForce 4 420 Go"
VideoRam 32768
Option "BackingStore" "Off"
EndSection
"Screen" section:
You can add more modes as required, but note that each must have a valid modeline in the "Monitor" section. The "Virtual" line disables the display panning that would otherwise occur by default, and forces the driver to display everything within the confines of the screen dimensions.
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768"
Virtual 1024 768
EndSubSection
EndSection
Once the modified file has been saved, you can try starting the X-server:
$ startx
and with a bit of luck, you will have a functioning display. If not, check the /var/log/XFree86.9.log file for pointers to what went wrong. Useful key commands at this stage are:
<Ctrl> <Alt> <BkSp> to kill the X-server and revert to text mode
<Ctrl> <Alt> <Fn> <;> to switch screen modes (if you have more than one)
IMPORTANT NOTE: If you make a mistake and get a bright white screen, kill the X-server immediately to avoid irreparable damage to the LCD display. All of the above instructions are given without any warranty. They may not work in your case, and worse, they may cause damage to your PC. Use them at your own risk!
Assuming all is well, you may notice a black vertical line at the right hand side of the screen. To get rid of this, add the following line to /etc/modules.conf :
options nvidia NVreg_SoftEDIDs=0 NVreg_Mobile=2
and re-boot.
Here are some sample XF86Config files to play with (sample display shown under each):
Copy these to your /etc/X11/XF86Config file, as appropriate, having made a backup first. Note that only the 1024x768 modeline is working properly at the moment - I will try to get the other screen resolutions later...
This is really difficult. The Toshiba 6100 hotkey display switch (Fn F5) is not properly supported under Linux, and the NVidia driver implementation supports it even less... There is a solution, though!
/usr/local/man /usr/local/man/man1 and /usr/local/man/man8
Now, you have two options (i) VESA 16-bit or (ii) NVidia 24-bit. The VESA option is easier, but will probably not support everything you want to do.
The trick here is to ensure that your monitor settings can apply equally to the internal and external monitors. I have used a very old monitor (Philips 105S) in this sample XF86Config running at 1024x768 pixels. Copy this to your
existing XF86Config, having made a backup first, and re-start your computer with the external monitor plugged in.
Note: you can change TV regional options (PAL/NTSC) via the computer's setup menu by pressing <Ctrl> <Esc> immediately after switching on.
Login and use toshset -video both to enable LCD and external monitors simultaneously. This works in text mode or from an X-terminal.
Other toshset options are int, ext, tv. You can try these, but "tv" will probably only work at 800x600.
Getting this to work depends on some slick operation of the Fn F5 hotkey while the computer is booting up. Try this XF86 config. file
(you may need to change the settings to suit your external monitor, but once again, I have used something undemanding that will probably work on most monitors. You will almost certainly need to change the TV option from the PAL-B setting I have used to be compatible with UK standards).
Plug your monitor into the VGA port, or TV into the RCA phono jack, when the computer is switched off.
Switch on, and while Linux is loading up, press Fn F5 repeatedly until you see a display on both the internal and external monitors. When the X-server starts, you should continue to get a dual display. If not, check your external monitor Hfreq/Vfreq values. or TV localisation settings.
TV seems to work OK at 1024x768, but you may have to run at a colour depth of 16 for playing DVDs. Note that neither toshset nor Fn F5 will work with the NVidia driver when X is running. You can always use toshset in text mode (runlevel 3).
Finally, a useful link for determining external monitor refresh rates and another for generating modelines.
Good luck!