ENB Installation

TerrorFox1234 Created Sep 19 2016 - Updated Sep 20 2016 Guides

Installation of ENB

ENB must be placed directly in the Skyrim folder (not the data folder) in order to work. For this reason you cannot install enb, or an enb preset, with a mod manager. Some enb presets ask that you install the files with a mod manager in order to take advantage of the fomod handler. If this is the case, you must still copy the files out of the data folder/MO’s mod folder and into the skyrim folder after installation.

You can install ENB manually or with one of several enb-specific managers.

The manager options are:

ENB Organizer

ENB Manager and Changer

ENB FXAA SweetFX Manager and Remover

ENB Man

Regardless of whether you are using a manager or manual, the process is essentially the same.

  1. Download the correct version of ENB. Which version is the correct version? In most cases you want the most recent version. However, some ENB presets are written for very old versions and will not work correctly on the most recent version. In this case download the version that is closest in number to the version your preset specifies. (Minor version changes do not matter, so just get as close as you can).

  2. Unzip the folder someplace handy. I made a folder on my hard drive specifically for unzipped enbs, utilities, etc.

  3. Tell your manager where to find:

    • enbhost.exe
    • enblocal.ini
    • d3d9.dll
      (OR copy these manually into your data folder. If you are using ENBoost, without graphics enhancement, these are the only files you need. Skip directly to the ENBlocal.ini instructions.)
  4. Download your ENB preset. If it asks you to install with a mod manager, do so. Otherwise, unzip it someplace handy. Then open the folder the preset got unzipped/installed into.

  5. Different ENB presets have different files. ALL enb presets MUST contain:

    • ENBseries.ini
    • ENBseries folder
      (If you do not install these and you are not using ENBoost enblocal.ini settings, YOUR GAME WILL CRASH.)
      Other enb files may include:
    • Additional dlls, including potentially additional d3d9.dlls used for Sweetfx which require special enblocal.ini settings
    • Additional .fx files
    • Palette files (.png files)
    • other images (tga files)
      The description of the enb preset may go over these files and what they’re used for. Some may be optional while others are required.
      Tell your manager which files you need (if in doubt, use all of them. If they’re not needed it doesn’t hurt to have them) or copy all of the files directly into your skyrim folder.
  6. All ENB presets require the following changes to skyrimprefs.ini. If you are unsure how to edit this ini file, please see the relevant article.

    THESE LINES EXIST IN YOUR SKYRIMPREFS.INI. It is not possible to have a skyrimprefs.ini where these lines do not exist assuming you installed Skyrim correctly. So do not listen to instructions that say “add these lines” - IT WILL NOT WORK. You MUST edit the existing lines. It is ok for them to be in a different order or separated by other lines.

    [Display]
    bfloatrenderpoint=1
    bdeferredshadows=1
    bdrawlandshadows=1
    bshadowsongrass=1
    bshadowsontrees=1
    imaxanisotropy=0
    imultisample=0

  7. Edit ENBlocal.ini (Instructions for both ENBoost and ENB graphics are included).

You can and should use the same enblocal.ini for all enb presets. The only thing that may need to change based on different presets is the proxy settings. For that reason, it is recommended to use the enblocal.ini that comes in the enbdev download, NOT the one that comes in the preset folder - edit it once and done. Still, every time you install a new enb make sure you still have the right settings.

ENBlocal.ini Parameters

PROXY

Proxy is a way to use more than one d3d9.dll. ENB will load its own d3d9.dll first, then load the proxy d3d9.dll. The files obviously cannot be named the same. Some enb presets use this as a way to add sweetfx coloring and SMAA on top of the ENB effect. It’s also possible to use this to include support for custom d3d9.dlls like those used for virtual reality programs.

To install SMAA antialiasing:
Download the SMAA files from here.
Extract the files. Find d3d9.dll, and rename it to d3d9smaa.dll.
You may wish to add these to your enb files in your enb manager. Otherwise, copy d3d9
smaa.dll, injector.ini, SMAA.h, and SMAA.fx into your skyrim folder.
Set the proxy settings as below.

To change the quality of SMAA, open the injector.ini file in a text editor (such as Notepad++) and change the preset parameter:

preset = SMAAPRESETHIGH

The available quality presets are listed above the parameter. The standard presets are: Low is 60% quality, Medium is 80%, High is 95%, and Ultra is 99% quality. I recommend high, but test for yourself what the right performance:quality level is.

[PROXY]

EnableProxyLibrary=true ; Set this to true if you need a second d3d9.dll; otherwise set it to false. It is ok for it to be true if the second d3d9.dll does not exist, it won’t hurt anything.

InitProxyFunctions=true ; Same as above

ProxyLibrary=d3d9_smaa.dll ; Set this to the name of your d3d9.dll.

[GLOBAL]

UsePatchSpeedhackWithoutGraphics=false ; IF YOU ARE USING ENBOOST, THIS MUST BE TRUE. This does EXACTLY what it says - it gets you the enb memory patch, WITHOUT graphics. If this is set to true, you will get a message when you launch the game that says it is true. This message is good and it means you did it right. If you want an enb preset with graphics, this obviously must be false - but make sure you installed the preset correctly!

UseDefferedRendering=true ; This enables or disables many enb post-processing effects that were added in 0.119. You want this to be true if you are using an ENB preset and false if you are using ENBoost.

IgnoreCreationKit=true ; If this is set to false ENB will add post-processing to the CK. This is probably not smart. Leave true.

[PERFORMANCE]

SpeedHack=true ; This should always be true.

EnableOcclusionCulling=true ; this should always be true.

[MEMORY]

ExpandSystemMemoryX64=false ; This should be false if:

You are using Crash Fixes memory allocation
You are on Windows 10
You have DefaultHeapInitialAllocMB= in SKSE.ini set higher than 768 (which is the default setting).

It can be true in other cases, but more often than not you want it false.

ReduceSystemMemoryUsage=true ; I see no reason to set this to false, but some people get performance benefits from setting to false.

DisableDriverMemoryManager=false ; With some AMD drivers you get benefit from setting this to true. Usually you want false.

DisablePreloadToVRAM=false ; If your computer basically just does not have VRAM (you’re on a potato), this may prevent crashes from running out of VRAM. However, it comes at the cost of not being able to preload - which means, stuttering, lagging, and constantly loading and unloading things off disc. Recommended false.

EnableUnsafeMemoryHacks=false ; Some people get performance improvement out of this. However it is called unsafe for a reason as it reduces stability. Recommended false.

ReservedMemorySizeMb=64 ; This is the amount of memory ENB will allocate in blocks for its own use (and for Skyrim’s use). The larger the block, the more can be allocated at once which reduces stutter. However, the block size is subtracted from the total VRAM available. Therefore, setting this too high will cause you to run out of VRAM earlier than you might otherwise. Because of improvements since version 0.279, it is recommended that this is at 64. That eliminates stuttering for most users. Some users may still need to increase it. Increase it in powers of two (so, to 128, 256, 512, and finally 1024), one step at a time. Test each step to see if it is sufficient to eliminate stuttering. 1024 is the highest recommended setting; while it is possible to be set higher at that point you are already preventing the use of a full GB of VRAM, which is obviously not good.

VideoMemorySizeMb=10240 ; Download VRAM Test Size. Run the DX9 version. DO NOT run the DX11 version; if you run the DX11 version your answer will be wrong. It is best to have no other programs running while this is taking its measurement.

Windows 7 users will most likely get a number that can be approximated by total VRAM + RAM minus a small amount.

Windows 8 and 10 users will most likely get 4064 as their result.

STEP recommends subtracting 300 from this number before putting it in the ini files. Boris has recommended this as well, but he also said at one point it was not needed.

I suspect this subtraction is not needed, and it is definitely not needed if you are only getting 4064 as your result and if you have more than 4 GB VRAM. However if you do not subtract you run the (very small) risk of running out of windows system memory entirely and causing a blue screen of death.

EnableCompression=false ; this can decrease VRAM useage at the cost of performance.
AutodetectVideoMemorySize=false ; If you set this to true, ENB will automatically calculate how much memory is available and plug that number into VideoMemorySizeMB on the run. However, it will not subtract any amount, so even Boris recommends you set it manually. (Also it is good to know for sure what it is set to.

THREADS

These lines were added in ENB version 0.3xx. They add additional memory fixes. These can improve loading, potentially allowing you to load a game that would not load before. However, they come at a very bad performance cost. These lines WILL cause stuttering and fps drops.

[THREADS]

DataSyncMode=0 ; Recommended 0 (off), if you need to turn it on it seems 2 works the best.

PriorityMode=0 ; Recommended 0 (off), if you need to turn it on it seems 3 works the best.

EnableUnsafeFixes=false ; Recommended false; if set to true may allow you to do things that would cause crashing from lack of memory otherwise, but may cause crashing or other stability issues itself.

MULTIHEAD: These lines do not need to be changed.

[MULTIHEAD]
ForceVideoAdapterIndex=false
VideoAdapterIndex=0

WINDOW

These lines allow you to force Skyrim into borderless fullscreen, which improves alt-tabbing and prevents crashes from alt-tabbing. However it does not include a fix for the double cursor bug that can occur. Some people also report a performance loss from having these active. Onetweak does a better job including the cursor fix, and is recommended.

[WINDOW]

ForceBorderless=false

ForceBorderlessFullscreen=false

ENGINE

These alter some post-processing. These are only active if you are using an enb preset.

[ENGINE]
ForceAnisotropicFiltering=true ; Yes, you want this.

MaxAnisotropy=16 ; Can be 4, 8, or 16; 16 is best.

ForceLodBias=false ; LodBias is the sharpness of textures at different levels of detail.

LodBias=0.0 ; This can be between -0.5 and 0.5. Lower values = sharper textures. Higher values will result in the Toon Skyrim effect.

AddDisplaySuperSamplingResolutions=false ; This enables supersampling (for example if you want to render at 4k and display at 1k). It is NOT recommended.

EnableVSync=true ; Skyrim breaks if your fps goes over 60. Vsync will lock fps to your monitor refresh rate; for most people this locks at 60. Also prevents screen tearing! Recommended true.

VSyncSkipNumFrames=0 ; This locks fps to a multiple of your refresh rate. 2 would lock your fps at 30 on a 60 hz monitor, for example. Useful if you want to use vsync to cap your fps on a high refresh rate monitor, or if you wish to cap your fps below 60.

FPS LIMITER

This is an alternative way to cap your fps. IT DOES NOT WORK. The fps limiter does not cap fps to the set FPSLimit: most often it caps it to 16.9 (seriously?). If you do not wish to use vsync, you must cap fps using your graphics card utility.

[LIMITER]

WaitBusyRenderer=false

EnableFPSLimit=false

FPSLimit=10.0

INPUT

This sets the keybinds for enb functions.

[INPUT]
//shift
KeyCombination=16

//f12
KeyUseEffect=123 ; shift-f12 toggles ENB effects.

//home
KeyFPSLimit=36 ; this toggles fps limit

//num /

KeyShowFPS=106 ; Numpad asterisk. This toggles the ENB fps display. ENB fps display is bugged in recent versions. It is recommended to to use the steam overlap fps display instead.

//print screen
KeyScreenshot=44 ; this is the printscreen key. It prints a high-quality bmp file to your skyrim folder. It is recommended to use the steam screenshot key instead, as steam screenshot key results in smaller, more uploadable png files and has a customizable file path instead of putting everything in the skyrim folder.

//enter
KeyEditor=13 ; shift-enter opens the enb menu in game, from which you can edit enb settings. It is recommended to pause your game before opening it.

//f4
KeyFreeVRAM=115 ; f4 purges everything out of VRAM except what is necessary to render the scene directly in front of you. Consider it a temporary fix for VRAM problems or a way to clear VRAM after many hours of play (which shouldn’t be necessary with ENB memory fixes but some people do it anyways).

//B
KeyBruteForce=66

[ADAPTIVEQUALITY]
Enable=false
Quality=1
DesiredFPS=20.0

ANTIALIASING

It is recommended to leave these to false and use SMAA. These are only active if you have an enb preset.

[ANTIALIASING]

EnableEdgeAA=false ; Edge AA is a shitty, performance-draining AA. Honestly worse than no AA.

EnableTemporalAA=false ; Temporal AA is pretty good but leads to severe ghosting on moving
objects. http://i.imgur.com/8Mexphx.png

EnableSubPixelAA=false ; This has the best performance, but doesn’t look very good. http://i.imgur.com/nS8Ie1Z.png

FIX

These are only active if you have an enb preset. ENB is required for parallax textures to work.

[FIX]

FixGameBugs=true ; Leave true

FixParallaxBugs=true ; Leave true; if an object is parallax it requires this to work, and if it isn’t ENB will ignore it.

FixParallaxTerrain=true ; Terrain is separate from objects. ENB cannot ignore non-parallax terrain textures. Therefore, you must have a terrain parallax pack that covers all terrain. This must be true if you have such a pack. If you do not have parallax terrain textures installed, this must be false. All other options look like crap.

FixAliasedTextures=true

IgnoreInventory=true

FixTintGamma=true

RemoveBlur=false

FixSubSurfaceScattering=true

FixSkyReflection=true

FixCursorVisibility=true

FixLag=false ; This should be true on AMD cards.

[LONGEXPOSURE]

EnableLongExposureMode=false ; Good for screenshots :D https://www.youtube.com/watch?v=OTrtDEjYKWU

Time=1.0

BlendMax=0.0