|
Geforce Go 420 Nvidia 1.0-9631 Black Bar Fix |
|
|
|
|
Contributed by Ed Wiget
|
|
Mar 14, 2007 at 02:37 AM |
|
This will probably be one of my last posts concerning the Toshiba Satellite Pro 6100 on Linux because I got a new laptop and this one is finding a new home with one of the Maysville Linux Users Group members, who goes by the name teufel35 in the forums.
So, I had not been using the nvidia module for a while now on this laptop, mostly because I had not had a chance to find the cause of the black bar on the right side of the screen. Everyone who has been using Linux on nvidia cards for any amount of time has seen these black bars come and go. The normal fix was to add IgnoreEDID to the xorg.conf file and it was fixed. However, this time it was a little different and a little harder to fix. But, I just installed Sabayon Linux 3.26 tonight for teufel35 and I knew he wanted beryl and aiglx working....so time to fix the problem.
This will be a little more technical than I usually write about. Why? Well, because to fix this problem requires you to use a hex editor and nvidia-settings to retrieve the EDID information. This is how I did that:
First, login to whatever desktop you use. I used KDE. The black bar won't affect your working desktop, but you will be limited to 800x600 desktop resolution. So, to get rid of the black bar and get 1024x768, we use nvidia-settings to get the EDID information for our DFT screen.
Run:
# nvidia-settings
Scroll down to GPU-O and click where it says DFP-O Then click on acquire EDID and save the file to your home folder. Here is a screenshot for reference:

After you save the EDID file, exit nvidia-settings. Then run a hex editor of your choice. I used khexeditor to edit the edid.bin file that was saved.
The horizontal resolution is saved in the bytes with the offset 56(Hex:38) and 58 (the upper four bits) (Hex:3A) Without going into an entire hex editor and offset/Hex tutorial, just trust me that the locations below are correct. Offset 56 (Hex: 38) is in the row that has 0000:0030 and is the 9th set of number pairs from the left. The original value is C9. Here is an image for reference:

We need to change that value to 00. The next value to change is at offset 58 (Hex: 3A). It is two more places to the right of the value we just edited. The original value is 31. We need to change that to 41. Once you make those two edits, save the file under a new name, I will refer to edid-new.bin later in this article....so maybe save it to that name so you don't get confused.
Here is what the completed file looks like:

In the original file these bytes were C9 and 31 (0x3C9 = 969) but we have changed them to 00 and 41 (0x400 = 1024).
Move your new edid-new.bin file to someplace that it won't get deleted. I chose simply /. So, as the root user, I used this command to copy from my logged in usernames home to /:
# cp /home/username/edid-new.bin /
Now we need to edit the xorg.conf file to add the changes to reflect the new edid settings file to use. Open up xorg.conf in your favorite text editor and find the section that says:
Section "Screen"
# The Identifier, Device and Monitor lines must be present
Identifier "Screen 1"
Device "VESA"
Monitor "Generic Monitor"
Option "AddARGBGLXVisuals" "true"
# the UseDisplayDevice option tells xorg to use the DFP monitor
# it fixes the black screen on TFT monitor but external monitor
# works fine
Option "UseDisplayDevice" "DFP-0"
# the CustomEDID option tells xorg to use the edid-new.bin file
# and not the detected edid for the TFP DFP-0 monitor
Option "CustomEDID" "DFP-0:/edid-new.bin"
Add the Option "UseDisplayDevice" "DFP-0" line as above.
Once that is done, you can now restart your gui or simply reboot for the changes to take effect.
WARNING: I will add these files below but I will not be responsible for any damages they may cause to your computer if it causes any damage. These files work on this particular Toshiba Satellite Pro 6100. They may not work for yours and may even cause damage. See the links for a complete explanation on EDID.
Files:
Original EDID.bin file
Modified EDID-NEW.bin file
New xorg.conf file
References:
EDID Wiki
Hex Editor Usage
nvidia Appendix D explaining CustomEDID
Please login or register to add comments |
|
Last Updated ( Mar 14, 2007 at 03:22 AM )
|