Skip to main content

Meet the modder who hacked AMD's new upscaling tech into Cyberpunk 2077

Could all games with DLSS have FSR 2.0 soon?

Earlier this week, news broke of a modder that hacked AMD's FSR 2.0 temporal upscaling technology into Cyberpunk 2077, allowing users of non-RTX graphics cards the chance to play the game at higher frame-rates with substantially better visual quality than with FSR 1.0 upscaling. That's massive for owners of AMD GPUs, and the mod even works beautifully on Steam Deck.

We contacted the mod's creator, the gloriously named PotatoOfDoom1337, to find out exactly how it works - and whether it means that FSR 2.0 will soon be available in a tonne of existing games. Here's the interview, edited lightly for clarity. Enjoy!

Alex Battaglia's primer on FSR 2.0 shows off the feature in God of War, one of three released FSR 2.0 games.Watch on YouTube

What's your background in programming and game modding? On NexusMods, it looks like you've only been creating mods since April last year?

PotatoOfDoom: I am studying computer science, have always been interested in the technical aspect of video games and was fascinated when I learned about projects like Reshade, Special K or DXVK. I see programming as my favorite hobby and additionally like reverse engineering and messing around with code a lot. I made my first Cyberpunk 2077 mod because CDPR fixed a very fun bug in the game. This annoyed me so much that I downloaded the development tools and re-implemented the bug myself. The process of creating this mod got me hooked, I learned more about the game over time and started creating more complex mods.

What motivated you to try to hack FSR 2.0 into Cyberpunk 2077?

PotatoOfDoom: Mainly my aging GTX 1080, a bit of envy towards RTX users because of their exclusive DLSS technology, and curiosity about how temporary upscaling solutions work in general. Also, FSR 2.0 and DLSS were described as being very similar, so I just wanted to see if it was possible.

How did you develop the mod?

PotatoOfDoom: I initially started the mod a few weeks ago in anticipation of the FSR 2.0 open source release. The first steps were to get the game talk to my custom .dll and tell the game that it supports DLSS and report the available DLSS resolutions to the game by implementing the required interfaces. Then I wrote a small shader that just displays a blank red image. My goal was to use this as a base to verify that the DirectX parts of my code were working correctly. Then I just waited for the open source release. After AMD released the source code, I immediately replaced my test code with FSR 2.0. I expected to work on it for several days, but was pleasantly surprised that it only took me a few hours to integrate. I used debuggers like x64dbg and reverse engineering software like IDA and Ghidra to find the specifics of the DLSS behavior in the game code. Also, for debugging the buffers, RenderDoc was incredibly helpful.

DLSS (Performance)
FSR 2.0 (Performance)
FSR 1.0 (Performance)
Native 4K
The FSR 2.0 mod works well in Cyberpunk 2077 already when you're on foot, but ghosting is evident when you're in a car or on a bike.
DLSS (Performance)
FSR 2.0 (Performance)
FSR 1.0 (Performance)
Native 4K
The mod has also been ported to Dying Light 2, where it produces better results than the standard FSR 1.0 in the game - check out the trees on the far left for an example of where it falls flat, though.

Here's how the mod looks in action in Cyberpunk 2077 and Dying Light 2, compared with DLSS, FSR 1.0 and native 4K.

Were there any surprises in terms of things being harder or easier to accomplish?

PotatoOfDoom: The main DLSS and FSR input buffers are the same. I basically just copied the FSR integration from the AMD example, set the FoV/Depth values, launched the game and immediately got a pretty decent image. The worst thing was a quirk in Cyberpunk where the game wouldn't reset a special DirectX structure (ComputeRootSignature) after running DLSS. This is not so important for Nvidia's DLSS since it uses CUDA, but unfortunately FSR uses ordinary DirectX compute shaders, which break the game. So I had to find a way to restore that structure after running FSR.

In terms of the FSR 2.0 CP2077 implementation, what is working well at the moment and what needs to be fixed?

PotatoOfDoom: Ghosting and animated textures are the biggest problems right now. Both DLSS and FSR use separate masks to give the algorithm hints about whether to reuse old temporal material or discard it, but they don't seem to be compatible and I need to create a shader that translates the DLSS masks into FSR masks.

DLSS and FSR masks... are they similar to a Photoshop mask?

PotatoOfDoom: Yeah, basically like that. You can imagine them as a greyscale image with values ranging from 0.0 to 1.0 and the temporal upscaler reprojects old frames depending on those values. The FSR documentation goes into more in detail about that.

Here's a visual example. I threw a fire grenade on the street, and as you can see there is nothing in the motion vectors or in the depth buffer. That is because neither the 2D fire texture, nor the spark particles have a 3D representation in the game. To ensure that the small sparks do not cause unsightly traces, they are masked in the InputBiasColorMask so that the reprojection algorithm ignores these pixels and does not reproject anything at that location.

Do FSR 2.0 and DLSS have similar requirements in terms of what inputs they require?

PotatoOfDoom: Yes, otherwise this mod would not be possible. Both integrations need color, motion vectors and a depth buffer as input. In addition, they use the masks I mentioned earlier. They are very important for things that don't have motion vectors, like particles or animated textures like smoke and computer screens in the game and wrongly applied masks are the main reason for ghosting appearing in a game. Also, FSR needs to know the FOV and the near and far planes of the depth buffer. DLSS doesn't need that additional information (I guess it figures that out via the integrated ML algorithm).

With what you know now, how easy would it be to develop a similar solution for other DLSS games?

PotatoOfDoom: Yes, I think so. I am still not finished with this one but if other games are similar this really shouldn't take longer than a few days per game. I've already done some initial tests with Death Stranding and the first results look very good.

For example, could FSR 2.0 be added to Control, a game that famously runs extremely poorly on AMD GPUs, even with RT disabled?

PotatoOfDoom: Yes, I think so. Control got updated to DLSS 2.0 which means the DLSS interface the game communicates with is the same or is at least very similar to Cyberpunk. This is the most important part.

Given the massive public interest in the mod, what are your plans going forward? Would you be open to other devs joining the project to improve the results, or implement similar mods for other games?

PotatoOfDoom: I really didn't expect this much interest in my mod, and if I had known that, I would have prepared a bit more when I hit the publish button last Thursday. I want to finish Cyberpunk first (if the real devs aren't faster than me XD) and then move on to other DLSS games. And yes, of course I would love other developers to join me and help me get this project out of the proof-of-concept stage faster and into something people can use. I heard there is already someone who wants to port my mod to Red Dead Redemption 2.

The mod's official image is a Photoshop masterpiece - wow, so graphics.
Wow, so graphics. The mod's official image is a masterpiece.

Will it be possible to create a drop-in DLSS replacement that works across a range of games ('dlss2fsr', as suggested by a Github user) or do you see it being more of a series of mods each tailored to a given game?

PotatoOfDoom: Only with a few compromises. It would be possible to create some kind of mod that gets the FoV and Depth values from a simple ini file. This mod could work for almost any DLSS game, but the image quality might not be as good as it could be. I mean even Nvidia optimizes DLSS for certain games. For example, the first versions of DLSS had terrible ghosting in Cyberpunk, while later updates to DLSS improved the situation. I can't speak for other games, but for example Cyberpunk unintentionally sends the object ID buffer to DLSS (which is a buffer that assigns a single color value to each object in the scene). DLSS doesn't need this buffer and can't do anything with this information, but this allows me to improve anti-ghosting (especially when driving) tremendously. Also, the ComputeRootSignature bug I mentioned earlier is unique to Cyberpunk and makes this version of the FSR mod incompatible with any other game. Every single game has some unique quirks or even bugs that make it important to optimize each game to get the best experience. I obviously can't do something like this for every single game, but I think if there is some kind of DLSS2FSR framework, it should be possible for other developers with some programming experience to easily integrate and optimize FSR for other DLSS games.

Anything else that you'd like to share about the process of making the mod, or that you'd like people to know about?

PotatoOfDoom: I think my answers above should cover everything about the mod for now. This mod is only a few days old and is already so well received. I'm sure we'll see a ton of exciting developments in the upcoming weeks. Stay tuned for more.

Exciting stuff indeed! Since this interview took place, another contributor by the ID of mnxn successfully adapted the mod for Dying Light 2, and I'd expect to see many more games supported over the next few weeks if everything goes well. Thanks to PotatoOfDoom for their time creating the mod and talking to us!

If you're interested in trying the mod out for yourself, you can find it on NexusMods. Installation is pretty straightforward - replace a few files in your CP2077 directory, and make a registry change. You can also follow the mod's development on PotatoOfDoom's GitHub repository.

Read this next

seductrice.net
universo-virtual.com
buytrendz.net
thisforall.net
benchpressgains.com
qthzb.com
mindhunter9.com
dwjqp1.com
secure-signup.net
ahaayy.com
tressesindia.com
puresybian.com
krpano-chs.com
cre8workshop.com
hdkino.org
peixun021.com
qz786.com
utahperformingartscenter.org
worldqrmconference.com
shangyuwh.com
eejssdfsdfdfjsd.com
playminecraftfreeonline.com
trekvietnamtour.com
your-business-articles.com
essaywritingservice10.com
hindusamaaj.com
joggingvideo.com
wandercoups.com
wormblaster.net
tongchengchuyange0004.com
internetknowing.com
breachurch.com
peachesnginburlesque.com
dataarchitectoo.com
clientfunnelformula.com
30pps.com
cherylroll.com
ks2252.com
prowp.net
webmanicura.com
sofietsshotel.com
facetorch.com
nylawyerreview.com
apapromotions.com
shareparelli.com
goeaglepointe.com
thegreenmanpubphuket.com
karotorossian.com
publicsensor.com
taiwandefence.com
epcsur.com
southstills.com
tvtv98.com
thewellington-hotel.com
bccaipiao.com
colectoresindustrialesgs.com
shenanddcg.com
capriartfilmfestival.com
replicabreitlingsale.com
thaiamarinnewtoncorner.com
gkmcww.com
mbnkbj.com
andrewbrennandesign.com
cod54.com
luobinzhang.com
faithfirst.net
zjyc28.com
tongchengjinyeyouyue0004.com
nhuan6.com
kftz5k.com
oldgardensflowers.com
lightupthefloor.com
bahamamamas-stjohns.com
ly2818.com
905onthebay.com
fonemenu.com
notanothermovie.com
ukrainehighclassescort.com
meincmagazine.com
av-5858.com
yallerdawg.com
donkeythemovie.com
corporatehospitalitygroup.com
boboyy88.com
miteinander-lernen.com
dannayconsulting.com
officialtomsshoesoutletstore.com
forsale-amoxil-amoxicillin.net
generictadalafil-canada.net
guitarlessonseastlondon.com
lesliesrestaurants.com
mattyno9.com
nri-homeloans.com
rtgvisas-qatar.com
salbutamolventolinonline.net
sportsinjuries.info
wedsna.com
rgkntk.com
bkkmarketplace.com
zxqcwx.com
breakupprogram.com
boxcardc.com
unblockyoutubeindonesia.com
fabulousbookmark.com
beat-the.com
guatemala-sailfishing-vacations-charters.com
magie-marketing.com
kingstonliteracy.com
guitaraffinity.com
eurelookinggoodapparel.com
howtolosecheekfat.net
marioncma.org
oliviadavismusic.com
shantelcampbellrealestate.com
shopleborn13.com
topindiafree.com
v-visitors.net
djjky.com
053hh.com
originbluei.com
baucishotel.com
33kkn.com
intrinsiqresearch.com
mariaescort-kiev.com
mymaguk.com
sponsored4u.com
crimsonclass.com
bataillenavale.com
searchtile.com
ze-stribrnych-struh.com
zenithalhype.com
modalpkv.com
bouisset-lafforgue.com
useupload.com
37r.net
autoankauf-muenster.com
bantinbongda.net
bilgius.com
brabustermagazine.com
indigrow.org
miicrosofts.net
mysmiletravel.com
selinasims.com
spellcubesapp.com
usa-faction.com
hypoallergenicdogsnames.com
dailyupdatez.com
foodphotographyreviews.com
cricutcom-setup.com
chprowebdesign.com
katyrealty-kanepa.com
tasramar.com
bilgipinari.org
four-am.com
indiarepublicday.com
inquick-enbooks.com
iracmpi.com
kakaschoenen.com
lsm99flash.com
nana1255.com
ngen-niagara.com
technwzs.com
virtualonlinecasino1345.com
wallpapertop.net
casino-natali.com
iprofit-internet.com
denochemexicana.com
eventhalfkg.com
medcon-taiwan.com
life-himawari.com
myriamshomes.com
nightmarevue.com
healthandfitnesslives.com
androidnews-jp.com
allstarsru.com
bestofthebuckeyestate.com
bestofthefirststate.com
bestwireless7.com
britsmile.com
declarationintermittent.com
findhereall.com
jingyou888.com
lsm99deal.com
lsm99galaxy.com
moozatech.com
nuagh.com
patliyo.com
philomenamagikz.net
rckouba.net
saturnunipessoallda.com
tallahasseefrolics.com
thematurehardcore.net
totalenvironment-inthatquietearth.com
velislavakaymakanova.com
vermontenergetic.com
kakakpintar.com
begorgeouslady.com
1800birks4u.com
2wheelstogo.com
6strip4you.com
bigdata-world.net
emailandco.net
gacapal.com
jharpost.com
krishnaastro.com
lsm99credit.com
mascalzonicampani.com
sitemapxml.org
thecityslums.net
topagh.com
flairnetwebdesign.com
rajasthancarservices.com
bangkaeair.com
beneventocoupon.com
noternet.org
oqtive.com
smilebrightrx.com
decollage-etiquette.com
1millionbestdownloads.com
7658.info
bidbass.com
devlopworldtech.com
digitalmarketingrajkot.com
fluginfo.net
naqlafshk.com
passion-decouverte.com
playsirius.com
spacceleratorintl.com
stikyballs.com
top10way.com
yokidsyogurt.com
zszyhl.com
16firthcrescent.com
abogadolaboralistamd.com
apk2wap.com
aromacremeria.com
banparacard.com
bosmanraws.com
businessproviderblog.com
caltonosa.com
calvaryrevivalchurch.org
chastenedsoulwithabrokenheart.com
cheminotsgardcevennes.com
cooksspot.com
cqxzpt.com
deesywig.com
deltacartoonmaps.com
despixelsetdeshommes.com
duocoracaobrasileiro.com
fareshopbd.com
goodpainspills.com
hemendekor.com
kobisitecdn.com
makaigoods.com
mgs1454.com
piccadillyresidences.com
radiolaondafresca.com
rubendorf.com
searchengineimprov.com
sellmyhrvahome.com
shugahouseessentials.com
sonihullquad.com
subtractkilos.com
valeriekelmansky.com
vipasdigitalmarketing.com
voolivrerj.com
zeelonggroup.com
1015southrockhill.com
10x10b.com
111-online-casinos.com
191cb.com
3665arpentunitd.com
aitesonics.com
bag-shokunin.com
brightotech.com
communication-digitale-services.com
covoakland.org
dariaprimapack.com
freefortniteaccountss.com
gatebizglobal.com
global1entertainmentnews.com
greatytene.com
hiroshiwakita.com
iktodaypk.com
jahatsakong.com
meadowbrookgolfgroup.com
newsbharati.net
platinumstudiosdesign.com
slotxogamesplay.com
strikestaruk.com
trucosdefortnite.com
ufabetrune.com
weddedtowhitmore.com
12940brycecanyonunitb.com
1311dietrichoaks.com
2monarchtraceunit303.com
601legendhill.com
850elaine.com
adieusolasomade.com
andora-ke.com
bestslotxogames.com
cannagomcallen.com
endlesslyhot.com
iestpjva.com
ouqprint.com
pwmaplefest.com
qtylmr.com
rb88betting.com
buscadogues.com
1007macfm.com
born-wild.com
growthinvests.com
promocode-casino.com
proyectogalgoargentina.com
wbthompson-art.com
whitemountainwheels.com
7thavehvl.com
developmethis.com
funkydogbowties.com
travelodgegrandjunction.com
gao-town.com
globalmarketsuite.com
blogshippo.com
hdbka.com
proboards67.com
outletonline-michaelkors.com
kalkis-research.com
thuthuatit.net
buckcash.com
hollistercanada.com
docterror.com
asadart.com
vmayke.org
erwincomputers.com
dirimart.org
okkii.com
loteriasdecehegin.com
mountanalog.com
healingtaobritain.com
ttxmonitor.com
nwordpress.com
11bolabonanza.com