IRC channel logs

2024-10-27.log

back to list of logs

<almuhs>i've just found a new game which works in Hurd: freeciv
<almuhs>meanwhile, compiling wesnoth, i have this error
<almuhs>/usr/include/boost/asio/signal_set_base.hpp:66:21: error: ‘SA_NOCLDWAIT’ was not declared in this scope; did you mean ‘SA_NOCLDSTOP’?
<almuhs> 66 | no_child_wait = BOOST_ASIO_OS_DEF(SA_NOCLDWAIT),
<almuhs>xboard works too
<damo22>hmm i think gfx console is working 100%
<damo22>80x25 though
<damo22>somehow the console isnt being configured to maximum dimension
<damo22>but it works
<almuhs>i use xrandr to change the xorg resolution
<almuhs>but i don't know how to change the console resolution
<damo22>no i mean i wrote a gfx console driver for hurd console
<almuhs>oh, i know
<damo22>something is configuring the console to be 80x25
<damo22>but now it supports more
<almuhs>before or later than grub?
<almuhs>because grub can set resolution
<damo22>in hurd
<damo22>/bin/console with -d vga now has framebuffer support
<almuhs>great
<almuhs>i think that this is necessary to a future hardware acceleration
<almuhs>at least for Xorg
<damo22>its needed so we have a console when EGA text mode is not set as the video mode
<almuhs>yes
<damo22>currently X and VT cannot work
<damo22>because there is no graphical console
<almuhs>Xorg can a framebuffer driver. Maybe you can connect it to your driver
<damo22>yes, it should work with VESA
<damo22>the framebuffer can be reused from grub
<almuhs>i doesn't refers to vesa
<damo22>but vesa can pass through the existing mode
<almuhs>yes
<damo22>so no modesetting needs to occur
<almuhs>yes
<almuhs>i refered to package xserver-xorg-video-fbdev, which currently doesn't works
<damo22>coreboot sets up the intel gpu as a framebuffer and uses seabios which has SeaVGABIOS : that exposes the existing framebuffer as a VESA device
<damo22>fbdev wont work
<damo22>but now i have reused the grub framebuffer in multiboot table to pass through to hurd console
<almuhs>great
<almuhs>i have researched about opengl bug. I found that, some years ago, there was some games which showed the same error than we have now in wesnoth and others
<damo22>so the steps are coreboot -> gfxinit -> seavga VESA -> grub -> X or hurd console
<damo22>but X gets mode from VESA
<almuhs>maybe it's necessary to compile the games with a specific flag?
<almuhs>ok
<damo22>opengl mesa has swrast
<almuhs>what is swrast?
<damo22>software rasteriser driver for opengl
<almuhs>yes
<damo22>there may be a way to force that mode
<damo22>using environment variable
<almuhs>but, why it works with some games but not with others?
<damo22>missing env var
<almuhs>i tried to forced OpenGL indirect, but then the DE doesn't boots
<damo22>you can force it inside X terminal
<damo22>not to start x
<almuhs>ok, i added that to xorg.conf
<damo22>try to get output from glxinfo
<almuhs>like that
<almuhs> https://askubuntu.com/a/932912
<damo22>LIBGL_DEBUG=verbose glxinfo
<almuhs>ok, i'm installing glxinfo
<damo22>mesa-utils
<almuhs>yes
<almuhs>but i have the same error
<damo22>what error
<almuhs>pasteboard doesn't works, so I'm searching how to see the image
<almuhs>Xlib: sequence lost ... and a failure in X_GlxIsDirect
<damo22>apt install pastebinit
<damo22>then you can pipe commands into | pastebinit to paste it to paste.debian
<damo22>wow my console works! startx and then kill the xserver returns to graphical console!
<almuhs> https://paste.debian.net/hidden/2b1039f2
<almuhs>shit
<almuhs> https://paste.debian.net/hidden/04ccb5a9
<almuhs>this
<almuhs>i had to remember how to redirect error output using a pipe
<almuhs>this is the glxinfo output
<almuhs>with verbose options I get the same
<damo22>ok so you need to enable indirect glx
<almuhs>i tried to enable in xorg.conf, but then the DE didn't start
<almuhs>i put that
<almuhs>Section "ServerFlags" Option "AllowIndirectGLX" "on" Option "IndirectGLX" "on" EndSection
<almuhs>i don't know how to set in the console
<damo22>Xorg -iglx ?
<damo22>i have the same problem
<damo22>i think the correct flag is +iglx
<damo22>but it doesnt work here
<almuhs>but, where can i apply this flag?
<almuhs>because i need to run a DE
<damo22>instead of startx
<damo22>Xorg +iglx +extension GLX
<damo22>(II) IGLX: Loaded and initialized swrast
<damo22>(II) GLX: Initialized DRISWRAST GL provider for screen 0
<damo22>but the DE doesnt start
<almuhs>in anywhere i have to indicate the DE
<almuhs>or i have to set a value in xorg.conf
<almuhs>now Xorg is broken. Even don't boot with startx
<almuhs>this afternoon i got the same, but i don't remember how i solved it
<damo22>its not broken, it is on but no drawing is occurring
<damo22>glxgears reports working
<almuhs>the DE don't boot
<damo22>$ glxgears -display :0
<damo22>21103 frames in 5.1 seconds = 4145.972 FPS
<damo22>16280 frames in 5.0 seconds = 3256.000 FPS
<damo22>but it doesnt appear on the screen
<damo22>its black
<almuhs>yeah, and no mouse
<almuhs>or mouse but no move
<almuhs>so, where can be the problem now?
<almuhs>now the games doesn't show glx error, but due to i can only run the command from ssh, i can't see in the screen
<almuhs>pruebas@debian-hurd:~$ glxinfo -display :0
<almuhs>name of display: :0
<almuhs>Xlib: sequence lost (0x10014 > 0x16) in reply type 0x0!
<almuhs>Xlib: sequence lost (0x10019 > 0x1b) in reply type 0x0!
<almuhs>Xlib: sequence lost (0x1001e > 0x20) in reply type 0x0!
<almuhs>Xlib: sequence lost (0x10023 > 0x25) in reply type 0x0!
<almuhs>Xlib: sequence lost (0x10028 > 0x2a) in reply type 0x0!
<almuhs>display: :0 screen: 0
<almuhs>direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
<almuhs>server glx vendor string: SGI
<almuhs>server glx version string: 1.4
<almuhs>Xorg is fixed, but we need to fix the DE configuration to support it
<damo22>yeah so the game is working but its not displaying anything...
<almuhs>yeah. because i can get a menu or terminal in the desktop
<almuhs>can'
<almuhs>can't
<almuhs>i don't know if, from ssh, i can redirect the image to the display
<damo22>xinitrc
<damo22>has a startup script for Xorg
<almuhs>yes, i use that to start openbox
<almuhs>with exec
<almuhs>exec openbox-session
<almuhs>but, if i enable indirect, openbox doesn't load
<almuhs>neither any other desktop
<damo22>same
<almuhs>and Xorg bug?
<almuhs>is this a Xorg bug?
<almuhs>maybe lacks any irq
<damo22>idk
<damo22>it shouldnt need anything to write to the framebuffer, just its address and w h
<almuhs>we need to debug Xorg
<almuhs>but not today: 6:35 AM in Spain, i have to go sleep
<almuhs>bye
<damo22>#0 __strlen_sse2_bsf () at ../sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S:49
<damo22>#1 0x01be6d9a in ?? () from /lib/i386-gnu/libxkbcommon.so.0
<damo22>#2 0x01be8c1f in xkb_keymap_mod_get_index () from /lib/i386-gnu/libxkbcommon.so.0
<damo22>#3 0x01bea9d2 in xkb_state_mod_names_are_active () from /lib/i386-gnu/libxkbcommon.so.0
<damo22>#4 0x01bc1c3b in execute_action (keycode=107) at ../../console-client/xkb/xkb.c:118
<damo22>when i press delete key i get segfault
<damo22>but backspace works
<damo22>youpi: i think i found a bug in libxkbcommon0 state.c:
<damo22> va_start(ap, match);
<damo22> while (1) {
<damo22> xkb_mod_index_t idx;
<damo22> const char *str = va_arg(ap, const char *);
<damo22> if (str == NULL)
<damo22> break;
<damo22> idx = xkb_keymap_mod_get_index(state->keymap, str);
<damo22>somehow str == 0x0, but it does not break, it continues to call xkb_keymap_mod_get_index with a NULL str
<damo22>must be overrun stack?
<damo22>buffer
<damo22>process_keypress_event (keycode_t keycode)
<damo22>char buf[100];
<damo22> https://paste.debian.net/hidden/018c6fff/
<azert>damo22: did you fix the 80x25 problem? On vga I think it is hardcoded define VGA_DISP_WIDTH, that should be a variable
<azert>Also, do you display the mouse pointer?
<damo22>yes mouse pointer works
<damo22>i did make the VGA_DISP_WIDTH detected
<damo22>but something else is restricting the width and height
<damo22>perhaps it uses ncursesw
<damo22>azert: is it legitimate to pass "blah" as a vararg?
<damo22>how does that work?
<azert>I don’t understand the question
<azert>vararg is syntactic sugar for passing as many parameters as one wants
<damo22>xkb_state_mod_names_are_active(struct xkb_state *state, enum xkb_state_component type, enum xkb_state_match match, ...)
<damo22>the 4th argument is a const string
<azert>Do you mean is it legitimate to pass a string literal as a vararg?
<damo22>yes
<azert>That would be passing a pointer
<azert>I think it is
<damo22>its strange because the pointer is NULL
<damo22>but its not detecting the null
<damo22>gdb says its NULL
<damo22> const char *str = va_arg(ap, const char *);
<damo22> if (str == NULL)
<damo22> break;
<damo22> idx = xkb_keymap_mod_get_index(state->keymap, str);
<damo22>its supposed to break
<azert>It’s probably gdb that is confused
<damo22>i dont think it is, its definitely calling the xkb function with a null pointer
<azert>Can you check the stack directly?
<damo22>yes
<damo22>actually, how do i inspect the 4th arg
<damo22>in the gdb frame
<damo22>#3 0x01bea9d2 in xkb_state_mod_names_are_active (state=0x2003af10, type=XKB_STATE_MODS_EFFECTIVE, match=XKB_STATE_MATCH_ALL)
<azert>x86 passes them all on the stack
<damo22>0x0000006b
<damo22>its not NULL!
<damo22>its the scan code
<azert>Ok
<damo22>but its supposed to be a pointer to a const string
<azert>It’s treated as an array
<azert>I think you found a bug
<azert>When you declare a literal string on the stack, it may be not a pointer
<azert>Try adding an explicit char* = string in the caller
<azert>So you pass the actual pointer
<damo22>ok i fixed it kindof
<damo22>i worked hard on this to get it over the line and mailed in, i actually go back to work tomorrow, ive been on holiday
<damo22>goodnight