Thanks for all the updates and help while I was gone. Unfortunately, due to a number of personal circumstances, I will be taking a permanent leave from the Skyrim modding community in general. I won't be able to make updates to this guide or to help out with modding(parts of the guide are already outdated). I'm really sorry for all of that. I wish things could be different and I could still be modding Skyrim like I was, but my modding adventure is over for now. I had fun while I was here and I appreciate all the help and friendly people I've met along the way.
Just a quick heads up for anyone that might be confused looking for the Linux specific ENB files. The Windows and Linux versions have now been consolidated into one. You need to edit an ini file to get the linux specific changes that were once packaged as a seperate dll.
From the ENB changelog: "Added LinuxVersion parameter to enblocal.ini and removed separate version for this OS."
Some of you may notice that rockerbacon's MO2 Linux Installer (from step 5, page 27) has been archived and as such, is no longer in development.
But development is continuing! Myself, as well as some other contributors, have made a fork and are keeping the installer up to date with bug fixes and improvements, as well as expanding the functionality! (Now supporting Cyberpunk and Oblivion Remastered!)
Here's the link, if you want to get your hands on it! Happy modding!
It works really well with my CachyOS + Hyprland installation, with proton-cachyos(native) as the compatibility tool. Not only working well but documentation is also good to get how to use it. I was really excited how this made the thing easier!!
Changing MO2's window size is a bit tricky but it seems no problem to play the game with my over 1k mod list just copied from win 10 env. For example, I use the Community Shader mods, HDT-SMP Flex without issue.
I'm trying to make BodySlide/Outfit Studio/NifSkope/CreationKit work with this env.
Anyways, I recommend this forked version of MO2 Linux Installer by Furglitch, linked above. Thank you again!
With just weather and Community Shaders installed, I average 58-75 fps anywhere, except in front of Whiterun which is expected. That's with Skurkbro's textures set on parallax.
With just weather and ENB, I get 50-60 fps. Same textures.
With city overhauls, but no weather or lights, I get 48-58 fps everywhere. Again, same textures.
Weather, lights, and city overhauls, the best I get is 38. Whiterun is a dismal 12. I actually get better FPS with an ENB than with CS, too.
I'm running with visual quality set to high instead of ultra. Video card is RTX-3060. NVidia driver is 350. I'm using the most recent Proton-GE. Rockerbacon's MO2 (the currently developed version won't launch on my system for some reason).The game's vsync is turned off. My distro is Linux Mint Xia.
Before trying anything, use MangoHud to figure out if your bottleneck is cpu or gpu then try to identify problem. If gpu isn't near 99-100, it is cpu.
Try Bethini Pie's medium or high preset. They will perform better and look similar to a higher preset of Skyrim. Set shadow resolution to 2048 if higher and disable lens flare.
SSGI is performance heavy on gpu side, try tinkering with it's settings. Screen Space Shadows are also a little costly. I remember one option under Light Limit Fix tanking my performance to single digit when looking at a monster from a mod (Abhorrrent Behemoths I believe) but could never reproduce that with another mesh. If you have anything placing lights at windows or common objects around that also could be why your performance in cities is so low. Placed light fomod options etc. Get fps in cities close to 50 and you should be able to run framegen without it feeling terrible.
Non-performance related suggestion: Try some PBR textures like Faultier's PBR Skyrim. Would be a shame to use CS but not make use of one of the best parts of it. If you are low on VRAM you can use low resolution textures and they will still look good compared to traditional textures.
Not sure what I did, but now I'm getting a steady 50-60 FPS. With an ENB! I think dropping the quality to medium did the trick, and frankly, I can't tell any difference from ultra. The ENB masks any degradation to the shadows.
I just want to thank you again for the advice. I did a nuke and pave, starting over. This time, I followed your tips as well as a few others to set up the whole system before modding (it helps to know what I need before I even get to that mod). Started with CS first to get it straightened out. With textures, grass, NPC overhauls, and armor, I'm averaging 60-75 FPS everywhere (except in front of Whiterun, which is expected).
No problem, glad things worked out. Front of Whiterun is pretty heavy for me too, but I have SR Exterior Cities. Testing without framegen, if an area hits 5-6k drawcalls my cpu can't do 60 fps anymore.
The dll won't load. That's normally a sign the Visual C++ Redistributable is missing, but it's installed. Nemesis needs it, too, and runs just fine.
The only mods I have installed at the moment are USSEP, Address Library, OAR, Animation Queue Fix, and Paired Animation Improvements (the latter two are dependencies for OAR). Making sure the setup runs before I begin getting carried away.
Is OAR simply not seeing VC, or could this be caused by something else? Any suggestions?
I'm on Kubuntu 24.04. Skyrim is 6.1170, Rockerbacon's MO2 installer 5.0.3, Proton-GE 9.1, Wine Staging 9.13 (stable isn't available for 24.04), Winetricks 1.05, and Protontricks 1.11.1.
EDIT: Fixed it! VC Redistributable was installed into the Wine prefix. That was enough for Nemesis, but not OAR. So, I installed it into the Skyrim game itself (via Protontricks) and it worked.
EDIT II: No I didn't! It worked once, and that was it. Back to the dll not loading. Well, I played three years without OAR, I can play another three.
This is a bit of a old question, but just in case someone is wondering in the future. To install VCRedist into the prefix, make sure you have protontricks and then download the installer with the Windows .exe. Run that and it will ask you with prefix to install it into. Select the game and then let it install.
Been having trouble lately, mods like OAR, Precision and smoothcam all throw the same SKSE error at me "0000007E", as far as I can tell they can't find the C++ redist in the prefix, it's there, i've installed and updated it multiple times, i've ensured everything else in my modlist is the correct version, I have like 150 mods all working perfectly fine but these three. If anyone has any solutions for them i'd love to hear.
Have you tried installing vcrun2022 to the Skyrim prefix, via protontricks? The guide recommends against it, but its what worked for me when some dlls were failing to load even despite already having it installed on the default Wine prefix.
Just wanted to chip in and say that if you're having trouble with grasses or bits of terrain randomly flickering in vanilla Skyrim (you can test by coc riverwood and looking behind the inn, waiting for a couple ingame hours or running around will expose it), the solution seems to be to use AMDVLK. You can also use this if you're having trouble with ENB too, I suppose.
Its a simple package install on github if you look it up, I installed both .deb files but I'm pretty sure you only need one. Very easy. Then after that, you need to set a startup command in Steam launch options for Skyrim SSE.
The user guide specifically mentions using AMDVLK in Skyrim launch options under Extra ENB Tips from the Community, but the pathway was completely different for me. VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd64.json" %command%
vk_amdvlk %command% (This generic one didn't work.)
Above are what the guide recommends. The command that I used for Steam startup parameter was instead: VK_ICD_FILENAMES=/etc/vulkan/icd.d/amd_icd64.json %command% This is just because it was stored in a different spot for some reason. You should use this alternative pathway if the one from the guide does not work. You can also try the following below, which will use both the icd64 and icd32 files - I tried it and had some performance issues though, so I stuck with the icd64.
VK_ICD_FILENAMES=/etc/vulkan/icd.d/amd_icd64.json:/etc/vulkan/icd.d/amd_icd32.json %command% Massive thanks to @gremblebean on Youtube and this video.
I had a problem with CBBE, 3BA and bodyslide. but it was actually with the bijin stuff, you need to replace some bijin files to get CBBE to work on them
If anyone is having issues with DynDOLOD freezing or getting stuck, I recommend adding the line RealTimeLog=1 under [DynDOLOD] in DynDOLOD/Edit Scripts/DynDOLOD/DynDOLOD_SSE.ini. This will create a realtime log in the logs directory that you can just do tail -f on to keep track of its progress and make sure it is still doing stuff. You can also enable it for TexGen by adding the same line under [TexGen] in TexGen_SSE.ini in the same directory as DynDOLOD_SSE.ini. This helped me out quite a bit to diagnose issues quickly and make sure the program isn't stuck or frozen.
I have been reading this guide to check if I find some issues on my installation since performance with SSEEdit is really low in comparison with other tools (including MO2 and Explorer - copying files, even Skyrim itself loads much faster).
A long time ago I found that the default "Desktop Integration" settings in winecfg are recommended to be changed from "Bright" to "None" and for using Dark Theme by default you can change the "WinRT Theme" settings.
At that time this setting increased UI speed of SSEEdit for me. Maybe that issue is meanwhile fixed, at least I have not found that this issue with my current low amount of mods was not noticable.
Spoiler:
Show
What you really should not do (and this should be fixed in the guide) is to mix your local wine installation and the proton installation. 1. wine and proton are provided by different communities. Even having same "9.0" does not mean the content is identical. For that reason do not set WINE environment variable. the wine program is provided by proton and part of steam 2. proton can be a reduced environment wine in contrast to wine distribution itself. protontricks is your friend for maintaining. 3. you should be aware that every game has it's own prefix which corresponds a windows installation (i.e. multiple "C" drives) 4. Do use the WINEPREFIX environment variable if you do want to have a shortcut. I recommend to use it in scripts. WINEPREFIX points to your skyrim /path/to/steam/or/library/steamapps/compatdata/pfx folder. Otherwise a great an helpful guide!
Finally to avoid fiddling with WINE environment variable point to proton wine you can use protontricks 'shell' parameter: $ protontricks <game-id> shell The game id can be found by starting protontricks with the --gui parameter (Look for Skyrim Special Edition)
FYI, if you're playing with ENB and have Terrain Blending enabled you may have received this assertion error:
I can confirm the dxvk.conf fix here solved my issue. In case the link breaks or the comment gets deleted, the fix is to add "dxvk.enableGraphicsPipelineLibrary = False" to dxvk.conf, which should be located in the same folder as the SkyrimSE binary.
If you use Lutris to run the game there is a toggle option in the settings to enable FSR. I've noticed pretty significant improvements in responsiveness when running the game on 4k, I can't say how much improvement there will be on lower resolutions. Adapting these instructions for Lutris is not too difficult and I'm pretty sure you can enable FSR on Steam using
WINE_FULLSCREEN_FSR=1 %command%
and making sure your game is running in fullscreen and your resolution is set to one of the supported FSR resolutions for your output resolution which you can google (I'm not going to share a link because typically that's a no-no and I don't even know if Nexus allows sharing links in comments but there is a good article about FSR on System76 website just google it). You also need to be using a patched version of proton such as GE or lutris-fshack. Also, until recently I was under the impression that FSR was a thing specific to AMD video cards but it seems it's not. I'm running it with noticeable improvements on an Nvidia card.
336 comments
Thanks for all the updates and help while I was gone. Unfortunately, due to a number of personal circumstances, I will be taking a permanent leave from the Skyrim modding community in general. I won't be able to make updates to this guide or to help out with modding(parts of the guide are already outdated). I'm really sorry for all of that. I wish things could be different and I could still be modding Skyrim like I was, but my modding adventure is over for now. I had fun while I was here and I appreciate all the help and friendly people I've met along the way.
Cheers,
Brittany
Omnipherous - Wabbajack Modlists and Steamdeck
Hopelessdecoy - Skyrim Linux Modder
From the ENB changelog:
"Added LinuxVersion parameter to enblocal.ini and removed separate version for this OS."
WINEDLLOVERRIDES="winhttp.dll=n,b;d3d11.dll=b,n" %command%
Edit : If you can't read any text then you have to open CreationKitPlatformExtended.ini and set bUIDarkTheme to false
But development is continuing! Myself, as well as some other contributors, have made a fork and are keeping the installer up to date with bug fixes and improvements, as well as expanding the functionality! (Now supporting Cyberpunk and Oblivion Remastered!)
Here's the link, if you want to get your hands on it!
Happy modding!
It works really well with my CachyOS + Hyprland installation, with proton-cachyos(native) as the compatibility tool.
Not only working well but documentation is also good to get how to use it.
I was really excited how this made the thing easier!!
It is needed to add Launch Option in Steam's compatibility setting to play the audio in the game tho.
WINEDLLOVERRIDES="xaudio2_7=n,b" MODS=1 %command%
This is from reddit thread.https://www.reddit.com/r/skyrimmods/comments/xiui9b/linux_no_vocal_audio_when_ran_through/
Changing MO2's window size is a bit tricky but it seems no problem to play the game with my over 1k mod list just copied from win 10 env.
For example, I use the Community Shader mods, HDT-SMP Flex without issue.
I'm trying to make BodySlide/Outfit Studio/NifSkope/CreationKit work with this env.
Anyways, I recommend this forked version of MO2 Linux Installer by Furglitch, linked above.
Thank you again!
With just weather and Community Shaders installed, I average 58-75 fps anywhere, except in front of Whiterun which is expected. That's with Skurkbro's textures set on parallax.
With just weather and ENB, I get 50-60 fps. Same textures.
With city overhauls, but no weather or lights, I get 48-58 fps everywhere. Again, same textures.
Weather, lights, and city overhauls, the best I get is 38. Whiterun is a dismal 12. I actually get better FPS with an ENB than with CS, too.
I'm running with visual quality set to high instead of ultra. Video card is RTX-3060. NVidia driver is 350. I'm using the most recent Proton-GE. Rockerbacon's MO2 (the currently developed version won't launch on my system for some reason).The game's vsync is turned off. My distro is Linux Mint Xia.
Any suggestions?
is cpu.
Try Bethini Pie's medium or high preset. They will perform better and look similar to a higher preset of Skyrim. Set shadow
resolution to 2048 if higher and disable lens flare.
SSGI is performance heavy on gpu side, try tinkering with it's settings. Screen
Space Shadows are also a little costly. I remember one option under
Light Limit Fix tanking my performance to single digit when looking at a
monster from a mod (Abhorrrent Behemoths I believe) but could never
reproduce that with another mesh.
If you have anything placing lights at windows or common objects around that also could be why your
performance in cities is so low. Placed light fomod options etc. Get fps
in cities close to 50 and you should be able to run framegen without it
feeling terrible.
Non-performance related suggestion: Try some PBR textures like Faultier's PBR Skyrim. Would be a shame to use CS but
not make use of one of the best parts of it. If you are low on VRAM you
can use low resolution textures and they will still look good compared
to traditional textures.
Not sure what I did, but now I'm getting a steady 50-60 FPS. With an ENB! I think
dropping the quality to medium did the trick, and frankly, I can't tell
any difference from ultra. The ENB masks any degradation to the
shadows.
an area hits 5-6k drawcalls my cpu can't do 60 fps anymore.
The dll won't load. That's normally a sign the Visual C++ Redistributable is missing, but it's installed. Nemesis needs it, too, and runs just fine.
The only mods I have installed at the moment are USSEP, Address Library, OAR, Animation Queue Fix, and Paired Animation Improvements (the latter two are dependencies for OAR). Making sure the setup runs before I begin getting carried away.
Is OAR simply not seeing VC, or could this be caused by something else? Any suggestions?
I'm on Kubuntu 24.04. Skyrim is 6.1170, Rockerbacon's MO2 installer 5.0.3, Proton-GE 9.1, Wine Staging 9.13 (stable isn't available for 24.04), Winetricks 1.05, and Protontricks 1.11.1.
EDIT: Fixed it! VC Redistributable was installed into the Wine prefix. That was enough for Nemesis, but not OAR. So, I installed it into the Skyrim game itself (via Protontricks) and it worked.
EDIT II: No I didn't! It worked once, and that was it. Back to the dll not loading. Well, I played three years without OAR, I can play another three.
How pray tell did you install it into the steam game itself?
Its a simple package install on github if you look it up, I installed both .deb files but I'm pretty sure you only need one. Very easy. Then after that, you need to set a startup command in Steam launch options for Skyrim SSE.
The user guide specifically mentions using AMDVLK in Skyrim launch options under Extra ENB Tips from the Community, but the pathway was completely different for me.
VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd64.json" %command%
vk_amdvlk %command%
(This generic one didn't work.)Above are what the guide recommends. The command that I used for Steam startup parameter was instead:
VK_ICD_FILENAMES=/etc/vulkan/icd.d/amd_icd64.json %command%
This is just because it was stored in a different spot for some reason. You should use this alternative pathway if the one from the guide does not work. You can also try the following below, which will use both the icd64 and icd32 files - I tried it and had some performance issues though, so I stuck with the icd64.
VK_ICD_FILENAMES=/etc/vulkan/icd.d/amd_icd64.json:/etc/vulkan/icd.d/amd_icd32.json %command%
Massive thanks to @gremblebean on Youtube and this video.
but it was actually with the bijin stuff, you need to replace some bijin files to get CBBE to work on them
with other tools (including MO2 and Explorer - copying files, even
Skyrim itself loads much faster).
A long time ago I found that the default "Desktop Integration" settings in winecfg are recommended to be changed from "Bright" to
"None" and for using Dark Theme by default you can change the "WinRT
Theme" settings.
At that time this setting increased UI speed of SSEEdit for me. Maybe that issue is meanwhile fixed, at least I have not
found that this issue with my current low amount of mods was not
noticable.
What you really should not do (and this should be fixed in the guide) is to mix your local wine installation and the proton installation.
1. wine and proton are provided by different communities. Even having same "9.0" does not mean the content is identical.
For that reason do not set WINE environment variable. the wine program is provided by proton and part of steam
2. proton can be a reduced environment wine in contrast to wine distribution itself. protontricks is your friend for maintaining.
3. you should be aware that every game has it's own prefix which corresponds a windows installation (i.e. multiple "C" drives)
4. Do use the WINEPREFIX environment variable if you do want to have a shortcut. I recommend to use it in scripts.
WINEPREFIX points to your skyrim /path/to/steam/or/library/steamapps/compatdata/pfx folder.
Otherwise a great an helpful guide!
Finally to avoid fiddling with WINE environment variable point to proton wine you can use protontricks 'shell' parameter:
$ protontricks <game-id> shell
The game id can be found by starting protontricks with the --gui parameter (Look for Skyrim Special Edition)
I can confirm the dxvk.conf fix here solved my issue. In case the link breaks or the comment gets deleted, the fix is to add "dxvk.enableGraphicsPipelineLibrary = False" to dxvk.conf, which should be located in the same folder as the SkyrimSE binary.
WINE_FULLSCREEN_FSR=1 %command%
and making sure your game is running in fullscreen and your resolution is set to one of the supported FSR resolutions for your output resolution which you can google (I'm not going to share a link because typically that's a no-no and I don't even know if Nexus allows sharing links in comments but there is a good article about FSR on System76 website just google it). You also need to be using a patched version of proton such as GE or lutris-fshack. Also, until recently I was under the impression that FSR was a thing specific to AMD video cards but it seems it's not. I'm running it with noticeable improvements on an Nvidia card.