Dox Posted August 21, 2008 Report Share Posted August 21, 2008 This is a guide on understanding resolutions in the INF and how to tweak/add your own. This is based on my own knowledge so if you know what that implies carry on. It is very important that your card is only given display resolutions that it can support to avoid problems. Know what your card supports Within every driver folder you download from here or nvidia you will find a mode.txt file. This file tells you what card supports what refresh rates at what resolutions at what Bits Per Pixel (colour depth/BPP). Since we are laptop users I recommend you find a mode.txt from a laptop driver since it will give you your card and what it can support. From my clevo driver the mode.txt shows my card as supporting: [nv_SoftwareDeviceSettings] //////////////////////////////////////////////////////////////////// // 0609 - NVIDIA GeForce 8800M GTS // 060C - NVIDIA GeForce 8800M GTX //////////////////////////////////////////////////////////////////// ; Standard Modes 320 x 200 8 60 70 72 75 320 x 240 8 60 70 72 75 400 x 300 8 60 70 72 75 480 x 360 8 60 70 72 75 512 x 384 8 60 70 72 75 600 x 800 8 60 640 x 400 8 60 70 72 75 85 640 x 480 8 60 70 72 75 85 720 x 480 8 60 800 x 600 8 60 70 72 75 85 1024 x 768 8 60 70 72 75 85 1280 x 720 8 60 1280 x 800 8 60 70 72 75 85 1280 x 1024 8 60 70 72 75 85 1440 x 900 8 60 70 72 75 85 1600 x 1200 8 60 70 72 75 85 1680 x 1050 8 60 70 72 75 85 1920 x 1080 8 60 1920 x 1200 8 60 70 72 75 85 1920 x 1440 8 60 70 72 75 2048 x 1536 8 60 ------------------------------------------------------------------ 320 x 200 16 60 70 72 75 320 x 240 16 60 70 72 75 400 x 300 16 60 70 72 75 480 x 360 16 60 70 72 75 512 x 384 16 60 70 72 75 600 x 800 16 60 640 x 400 16 60 70 72 75 85 640 x 480 16 60 70 72 75 85 720 x 480 16 60 800 x 600 16 60 70 72 75 85 1024 x 768 16 60 70 72 75 85 1280 x 720 16 60 1280 x 800 16 60 70 72 75 85 1280 x 1024 16 60 70 72 75 85 1440 x 900 16 60 70 72 75 85 1600 x 1200 16 60 70 72 75 85 1680 x 1050 16 60 70 72 75 85 1920 x 1080 16 60 1920 x 1200 16 60 70 72 75 85 1920 x 1440 16 60 70 72 75 2048 x 1536 16 60 ------------------------------------------------------------------ 320 x 200 32 60 70 72 75 320 x 240 32 60 70 72 75 400 x 300 32 60 70 72 75 480 x 360 32 60 70 72 75 512 x 384 32 60 70 72 75 600 x 800 32 60 640 x 400 32 60 70 72 75 85 640 x 480 32 60 70 72 75 85 720 x 480 32 60 800 x 600 32 60 70 72 75 85 1024 x 768 32 60 70 72 75 85 1280 x 720 32 60 1280 x 800 32 60 70 72 75 85 1280 x 1024 32 60 70 72 75 85 1440 x 900 32 60 70 72 75 85 1600 x 1200 32 60 70 72 75 85 1680 x 1050 32 60 70 72 75 85 1920 x 1080 32 60 1920 x 1200 32 60 70 1920 x 1440 32 60 ; Horizontal Spanning Modes 1280 x 480 8 60 70 72 75 85 1600 x 600 8 60 70 72 75 85 2048 x 768 8 60 70 72 75 85 2560 x 800 8 60 70 72 75 85 2560 x 1024 8 60 70 72 75 85 2880 x 900 8 60 70 72 75 85 3200 x 1200 8 60 70 72 75 85 3360 x 1050 8 60 70 72 75 85 3840 x 1200 8 60 70 72 75 85 3840 x 1440 8 60 70 72 75 4096 x 1536 8 60 ------------------------------------------------------------------ 1280 x 480 16 60 70 72 75 85 1600 x 600 16 60 70 72 75 85 2048 x 768 16 60 70 72 75 85 2560 x 800 16 60 70 72 75 85 2560 x 1024 16 60 70 72 75 85 2880 x 900 16 60 70 72 75 85 3200 x 1200 16 60 70 72 75 85 3360 x 1050 16 60 70 72 75 85 3840 x 1200 16 60 70 72 75 85 3840 x 1440 16 60 70 72 75 4096 x 1536 16 60 ------------------------------------------------------------------ 1280 x 480 32 60 70 72 75 85 1600 x 600 32 60 70 72 75 85 2048 x 768 32 60 70 72 75 85 2560 x 800 32 60 70 72 75 85 2560 x 1024 32 60 70 72 75 85 2880 x 900 32 60 70 72 75 85 3200 x 1200 32 60 70 72 75 85 3360 x 1050 32 60 70 72 75 85 3840 x 1200 32 60 70 3840 x 1440 32 60 ; Vertical Spanning Modes 640 x 960 8 60 70 72 75 85 800 x 1200 8 60 70 72 75 85 1024 x 1536 8 60 70 72 75 85 1280 x 1600 8 60 70 72 75 85 1280 x 2048 8 60 70 72 75 85 1440 x 1800 8 60 70 72 75 85 1600 x 2400 8 60 70 72 75 85 1680 x 2100 8 60 70 72 75 85 1920 x 2400 8 60 70 72 75 85 1920 x 2880 8 60 70 72 75 2048 x 3072 8 60 ------------------------------------------------------------------ 640 x 960 16 60 70 72 75 85 800 x 1200 16 60 70 72 75 85 1024 x 1536 16 60 70 72 75 85 1280 x 1600 16 60 70 72 75 85 1280 x 2048 16 60 70 72 75 85 1440 x 1800 16 60 70 72 75 85 1600 x 2400 16 60 70 72 75 85 1680 x 2100 16 60 70 72 75 85 1920 x 2400 16 60 70 72 75 85 1920 x 2880 16 60 70 72 75 2048 x 3072 16 60 ------------------------------------------------------------------ 640 x 960 32 60 70 72 75 85 800 x 1200 32 60 70 72 75 85 1024 x 1536 32 60 70 72 75 85 1280 x 1600 32 60 70 72 75 85 1280 x 2048 32 60 70 72 75 85 1440 x 1800 32 60 70 72 75 85 1600 x 2400 32 60 70 72 75 85 1680 x 2100 32 60 70 72 75 85 1920 x 2400 32 60 70 1920 x 2880 32 60 The [nv_SoftwareDeviceSettings] means that the "resolutions table" for my card is located in the INF under [nv_SoftwareDeviceSettings], such as below: [nv_SoftwareDeviceSettings] HKR,, InstalledDisplayDrivers, %REG_MULTI_SZ%, nv4_disp HKR,, VgaCompatible, %REG_DWORD%, 0 HKR,, VPEENABLE, %REG_DWORD%, 0 ..................................... HKR,, NV_Modes, %REG_MULTI_SZ%, "{*}S 1280x800 1400x1050x32 1440x900 1600x1024x32 1600x1200x32 1920x1200 1920x1440 2048x1536=1F;1400x1050x8,16 1600x1024x8,16 1600x1200x8,16=3F;640x480 800x600 1024x768 1152x864 1280x960 1280x1024=7F;{406-6E9}S 640x400=7F;320x200 320x240 400x300 480x360 512x384=F;HV 1400x1050x32 1600x1024x32 1600x1200x32 1920x1200 1920x1440 2048x1536=1F;" How it works Understanding the Code HKR,, NV_Modes, %REG_MULTI_SZ%, is where we are gonna put the what resolutions, refresh rates and BPP our card support. "{*} means that all cards support the modes we are gonna include. S means that the resolutions we are gonna put on that line is the Standard Modes from the mode.txt file H means that the resolutions we are gonna put on that line is the Horizontal Modes from the mode.txt file V means that the resolutions we are gonna put on that line is the Vertical Modes from the mode.txt file *x* is the resolution itself that supports all BPP (8,16 & 32) *x*x8,16 means the resolution is limited to those BPP =1F is the resolutions we are gonna restrict the cards to. 1F mean the card supports 60 70 72 75 85hz refresh rates. ; means thats the end of the grouped modes that support that supports a particular resolution/mode etc Refresh rate code: Refresh rates table Dox@lv2go 1= 60 3= 60 70 F= 60 70 72 75 1F= 60 70 72 75 85 3F= 60 70 72 75 85 100 7F= 60 70 72 75 85 100 120 3FF= 60 70 72 75 85 100 120 140 144 150 7FF= 60 70 72 75 85 100 120 140 144 150 170 FFF= 60 70 72 75 85 100 120 140 144 150 170 200 1FFF= 60 70 72 75 85 100 120 140 144 150 170 200 240 [*]Small example Starting with the line and using mode.txt as a guide: HKR,, NV_Modes, %REG_MULTI_SZ%, "{*}S 320x200 320x240=F;1920x1200x8,16=1F;1920x1200=1F;H 1280x480 1600x600=1F;3840x1440x8x6=3; V 640x960 800x1200=1F;" The above code means the following: 320x200 and 320x240 supports all BPP with resolutions up to 85hz 1920x1200 only supports BPP of 8&16 of refresh rate up to 85hz 1280x480 an 1600x600 are Horizontal resolutions that support all BPP up to 85hz 3840x1440 only supports BPP 8&16 up to 70hz 640x960 and 800x1200 are vertical resolutions which supports all BPP up to 85hz [*]Adding More Modes You can add more resolutions by adding this line: HKR,, NV_Modes, %REG_SZ_APPEND%, (simply tells the driver you would like to include new modes) This is useful if you want to add more modes to the driver without changing the top line that already came with the INF. HKR,, NV_Modes, %REG_MULTI_SZ%, "{*}S 320x200 320x240=F;1920x1200x8,16=1F;1920x1200=1F;H 1280x480 1600x600=1F;3840x1440x8x6=3; V 640x960 800x1200=1F;" HKR,, NV_Modes, %REG_SZ_APPEND%, "SHV etc etc etc this tells th driver you want to add more standard modes, vertical modes and horizontal modes without having to use ; to separate the resolutions HKR,, NV_Modes, %REG_MULTI_SZ%, "{*}S etc etc.... HKR,, NV_Modes, %REG_SZ_APPEND%, "S etc etc;H etc etc; V is another way of doing the above but this time the resolutions are separated so you know what is what. Adding Custom Resolutions HexadecimalYou can add custom resolutions by knowing abit about hexadecimal.The format is 8***Where *** is a hexadecimal value representing the resolutions.So 8032 = 50hz and 800A = 10hz Converting Decimal to HexadecimalI'm not gonna teach you hexadecimal, the easiest way is to use windows calculator.Open up in windows calculator Press View then choose scientific Press Dec then type a number Press Hex and it will give you the dec in hex. [*]Notes The custom refresh rate is added as the same way shown from before at the end of the resolutions I don't recommend this if your card doest support the resolution you just made Most laptop refresh rates are locked at 60hz despite the card supporting a higher refresh rate Conclusions Having your card only support the "correct" resolutions can avoid damage and issues This guide is designed for intermediate to advance users who are confident in INF tweaking and by no means 100% includes everything to do with all things resolutions since I don't have any nvidia documentation If you are not confident with tweaking the resolutions table don't do it!!. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.