I have done tests with raspberry pi 3b and mupen64plus, with those settings it works incredibly well, I propose it for tests if possible,
can this be replicated in the libretro core?
[Video-Glide64mk2]
Enable full-scene anti-aliasing by setting this to a value greater than 1
wrpAntiAliasing = 0
Card ID
card_id = 0
If true, use polygon offset values specified below
force_polygon_offset = False
Specifies a scale factor that is used to create a variable depth offset for each polygon
polygon_offset_factor = 0
Is multiplied by an implementation-specific value to create a constant depth offset
Filtering mode: -1=Game default, 0=automatic, 1=force bilinear, 2=force point sampled
filtering = -1
Fog: -1=Game default, 0=disable. 1=enable
fog = -1
Buffer clear on every frame: -1=Game default, 0=disable. 1=enable
buff_clear = -1
Buffer swapping method: -1=Game default, 0=swap buffers when vertical interrupt has occurred, 1=swap buffers when set of conditions is satisfied. Prevents flicker on some games, 2=mix of first two methods
Read framebuffer every frame (may be slow use only for effects that need it e.g. Banjo Kazooie, DK64 transitions): -1=Game default, 0=disable. 1=enable
Color bit depth for rendering window (0=32 bits, 1=16 bits)
ColorQuality = 0
OpenGL level to support (0=auto, 1=OGL_1.1, 2=OGL_1.4, 3=OGL_FRAGMENT_PROGRAM)
OpenGLRenderSetting = 0
Enable/Disable Anisotropic Filtering for Mipmapping (0=no filtering, 2-16=quality). This is uneffective if Mipmapping is 0. If the given value is to high to be supported by your graphic card, the value will be the highest value your graphic card can support. Better result with Trilinear filtering
AnisotropicFiltering = 0
[Video-Z64]
High resolution framebuffer
HiResFB = True
Use framebuffer info
FBInfo = True
Run RDP on thread
Threaded = False
Run RDP asynchronously
Async = False
Don't use NPOT FBOs (may be needed for older graphics cards)
I have done tests with raspberry pi 3b and mupen64plus, with those settings it works incredibly well, I propose it for tests if possible, can this be replicated in the libretro core?
[Video-Glide64mk2]
Enable full-scene anti-aliasing by setting this to a value greater than 1
wrpAntiAliasing = 0
Card ID
card_id = 0
If true, use polygon offset values specified below
force_polygon_offset = False
Specifies a scale factor that is used to create a variable depth offset for each polygon
polygon_offset_factor = 0
Is multiplied by an implementation-specific value to create a constant depth offset
polygon_offset_units = 0
Vertical sync
vsync = True
TODO:ssformat
ssformat = False
Display performance stats (add together desired flags): 1=FPS counter, 2=VI/s counter, 4=% speed, 8=FPS transparent
show_fps = 8
Clock enabled
clock = False
Clock is 24-hour
clock_24_hr = True
Wrapper resolution
wrpResolution = 0
Wrapper VRAM
wrpVRAM = 0
Wrapper FBO
wrpFBO = True
Wrapper Anisotropic Filtering
wrpAnisotropic = True
Texture Enhancement: Smooth/Sharpen Filters
ghq_fltr = 0
Texture Compression: 0 for S3TC, 1 for FXT1
ghq_cmpr = 0
Texture Enhancement: More filters
ghq_enht = 0
Hi-res texture pack format (0 for none, 1 for Rice)
ghq_hirs = 0
Compress texture cache with S3TC or FXT1
ghq_enht_cmpr = False
Tile textures (saves memory but could cause issues)
ghq_enht_tile = 0
Force 16bpp textures (saves ram but lower quality)
ghq_enht_f16bpp = False
Compress texture cache
ghq_enht_gz = True
Don't enhance textures for backgrounds
ghq_enht_nobg = False
Enable S3TC and FXT1 compression
ghq_hirs_cmpr = False
Tile hi-res textures (saves memory but could cause issues)
ghq_hirs_tile = False
Force 16bpp hi-res textures (saves ram but lower quality)
ghq_hirs_f16bpp = False
Compress hi-res texture cache
ghq_hirs_gz = True
Alternative CRC calculation -- emulates Rice bug
ghq_hirs_altcrc = True
Save tex cache to disk
ghq_cache_save = True
Texture Cache Size (MB)
ghq_cache_size = 128
Use full alpha channel -- could cause issues for some tex packs
ghq_hirs_let_texartists_fly = False
Dump textures
ghq_hirs_dump = False
Alternate texture size method: -1=Game default, 0=disable. 1=enable
alt_tex_size = -1
Use first SETTILESIZE only: -1=Game default, 0=disable. 1=enable
use_sts1_only = -1
Use spheric mapping only: -1=Game default, 0=disable. 1=enable
force_calc_sphere = -1
Force positive viewport: -1=Game default, 0=disable. 1=enable
correct_viewport = -1
Force texrect size to integral value: -1=Game default, 0=disable. 1=enable
increase_texrect_edge = -1
Reduce fillrect size by 1: -1=Game default, 0=disable. 1=enable
decrease_fillrect_edge = -1
Enable perspective texture correction emulation: -1=Game default, 0=disable. 1=enable
texture_correction = -1
Set special scale for PAL games: -1=Game default, 0=disable. 1=enable
pal230 = -1
3DFX Dithered alpha emulation mode: -1=Game default, >=0=dithered alpha emulation mode
stipple_mode = -1
3DFX Dithered alpha pattern: -1=Game default, >=0=pattern used for dithered alpha emulation
stipple_pattern = -1
Check microcode each frame: -1=Game default, 0=disable. 1=enable
force_microcheck = -1
Force 0xb5 command to be quad, not line 3D: -1=Game default, 0=disable. 1=enable
force_quad3d = -1
Enable near z clipping: -1=Game default, 0=disable. 1=enable
clip_zmin = -1
Enable far plane clipping: -1=Game default, 0=disable. 1=enable
clip_zmax = -1
Use fast CRC algorithm: -1=Game default, 0=disable. 1=enable
fast_crc = -1
Adjust screen aspect for wide screen mode: -1=Game default, 0=disable. 1=enable
adjust_aspect = -1
Force strict check in Depth buffer test: -1=Game default, 0=disable. 1=enable
zmode_compare_less = -1
Apply alpha dither regardless of alpha_dither_mode: -1=Game default, 0=disable. 1=enable
old_style_adither = -1
Scale vertex z value before writing to depth buffer: -1=Game default, 0=disable. 1=enable
n64_z_scale = -1
Fast texrect rendering with hwfbe: -1=Game default, 0=disable. 1=enable
optimize_texrect = -1
Do not copy auxiliary frame buffers: -1=Game default, 0=disable. 1=enable
ignore_aux_copy = -1
Clear auxiliary texture frame buffers: -1=Game default, 0=disable. 1=enable
hires_buf_clear = -1
Read alpha from framebuffer: -1=Game default, 0=disable. 1=enable
fb_read_alpha = -1
Handle unchanged fb: -1=Game default, 0=disable. 1=enable
useless_is_useless = -1
Set frambuffer CRC mode: -1=Game default, 0=disable CRC, 1=fast CRC, 2=safe CRC
fb_crc_mode = -1
Filtering mode: -1=Game default, 0=automatic, 1=force bilinear, 2=force point sampled
filtering = -1
Fog: -1=Game default, 0=disable. 1=enable
fog = -1
Buffer clear on every frame: -1=Game default, 0=disable. 1=enable
buff_clear = -1
Buffer swapping method: -1=Game default, 0=swap buffers when vertical interrupt has occurred, 1=swap buffers when set of conditions is satisfied. Prevents flicker on some games, 2=mix of first two methods
swapmode = -1
Aspect ratio: -1=Game default, 0=Force 4:3, 1=Force 16:9, 2=Stretch, 3=Original
aspect = -1
LOD calculation: -1=Game default, 0=disable. 1=fast, 2=precise
lodmode = -1
Smart framebuffer: -1=Game default, 0=disable. 1=enable
fb_smart = -1
Hardware frame buffer emulation: -1=Game default, 0=disable. 1=enable
fb_hires = -1
Read framebuffer every frame (may be slow use only for effects that need it e.g. Banjo Kazooie, DK64 transitions): -1=Game default, 0=disable. 1=enable
fb_read_always = -1
Render N64 frame buffer as texture: -1=Game default, 0=disable, 1=mode1, 2=mode2
read_back_to_screen = -1
Show images written directly by CPU: -1=Game default, 0=disable. 1=enable
detect_cpu_write = -1
Get frame buffer info: -1=Game default, 0=disable. 1=enable
fb_get_info = -1
Enable software depth render: -1=Game default, 0=disable. 1=enable
fb_render = -1
Enable Frameskip
glide64Frameskip = -5
[Video-GLideN64]
Settings version. Don't touch it.
configVersion = 16
Crop resulted image (0=disable, 1=auto crop, 2=user defined crop)
CropMode = 1
Crop width pixels from left and right of resulted image (in native resolution)
CropWidth = 0
Crop height pixels from top and bottom of resulted image (in native resolution)
CropHeight = 0
Enable/Disable MultiSampling (0=off, 2,4,8,16=quality)
MultiSampling = 0
Screen aspect ratio (0=stretch, 1=force 4:3, 2=force 16:9, 3=adjust)
AspectRatio = 1
Swap frame buffers (0=On VI update call, 1=On VI origin change, 2=On buffer update)
BufferSwapMode = 0
Frame buffer size is the factor of N64 native resolution.
UseNativeResolutionFactor = 1
Bilinear filtering mode (0=N64 3point, 1=standard)
bilinearMode = 1
Max level of Anisotropic Filtering, 0 for off
MaxAnisotropy = False
Size of texture cache in megabytes. Good value is VRAM*3/4
CacheSize = 100
Enable color noise emulation.
EnableNoise = False
Enable LOD emulation.
EnableLOD = True
Enable hardware per-pixel lighting.
EnableHWLighting = False
Use persistent storage for compiled shaders.
EnableShadersStorage = True
Make texrect coordinates continuous to avoid black lines between them. (0=Off, 1=Auto, 2=Force)
CorrectTexrectCoords = 0
Render 2D texrects in native resolution to fix misalignment between parts of 2D image.
EnableNativeResTexrects = False
Do not use shaders to emulate N64 blending modes. Works faster on slow GPU. Can cause glitches.
EnableLegacyBlending = True
Enable frame and|or depth buffer emulation.
EnableFBEmulation = False
Copy auxiliary buffers to RDRAM
EnableCopyAuxiliaryToRDRAM = False
Enable N64 depth compare instead of OpenGL standard one. Experimental.
EnableN64DepthCompare = False
Disable buffers read/write with FBInfo. Use for games, which do not work with FBInfo.
DisableFBInfo = True
Read color buffer by 4kb chunks (strict follow to FBRead specification)
FBInfoReadColorChunk = False
Read depth buffer by 4kb chunks (strict follow to FBRead specification)
FBInfoReadDepthChunk = True
Enable color buffer copy to RDRAM (0=do not copy, 1=copy in sync mode, 2=copy in async mode)
EnableCopyColorToRDRAM = 0
Enable depth buffer copy to RDRAM (0=do not copy, 1=copy from video memory, 2=use software render)
EnableCopyDepthToRDRAM = 2
Enable color buffer copy from RDRAM.
EnableCopyColorFromRDRAM = False
Texture filter (0=none, 1=Smooth filtering 1, 2=Smooth filtering 2, 3=Smooth filtering 3, 4=Smooth filtering 4, 5=Sharp filtering 1, 6=Sharp filtering 2)
txFilterMode = 0
Texture Enhancement (0=none, 1=store as is, 2=X2, 3=X2SAI, 4=HQ2X, 5=HQ2XS, 6=LQ2X, 7=LQ2XS, 8=HQ4X, 9=2xBRZ, 10=3xBRZ, 11=4xBRZ, 12=5xBRZ), 13=6xBRZ
txEnhancementMode = 0
Deposterize texture before enhancement.
txDeposterize = False
Don't filter background textures.
txFilterIgnoreBG = False
Size of filtered textures cache in megabytes.
txCacheSize = 100
Use high-resolution texture packs if available.
txHiresEnable = False
Allow to use alpha channel of high-res texture fully.
txHiresFullAlphaChannel = False
Use alternative method of paletted textures CRC calculation.
txHresAltCRC = False
Enable dump of loaded N64 textures.
txDump = False
Zip textures cache.
txCacheCompression = True
Force use 16bit texture formats for HD textures.
txForce16bpp = False
Save texture cache to hard disk.
txSaveCache = True
Path to folder with hi-res texture packs.
txPath = "/recalbox/share/system/configs/mupen64/hires_texture"
File name of True Type Font for text messages.
fontName = "FreeSans.ttf"
Font size.
fontSize = 18
Font color in RGB format.
fontColor = "B5E61D"
Enable bloom filter
EnableBloom = False
Brightness threshold level for bloom. Values [2, 6]
bloomThresholdLevel = 4
Bloom blend mode (0=Strong, 1=Mild, 2=Light)
bloomBlendMode = 0
Blur radius. Values [2, 10]
blurAmount = 10
Blur strength. Values [10, 100]
blurStrength = 20
Force gamma correction.
ForceGammaCorrection = False
Gamma correction level.
GammaCorrectionLevel = "2.000000"
Show FPS counter.
ShowFPS = False
Show VI/S counter.
ShowVIS = False
Show percent counter.
ShowPercent = False
Counters position (1=top left, 2=top center, 4=top right, 8=bottom left, 16=bottom center, 32=bottom right)
CountersPos = 8
[Video-Rice]
ForcePolygonOffset = True PolygonOffsetFactor = -3 PolygonOffsetUnits = -3 ScreenUpdateSetting = 4 FastTextureLoading = False SkipFrame = True LoadHiResTextures = True ForceTextureFilter = 0 TextureEnhancement = 0 TextureEnhancementControl = 1 Mipmapping = 0 FogMethod = 0
Mupen64Plus Rice Video Plugin config parameter version number
Version = 1
Frame Buffer Emulation (0=ROM default, 1=disable)
FrameBufferSetting = 0
Frequency to write back the frame buffer (0=every frame, 1=every other frame, etc)
FrameBufferWriteBackControl = 0
Render-to-texture emulation (0=none, 1=ignore, 2=normal, 3=write back, 4=write back and reload)
RenderToTexture = 0
Force to use normal alpha blender
NormalAlphaBlender = False
Use different texture coordinate clamping code
AccurateTextureMapping = True
Force emulated frame buffers to be in N64 native resolution
InN64Resolution = False
Try to reduce Video RAM usage (should never be used)
SaveVRAM = False
Enable this option to have better render-to-texture quality
DoubleSizeForSmallTxtrBuf = False
Force to use normal color combiner
DefaultCombinerDisable = False
Enable game-specific settings from INI file
EnableHacks = True
If enabled, graphics will be drawn in WinFrame mode instead of solid and texture mode
WinFrameMode = False
N64 Texture Memory Full Emulation (may fix some games, may break others)
FullTMEMEmulation = False
Enable vertex clipper for fog operations
OpenGLVertexClipper = False
Enable/Disable SSE optimizations for capable CPUs
EnableSSE = True
If enabled, texture enhancement will be done only for TxtRect ucode
TexRectOnly = False
If enabled, texture enhancement will be done only for textures width+height<=128
SmallTextureOnly = False
Select hi-resolution textures based only on the CRC and ignore format+size information (Glide64 compatibility)
LoadHiResCRCOnly = True
Enable texture dumping
DumpTexturesToFiles = False
Display On-screen FPS
ShowFPS = True
Color bit depth to use for textures (0=default, 1=32 bits, 2=16 bits)
TextureQuality = 0
Z-buffer depth (only 16 or 32)
OpenGLDepthBufferSetting = 16
Enable/Disable MultiSampling (0=off, 2,4,8,16=quality)
MultiSampling = 0
Color bit depth for rendering window (0=32 bits, 1=16 bits)
ColorQuality = 0
OpenGL level to support (0=auto, 1=OGL_1.1, 2=OGL_1.4, 3=OGL_FRAGMENT_PROGRAM)
OpenGLRenderSetting = 0
Enable/Disable Anisotropic Filtering for Mipmapping (0=no filtering, 2-16=quality). This is uneffective if Mipmapping is 0. If the given value is to high to be supported by your graphic card, the value will be the highest value your graphic card can support. Better result with Trilinear filtering
AnisotropicFiltering = 0
[Video-Z64]
High resolution framebuffer
HiResFB = True
Use framebuffer info
FBInfo = True
Run RDP on thread
Threaded = False
Run RDP asynchronously
Async = False
Don't use NPOT FBOs (may be needed for older graphics cards)
NoNpotFbos = False