You are not logged in.
Hi!
Several months ago I detected and reported about an issue in AdvanceMAME when I use TAB key for go to ingame menus, but I have no answer. This issue happens in four computers, all of them with similar hardware (intel processor and NVIDIA graphics) and, of course, ArchLinux.
https://sourceforge.net/p/advancemame/bugs/279/
X Error of failed request: GLXBadContextTag
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 5 (X_GLXMakeCurrent)
Serial number of failed request: 472
Current serial number in output stream: 472
I investigated and I think the problem is beacuse xorg-server 1.20.5-3 is compiled with libglvnd-1.2.0. The changes that was done here broke some calls from AdvanceMAME code to Xorg-server.
https://git.archlinux.org/svntogit/pack … c23cad4543
I tried to recompile again and again AdvanceMAME from AUR, all finish well but issue is always presents when I press TAB or ESC keys. Currently, I have a dirty solution, an old xorg-server 1.19-git compiled from AUR mixed with actual xorg-server-common, etc. packages in 1.20.8-1 version, but this some day will stop working.
Who must solve this problem? AdvanceMAME developers? Freedesktop or Xorg-server developers? Xorg-server maintainers for ArchLinux ? Or Community with a patch than could be included in AUR AdvanceMAME compilation? Too many alternatives and could be more ![]()
Thanks!!
Last edited by CyberConan (2020-04-07 17:04:31)
Offline
I kinda doubt that xorg-server change is the cause, but there are ways to narrow things down .
Let's first verify if the problem lies with nvidia driver or not.
Does one of those systems have an intel gpu ?
If so, fully update it and run mame on the intel gpu .
Incase none of those has an intel gpu , try running with nouveau .
Does that give the same issue / error message ?
Last edited by Lone_Wolf (2020-04-08 13:07:44)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Hi! You are in good way. When I use my normal xsession with glx over NVIDIA, advmame crash.
[karl@CyberPortatil system]$ glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
If I launch another xsession in same computer, glx is over Mesa and advmame not crash when I access to menus.
[karl@CyberPortatil system]$ glxinfo
name of display: :1
display: :1 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_libglvnd, GLX_EXT_no_config_context,
GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
GLX_SGI_make_current_read
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
Regards!
Edit: Maybe using Xephyr for launch advmame could be another temporal solution better than have an old xorg-server version.
Last edited by CyberConan (2020-04-08 13:45:56)
Offline
Ok, that rules out xserver as cause for now.
xorg server 1.20.5-2 was in repos 30-Jun-2019 09:54 and replaced by 1.20.5-3 on 25-Oct-2019 07:08 .
That gives us a timeframe to figure out when the change that makes mam e crash occurred.
I suggest you use the Arch Linux Archive to go back to jun 30 2019 on 1 machine .
Test mame, If it works on that date, advance somewhat and check again.
When you find a certain date doesn't work, you go back in time a bit.
After some tries ( I doubt it will b emore then 10) we'll have the first date when things broke.
We use pacman.log and compare the first bad date with the last good date.
That should give us a shortlist of package updates that might be causing the issue.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Ok, that rules out xserver as cause for now.
No! We can't rule xorg-server. I detected the issue at 26-oct-19, one day after new xorg-server (when I post in advmame forum the issue detected).
This xorg-server 1.20.5-3 version is the first than was compiled adding glvnd.patch for use the NVIDIA library for GLX (Mesa use their own library). It's not clear yet, maybe xorg-server in other linux distro is compiled with different patch than don't broke advancemame (but I only have Arch distros in my home).
Offline
Nuances are important, you may have missed the 'for now' .
I'll try to be more clear.
What we know now is :
xorg-server 1.20.8-1 + intel + advmame works
xorg-server 1.20.8-1 + nvidia + advmame crashes when using tab key to open menus
You first noticed the issue after xorg-server was updated to 1.20.5-3
replacing only xorg-server with a 1.19 version doesn't give the issue
This suggests that xorg-server changes are related to the problem, but there are other factors .
Please use the arch linux archive to revert one of your systems to these specific dates and test :
25 october 2019 - has xorg-server 1.20.5-2
26 october 2019 - has xorg-server 1.20.5-4 [1]
24 november 2019 - has xorg-server 1.20-6-1 [2]
Once we know for certain on which of those 3 snapshots advmame breaks, we can continue investigating the differences.
[1] xorg-server 1.20.5-3 was only a few hours in repos, but xorg-server 1.20.5.4 has the same glvnd patch
[2] with xorg-server 1.20.6-1 upstream (xorg developers) made their own changes to work with glvnd 1.20 . Their code was different from the code used in the archlinux patch.
Every distro that uses xorg-server 1.20.6 or later should have the same glvnd 1.20+ support changes as archlinux .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Ok, then the error could be in AdvanceMAME code when it call to GLX. Until they fix it, everyone than have same issue could play advmame using something like this:
advmame-mesa.sh
#!/bin/sh
Xephyr :15 -ac -fullscreen -host-cursor -once &
DISPLAY=:15 advmame $@
killall Xephyr
Regards!
Offline