New thread for WIP Windows builds.
Current state of refactor_graphics branch:
https://drive.google.com/file/d/0B0YqMPjGo3B2azlIdVFXd3pfTG8/view?usp=sharing
Got an Out Of Memory error and a crash after that the first time I ran this. Then I deleted the cache and reset to default settings, everything seems to be running just dandy, and, in fact, from an empirical point, somewhat faster than before. I'm getting 380 V/I tops in Conker's BFD @ output res with no AA and Anisotropic filtering.
EDIT: Seems to be crashing with Native Res factor and Antialasing enabled. Using Project64
OpenGL Error: out of memory (505) is all I have in the log.
EDIT: HAH. It only happens when the AA is an odd number (1x or 3x or 5x or 7x).
Aditionally, I got this error message on gliden64.log
(500)OpenGL Error: invalid enumerant (500)OpenGL Error: invalid enumerant (500)OpenGL Error: invalid enumerant
I never knew you could set 3x, 5x, 7x. Must be a bug in the UI. My graphics card options only supports 2x, 4x, 8x.
No, though I originally suggested to remove the odd Antialasing numbers in the UI but @gonetz said it's perfectly valid in an OpenGL context. However this option just seemed to pick the next even number and use that as Antialasing (just by looking at the pixels.. eg no difference between 3x and 4x or between 5x and 6x). In the branch refactor_graphics odd AA numbers crash and generate those messages in gliden64.log
Shader cache doesn't seem to be regenerated after switching AA on and off, creating broken graphics.
This even persists after closing and opening the emulator.
Ok, I'll check it.

Diddy Kong Racing Texrect regression with AA enabled (with AA off it looks correct)
look at the logo and the "options" text
Black lines text rect hack = always fixes it with AA enabled.
Current AA method in refactor_graphics seems to have numerous regressions VS the method used in current master
Nevermind, it also happens with current master


I'm getting really messed up graphics in Mario Tennis, this is with default settings in mupen64plus.
Edit: I only see if during that "VS" screen, and when a ball has been hit.
@loganmc10 Is it on you PC or with RPI?
The game works ok for me.
@gonetz sorry that was a test inside VMware, I just tested it with a normal machine and it works normally. I should have learned by now not to trust the VMware GL driver... you can disregard that report.
refactor_graphics branch update:
https://drive.google.com/file/d/0B0YqMPjGo3B2aDdiUHdEWV9tNjg/view?usp=sharing
@gonetz #include <cmath> needs to be added to TexrectDrawer.cpp for compilation on Fedora/Arch
Also the CMakeLists.txt file is missing:
Graphics/OpenGLContext/opengl_ColorBufferReaderWithReadPixels.cpp
Ok, thanks. I'll fix asap.
refactor_graphics branch update:
https://drive.google.com/file/d/0B0YqMPjGo3B2aGRyOU4wbWN0MWM/view?usp=sharing
Fixed AA settings.
refactor_graphics branch update:
https://drive.google.com/file/d/0B0YqMPjGo3B2bFJscVJGaHFZUUk/view?usp=sharing
Fixed frame buffer emulation when AA enabled.
refactor_graphics branch update:
https://drive.google.com/file/d/0B0YqMPjGo3B2WFhYNVJaZlR3MUk/view?usp=sharing
Implemented vsync for Zilmar-specs build. Since this option is not supported in GUI, vsync is always enabled. I need to know, does it really work. There is no difference when vsync on or off on my hardware.
@theboy181, please test it.
@gonetz I have tested, and when put use 3d application setting it is working. The way you can test it, is by enabling that setting and disabling vsync in your driver.
When you turn off framlimit you will be locked at 60 VI if you have let application choose selected.
Please make this a select-able option in the GUi.
The VSync variant causes noticeable sound crackling when used with Project64
Good, thanks. My monitor has 120hz refresh rate. May be it is why I don't see any problems with vsync.
I guess we need @Aquatakat help to place vsync control on proper place.
@gonetz OK
Do we want VSync on or off by default? (for the tooltip)
Also, does it work properly with both windowed and fullscreen, or just fullscreen?
Edit: I get exactly 50% performance (30 VI/s) in windowed and perfect 60 in fullscreen. I'm guessing this means it should work in windowed but doesn't work perfectly yet?
VSync is usually always off by default in the software I've seen.
@Aquatakat vsync is off by default. It can be enabled both windowed and fullscreen. It works as is. I can only enable or disable it, I can't make it work better.
@gonetz Alright. #1388
I don't know if the GFX plugin can do this, but it would be nice to disable vsync when you disable the framelimiter (F4 on P64), so you can go past 60 fps when you want to speed up the gameplay, but also avoid screen tearing when you are on 60 fps (framelimiter enabled).
It is possible to add a hotkey for this option.
A hotkey for enabling/disabling vsync? That would work as well.
But PPSSPP does what I said automatically, isn't it possible on GLide because it's just a plugin and can't react to the emulator behavior?
Yes. There is no such notification in plugin's API .
Understood.
Looking forward to the hotkey implementation.
Hot key should be user selectable. Hardcoded hot key can interfere with other key mappings. This implies new config settings, support in GUI and code. I don't have time for that atm. May be later. You may create new ticket for that; it will be reminder for me.
Done =)
Very nice ticket, thanks.
@gonetz I can't build on Fedora anymore:
/home/loganmc10/GLideN64/src/NoiseTexture.cpp: In member function ‘void NoiseTexture::init()’:
/home/loganmc10/GLideN64/src/NoiseTexture.cpp:68:90: error: no matching function for call to ‘min(u32, std::array<std::vector<short unsigned int>, 30ul>::size_type)’
FillTextureData, generator(), &texData, start, std::min(start + chunk, texData.size()));
Ok, I'll fix it.
Done.
refactor_graphics branch is merged with master:
https://drive.google.com/file/d/0B0YqMPjGo3B2LXdZTDZVVUpxN1U/view?usp=sharing
Nice
Current master, MacOsX build:
https://drive.google.com/file/d/0B0YqMPjGo3B2emx0TWpqR2g5eXc/view?usp=sharing
Current master, Windows:
https://drive.google.com/file/d/0B0YqMPjGo3B2UnluMDJDOXR2UW8/view?usp=sharing
Current master hotfix, Windows:
https://drive.google.com/file/d/0B0YqMPjGo3B2cXpMaXdOdmFlSE0/view?usp=sharing
any chance of getting an updated WIP build to test? @gonetz
Has there been an updated Custom.ini ? How can I get one ? Wut is new in latest Build?
Custom.ini:
https://github.com/gonetz/GLideN64/blob/master/ini/GLideN64.custom.ini
Wut is new in latest Build?
Few bugfixes.
Where i can find the latest build?
Where i can find the latest build?
@Lithium64
9 days old master:
https://github.com/gonetz/GLideN64/issues/1505#issuecomment-309463779
Linky:
https://drive.google.com/file/d/0B0YqMPjGo3B2R0lONW9KZ3NXamc/view?usp=sharing
Where i can find the latest build?
Usually I post WIP builds in this thread.
Fixes related to particular issue can be posted in corresponding ticket.
Holy mackerel, working lighting in Armorines and Turoks!
Kudos!
Ouch!
The audio in your side by side comparison is awfully static/crackly.
https://youtu.be/MjBEzQwOaSM
Maybe try my latest build of Azimer's new audio code (zilmar spec). I added buffer settings, best to set to 4 buffers and keep fps settings at 90. Changes to buffer settings don't take effect until you restart the game or load a save state.
https://www.dropbox.com/s/4atheo4vus4sht5/AziAudioNEW.zip?dl=1
Enabling Disable AudioThread Sleep will improve audio but make the audio process go through the roof in terms of CPU usage. It's fine with 4x core processor here.
@Frank-74 Have you tried shunyuan's HLE audio plugin? Is Azimer's better? I don't seriously play N64 games that often anymore but it's nice to have a good set of plugins ready when I do.
@Aquatakat Azimer's has bobby smiles HLE code for Musyx games. And it's in development. New audio code has low latency too. I think shunyuan's is a hack of 1964 audio.
Also Azimer's is the only plugin I can get good audio with Body Harvest. Disable Fixed Audio Timing in PJ64, turn on Disable AudioThread Sleep, set Backend FPS to 95. Azimer's is planned to be the new default PJ64 audio when it's finished. It's still very much WIP.
Thanks.
I notice that some objects have rainbow hues when per-pixel lighting is enabled.
thanks all ;-)
Current master:
https://drive.google.com/file/d/0B0YqMPjGo3B2eDdNZzk5ZUhYYjA/view?usp=sharing
Ucode for hey you pikachu implemented.
Current master:
https://drive.google.com/file/d/0B0YqMPjGo3B2M25wZTBxYndOak0/view?usp=sharing
Fixed #1488
Current master:
https://drive.google.com/file/d/0B0YqMPjGo3B2aGdxVG1JZHU5Qlk/view?usp=sharing
Fixed capture with OBS studio.
Star Wars Rogue Squadron HLE.
Firstly, fantastic work. Secondly, you should probably include the current ini files with the Zilmar build. They're arguably pretty essential to the plugin working properly.
Ok, next time I'll put configs too.
Star Wars Battle for Naboo is being perfectly emulated when it comes to graphics, but the FPS count is 2 to 4, is there any option to keep the FPS rate at 30 FPS? Note: I am using the same Plugin that is emulating with quality the '' RS '' (GLideN64_9818306).
@GamingTVYT GLideN64 doesn't have an HLE implementation of Battle for Naboo. (Yet.) It falls back on LLE, which is much, much slower.
I'm sorry, I am a stupid person: a) what is the "current master" source for compiling it for Linux? b) how compile it for Linux? c) what are the pre-requisite to run Rogue Squadron besides this plugin? Some BIOS or ROM version? I really love your work! Thx from the bottom of my heart! cheers
I use Ubuntu MATE 17.04 x64 and did this script for use the plugin: GlideN64-download-n-compile-wip.sh
CODE:
sudo apt-get install gcc g++ cmake libgl1-mesa-dev libboost-system-dev
sudo apt-get install libboost-filesystem-dev libfreetype6-dev libmupen64plus-dev zlib1g-dev
mkdir wipgln
cd wipgln
wget -c https://github.com/gonetz/GLideN64/archive/master.zip
unzip master.zip
cd GLideN64-master/src/
rev=1
echo current revision $rev
echo "#define PLUGIN_REVISION $rev" > ./Revision.h
echo "#define PLUGIN_REVISION_W L$rev" >> ./Revision.h
mkdir build
cd build
cmake -DMUPENPLUSAPI=On ..
make -j5
cd plugin/release
ls
sudo cp mupen64plus-video-GLideN64.so /usr/lib/x86_64-linux-gnu/mupen64plus
END-CODE
To run:
' mupen64plus --gfx mupen64plus-video-GLideN64.so "/home/fernando/Downloads/GAMES/N64/ROMS/n64/Super Mario 64 (USA).n64" '
or:
' LIBGL_ALWAYS_SOFTWARE=1 mupen64plus --gfx mupen64plus-video-GLideN64.so "/home/fernando/Downloads/GAMES/N64/ROMS/n64/Super Mario 64 (USA).n64" '
It compiles but I got a error:
_Core Error: SDL_SetVideoMode failed: Could not create GL context: GLXBadFBConfig
Segmentation fault (core dumped)_
*I tested a lot of configuration in: /home/fernando/.config/mupen64plus/mupen64plus.cfg in [Video-Gliden64]
So I tried an older version:
https://github.com/gonetz/GLideN64/archive/clone_and_compile.zip
Manual add in: GLideN64-clone_and_compile/src/GLideNHQ/TextureFilters_xbrz.cpp
'#include '<'cmath'>' '
Manual add in: GLideN64-clone_and_compile/src/gDP.cpp
'# #include '<'cmath'>' '
*without the apostrophe
Used the same script pos-manual changes, and It compiles but I got a error:
_(II) Setting video mode 960x720...
Core: Setting video mode: 960x720
Segmentation fault (core dumped)_
So, maybe the problem might be my old laptop:
SO..: Ubuntu MATE 17.04 x64 pt_BR
CPU.: Intel(R) Core(TM) i3 CPU M 380 @ 2.53GHz (1st Generation)
GPU.: Mesa DRI Intel(R) Ironlake Mobile, OpenGL version: 2.1 Mesa 17.0.7
vGPU: Gallium 0.4 on llvmpipe (LLVM 4.0, 128 bits), OpenGL version: 3.0 Mesa 17.0.7
PluginDir.. = "/usr/lib/x86_64-linux-gnu/mupen64plus"
VideoPlugin = "mupen64plus-video-GLideN64.so"
AudioPlugin = "mupen64plus-audio-sdl"
InputPlugin = "mupen64plus-input-sdl"
RspPlugin.. = "mupen64plus-rsp-hle"
If it is not my old laptop, what should I try?
I preferred to post here because the script can help other people interested in trying the plugin on Linux. But if my problem deserves another topic or simple forgetfulness please inform. thank you so much!
cheers
@ofernandofilo There was tickets related to build for Linux. There is a wiki page
https://github.com/gonetz/GLideN64/wiki/Build-From-Source-(Linux)
(a bit outdated, but you will know what to do)
OpenGL version: 3.0 Mesa - this can be problem. Search open and closed tickets for 'Mesa', many people complained on it.
Most helpful comment
Current master:
https://drive.google.com/file/d/0B0YqMPjGo3B2aGdxVG1JZHU5Qlk/view?usp=sharing
Fixed capture with OBS studio.
Star Wars Rogue Squadron HLE.