Closed crocket closed 3 years ago
video driver: gl
You need the glcore
video driver.
Assuming you are using a not-too-old version of RetroArch, and you didn't disable Settings > Core > Allow Cores to Switch the Video Driver
(which you should never disable), it should happen automatically.
With
export MESA_GL_VERSION_OVERRIDE=4.5CORE
export MESA_GLSL_VERSION_OVERRIDE=450
kronos libretro core runs, but the fps is near 30. It's unplayable.
Retroarch version 1.9.10 which is the latest stable version.
List of available video drivers
I installed retroarch with glcore and used glcore as the video driver.
kronos core still requires something like
export MESA_GL_VERSION_OVERRIDE=4.3CORE
export MESA_GLSL_VERSION_OVERRIDE=430
Its FPS is consistently below 50. It stutters a lot. It's unplayable.
I tried executing standalone kronos. I got this error.
Can't set translation file
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Using OpenGL 4.3
Glew can not init
Error: Cannot initialize Glew
Kronos requires at least a 4.3 opengl context. The egl context can not be created, so that means by default your driver is not able to provide a valid context as required by kronos
Are you using the mesa driver? Did you compile by your own?
On gentoo linux, most packages including retroarch and libretro-kronos are compiled. mesa-21.1.7 was compiled with these options.
+X
-abi_x86_32
+classic
-d3d9
-debug
+dri3
+egl
+gallium
+gbm
-gles1
+gles2
+llvm
-lm-sensors
-opencl
-osmesa
-test
-unwind
-vaapi
-valgrind
+vdpau
-video_cards_i915
-video_cards_i965
-video_cards_intel
-video_cards_iris
-video_cards_nouveau
-video_cards_r100
-video_cards_r200
-video_cards_r300
-video_cards_r600
+video_cards_radeon
+video_cards_radeonsi
-video_cards_virgl
-video_cards_vmware
-vulkan
-vulkan-overlay
+wayland
-xa
-xvmc
-zink
+zstd
https://wiki.gentoo.org/wiki/Radeon says
OpenGL 4.2+ is currently only supported on CYPRESS, CAYMAN and ARUBA (non-mobile HD6xxx or better). Other chips are limited to OpenGL 3.3 due to lacking 64-bit arithmetic.
My HD 6450 loads CAICOS firmwares.
Ok. I see gles support, maybe kronos is trying to use this.
What was the result of the cmake command when you built standalone version of kronos?
Le ven. 1 oct. 2021 à 08:43, crocket @.***> a écrit :
On gentoo linux, most packages are compiled. Mesa was compiled with these options.
+X -abi_x86_32 +classic -d3d9 -debug +dri3 +egl +gallium +gbm -gles1 +gles2 +llvm -lm-sensors -opencl -osmesa -test -unwind -vaapi -valgrind +vdpau -video_cards_i915 -video_cards_i965 -video_cards_intel -video_cards_iris -video_cards_nouveau -video_cards_r100 -video_cards_r200 -video_cards_r300 -video_cards_r600 +video_cards_radeon +video_cards_radeonsi -video_cards_virgl -video_cards_vmware -vulkan -vulkan-overlay +wayland -xa -xvmc -zink +zstd
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/FCare/Kronos/issues/1166#issuecomment-931953419, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADMXWCHVSZQEPQ3N5V44XV3UEVKATANCNFSM5FCNRUKQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.1") found components: doxygen missing components: dot
CMake Deprecation Warning at src/tools/libchdr/deps/zlib-1.2.11/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for wcsdup
-- Looking for wcsdup - found
-- Performing Test VARIADIC_MACROS_OK
-- Performing Test VARIADIC_MACROS_OK - Success
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for floorf
-- Looking for floorf - found
-- Looking for _wfopen
-- Looking for _wfopen - not found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for stricmp
-- Looking for stricmp - not found
-- Performing Test BSWAP16_OK
-- Performing Test BSWAP16_OK - Success
-- Performing Test BSWAP32_OK
-- Performing Test BSWAP32_OK - Success
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found OpenGL: /usr/lib64/libOpenGL.so
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- OPENGL Core supported
-- Found GLUT: /usr/lib64/libglut.so
CMake Warning at src/CMakeLists.txt:388 (message):
Deprecated Glut found. Support will be removed in the future.
-- Looking for glXGetProcAddress
-- Looking for glXGetProcAddress - found
-- Found GLEW: /usr/include
-- Found SDL2: /usr/lib64/libSDL2main.a;/usr/lib64/libSDL2.so;-lpthread
-- Found OpenAL: /usr/lib64/libopenal.so
-- CMAKE_SYSTEM_NAME Linux
-- CMAKE_SYSTEM_PROCESSOR x86_64
-- Looking for linux/joystick.h
-- Looking for linux/joystick.h - found
-- Performing Test LINUX_CDROM_H_OK
-- Performing Test LINUX_CDROM_H_OK - Failed
-- Qt5 Found
-- Configuring done
-- Generating done
-- Build files have been written to: /path/to/Kronos/yabause/build
I discovered that libretro-flycast requires OpenGL 3.1 and above and libretro-kronos requires OpenGL 4.2 and above.
According to glxinfo -B
, AMD HD6450 supports OpenGL 3.1 by default and is reported to be compatible with OpenGL 3.3.
export MESA_GL_VERSION_OVERRIDE=4.3CORE
export MESA_GLSL_VERSION_OVERRIDE=430
makes libretro-kronos work at a slow speed that's not playable.
It's weird that it is easier to emulate dreamcast.
List of available video drivers
- gl
- gl1
- sdl2
- xvideo
- x11
Oh, meaning you built RA without support for glcore
, you shouldn't because some cores require glcore
to work properly, see https://www.libretro.com/index.php/changing-behavior-of-gl-and-glcore-video-drivers/
I wrote above that I built with glcore again. It still is slow.
It still is slow.
Which is perfectly normal on an ultra-low-end gpu like yours. Kronos requires a decent gpu.
Jet Set Radio runs smoothly on my machine on flycast.
What is the difference between flycast and kronos?
What is the difference between flycast and kronos?
Sega Saturn is a much more complex system than Sega Dreamcast. Also, never compare apples with melons.
Which affordable GPUs do you recommend for linux? I don't need expensive ones because I am not interested in playing the latest games. I'm interested in playing old games.
Sega Saturn is a much more complex system than Sega Dreamcast.
There is a saying that simplicity is the highest form of sophistication. Dreamcast is more powerful than saturn, yet it is easier to emulate due to its simplicity.
The lesson is that is is easy to emulate a powerful but simple system.
Complexity is not the only problem here, the other problem is that Sega Saturn used a method to draw 3D that doesn't translate well into modern gpu. Ultimately, age simply doesn't matter when it comes to emulating a system, did you know pong (arcade) is one of the most demanding 2D games emulated by MAME ?
There is also the matter of the goal of the emulator, Kronos is trying to be as accurate as possible, on the other hand reicast (which was the basis for flycast) was originally written to run on smartphones, and had to cut many corners to achieve decent speed on those devices (many games can't run properly because of this).
Don't expect achieving anything good with a low-end gpu on Kronos, if you don't plan on buying something at least mid-end (usually 150-200$, but with the components shortage there was a crazy inflation), you are better using mednafen/beetle-saturn which only use software rendering.
I had better results with mednafen saturn, but I need to learn how to make mednafen saturn utilize AMD turbo core for any chance at full speed.
With mednafen saturn, sengoku blade was very playable, but the audio was crackling on dungeons & dragons collection. I don't know whether dungeons & dragons collection is also slow on other people's computers.
It turns out that audio crackling and FPS drops on mednafen saturn libretro core were caused by xmrig CPU cryptocurrency miner which was constantly occupying 3 cores out of 8 cores in AMD FX-8300. xmrig was also occupying L2 and L3 caches.
Freeing CPU cores, L2 cache, and L3 cache by pausing xmrig allowed mednafen saturn to run dungeons & dragons collection at full speed on retroarch.
AMD FX-8300 is powerful enough to handle CP System 2, Irem M-92, Sega Genesis, Sega Dreamcast, NES, and SNES while xmrig is running.
Is AMD HD6450 GPU going to be inherently slow on kronos anyway?
AMD HD6450 GPU
It has a passmark (benchmark) of 199, my old gtx460 (mid-end gpu i bought more than 10 years ago) already had a passmark above 2000, so even by the standards of 10 years ago your gpu was ultra-low-end.
It can still run jet set radio smoothly. And, it should be powerful enough to run dungeons & dragons collection which is a simple 2D game for sega saturn.
For now, try to change your gpu.
Is AMD RX460 powerful enough to run games on kronos smoothly?
https://yewtu.be/watch?v=-4VDNPCAGpc shows that GTA 5 runs smoothly with RX460.
Is AMD RX460 powerful enough to run games on kronos smoothly?
No idea, all i can say is that the gtx960 i bought a few years ago has 1.5X those perfs and is mostly fine up to 720p. Just a thing though : i'd never recommend buying an amd gpu, they have crappy opengl support.
I'm willing to consider nvidia if https://wiki.gentoo.org/wiki/Nouveau supports OpenGL well for affordable but modern nvidia GPUs.
In my memory, nvidia was known for not supporting linux open-source driver.
What does glxinfo -B
say for GTX960?
By the way, GPUs are too expensive now.
My ATI RX5500XT works perfectly :p
PS : What the fuck ? I never payed this price for my GPU. They're so high now.
I only want to play 2D games on kronos. Even GTX 750 Ti feels like an overkill for 2D games.
3D games only look good on Dreamcast, PS2, and later consoles. Earlier 3D games look like shit.
Which GPU do you recommend for playing 2D games on kronos? It better support OpenGL 4.3 and above and be affordable.
https://www.techconsumerguide.com/best-gpu-for-emulation-and-retro-gaming/
OpenGL 4.3, really important.
Perhaps, it's time to turn my Ryzen 5 5600X server into a desktop and my FX-8300 desktop into something else.
For some reason, it seems FX-8300 can't run dungeons & dragons collection always at full speed on mednafen.
By the way, what is wrong with nouveau? I was thinking of using GT 1030 with nouveau.
what is wrong with nouveau?
Proprietary can be up to 10 times faster depending on the gpu model
GT 1030
It's not a "good" gpu, it's yet another low-end gpu (about half the speed of the RX460 you mentioned above), i have absolutely no idea how it would perform with Kronos, my guess would be "very bad".
Perhaps, kronos can be optimized to run smoothly with GT 1030 in theory?
Perhaps, kronos can be optimized to run smoothly with GT 1030 in theory?
No, this is an accuracy-oriented emulator, we aren't interested in adding crappy speedhacks to smooth things for low-end gpus. Use another emulator, thanks.
I concluded that Ryzen 5 5600X has enough per-thread performance to run mednafen saturn.
Mednafen's Sega Saturn emulation is extremely CPU intensive. The minimum recommended CPU is a quad-core Intel Haswell-microarchitecture CPU with a base frequency of >= 3.3GHz and a turbo frequency of >= 3.7GHz(e.g. Xeon E3-1226 v3), but note that this recommendation does not apply to any unofficial ports or forks, which may have higher CPU requirements.
Single thread rating
Have optimization opportunities compatible with accuracy been exhausted?
Anyway, I will remember kronos when I finally buy a good GPU. Now is a bad time to buy a GPU.
Version: https://git.libretro.com/libretro/kronos/-/tree/f2359c25f3fc7180be1ad890ba477ad415957ef6
What's your frontend ? (standalone, libretro, ...) ?
retroarch
What's your OS ? (windows, linux, OSX, ...) ?
Gentoo Linux
What's your hardware ? (CPU, GPU, ...) ?
CPU // AMD FX-8300 GPU // AMD HD 6450
What's the storage type of the game (official cd, burned cd or cd image) ?
If applicable, what's the format of your cd image ? (cue/bin, ccd/img, iso, chd, ...)
CHD