Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP Builds 2 #1364

Closed
gonetz opened this issue Feb 7, 2017 · 66 comments
Closed

WIP Builds 2 #1364

gonetz opened this issue Feb 7, 2017 · 66 comments

Comments

@gonetz
Copy link
Owner

gonetz commented Feb 7, 2017

New thread for WIP Windows builds.

Current state of refactor_graphics branch:
https://drive.google.com/file/d/0B0YqMPjGo3B2azlIdVFXd3pfTG8/view?usp=sharing

@oddMLan
Copy link
Contributor

oddMLan commented Feb 7, 2017

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

@Frank-74
Copy link

Frank-74 commented Feb 7, 2017

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.

@oddMLan
Copy link
Contributor

oddMLan commented Feb 8, 2017

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

@gonetz
Copy link
Owner Author

gonetz commented Feb 8, 2017

  • Performance on desktop expected to be better than in master. This branch uses most efficient GL functions available for your GL version. Increased load on CPU should not be a problem for desktop PC.
  • AA. Yes, corresponding GL function allows any natural numbers as parameter, including odd ones. New function used by this branch seems to dislike odd paremeter values. Master uses other function for msaa textures.

@oddMLan
Copy link
Contributor

oddMLan commented Feb 8, 2017

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.

@gonetz
Copy link
Owner Author

gonetz commented Feb 8, 2017

Ok, I'll check it.

@oddMLan
Copy link
Contributor

oddMLan commented Feb 8, 2017

imagen
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

@loganmc10
Copy link
Contributor

loganmc10 commented Feb 8, 2017

untitled
untitled1

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.

@gonetz
Copy link
Owner Author

gonetz commented Feb 9, 2017

@loganmc10 Is it on you PC or with RPI?
The game works ok for me.

@loganmc10
Copy link
Contributor

@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.

@gonetz
Copy link
Owner Author

gonetz commented Feb 12, 2017

@loganmc10
Copy link
Contributor

@gonetz #include <cmath> needs to be added to TexrectDrawer.cpp for compilation on Fedora/Arch

@loganmc10
Copy link
Contributor

Also the CMakeLists.txt file is missing:

Graphics/OpenGLContext/opengl_ColorBufferReaderWithReadPixels.cpp

@gonetz
Copy link
Owner Author

gonetz commented Feb 14, 2017

Ok, thanks. I'll fix asap.

@gonetz
Copy link
Owner Author

gonetz commented Feb 14, 2017

refactor_graphics branch update:
https://drive.google.com/file/d/0B0YqMPjGo3B2aGRyOU4wbWN0MWM/view?usp=sharing

Fixed AA settings.

@gonetz
Copy link
Owner Author

gonetz commented Feb 18, 2017

refactor_graphics branch update:
https://drive.google.com/file/d/0B0YqMPjGo3B2bFJscVJGaHFZUUk/view?usp=sharing

Fixed frame buffer emulation when AA enabled.

@gonetz
Copy link
Owner Author

gonetz commented Feb 19, 2017

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.

@theboy181
Copy link

@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.

@oddMLan
Copy link
Contributor

oddMLan commented Feb 20, 2017

The VSync variant causes noticeable sound crackling when used with Project64

@gonetz
Copy link
Owner Author

gonetz commented Feb 20, 2017

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.

@Aquatakat
Copy link
Contributor

@gonetz OK

@Aquatakat
Copy link
Contributor

Aquatakat commented Feb 20, 2017

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?

@oddMLan
Copy link
Contributor

oddMLan commented Feb 20, 2017

VSync is usually always off by default in the software I've seen.

@gonetz
Copy link
Owner Author

gonetz commented Feb 20, 2017

@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.

@Aquatakat
Copy link
Contributor

@gonetz Alright. #1388

@DonelBueno
Copy link

DonelBueno commented Feb 20, 2017

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).

@gonetz
Copy link
Owner Author

gonetz commented Feb 20, 2017

It is possible to add a hotkey for this option.

@DonelBueno
Copy link

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?

@gonetz
Copy link
Owner Author

gonetz commented Feb 20, 2017

Yes. There is no such notification in plugin's API .

@Lithium64
Copy link

Where i can find the latest build?

@Frank-74
Copy link

Frank-74 commented Jun 28, 2017

Where i can find the latest build?

@Lithium64

9 days old master:
#1505 (comment)

Linky:
https://drive.google.com/file/d/0B0YqMPjGo3B2R0lONW9KZ3NXamc/view?usp=sharing

@gonetz
Copy link
Owner Author

gonetz commented Jun 29, 2017

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.

@gonetz
Copy link
Owner Author

gonetz commented Jun 30, 2017

Current master:
https://drive.google.com/file/d/0B0YqMPjGo3B2WVVrT01BVi0wS2M/view?usp=sharing

@Frank-74
Copy link

Frank-74 commented Jun 30, 2017

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.

@Aquatakat
Copy link
Contributor

@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.

@Frank-74
Copy link

Frank-74 commented Jul 1, 2017

@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.

@Aquatakat
Copy link
Contributor

Thanks.

@AmbientMalice
Copy link
Contributor

I notice that some objects have rainbow hues when per-pixel lighting is enabled.

@elcorsico
Copy link

thanks all ;-)

@gonetz
Copy link
Owner Author

gonetz commented Jul 17, 2017

Current master:
https://drive.google.com/file/d/0B0YqMPjGo3B2eDdNZzk5ZUhYYjA/view?usp=sharing

Ucode for hey you pikachu implemented.

@gonetz
Copy link
Owner Author

gonetz commented Jul 30, 2017

@gonetz
Copy link
Owner Author

gonetz commented Aug 11, 2017

Current master:
https://drive.google.com/file/d/0B0YqMPjGo3B2aGdxVG1JZHU5Qlk/view?usp=sharing

Fixed capture with OBS studio.
Star Wars Rogue Squadron HLE.

@AmbientMalice
Copy link
Contributor

AmbientMalice commented Aug 11, 2017

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.

@gonetz
Copy link
Owner Author

gonetz commented Aug 11, 2017

Ok, next time I'll put configs too.

@GamingTVYT
Copy link

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).

@AmbientMalice
Copy link
Contributor

@GamingTVYT GLideN64 doesn't have an HLE implementation of Battle for Naboo. (Yet.) It falls back on LLE, which is much, much slower.

@ofernandofilo
Copy link

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

@ofernandofilo
Copy link

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

@gonetz
Copy link
Owner Author

gonetz commented Sep 17, 2017

@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.

@gonetz gonetz closed this as completed Sep 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests