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

Investigating on continuous crashes #2

Open
ivan-hc opened this issue Jan 30, 2024 · 5 comments
Open

Investigating on continuous crashes #2

ivan-hc opened this issue Jan 30, 2024 · 5 comments

Comments

@ivan-hc
Copy link
Owner

ivan-hc commented Jan 30, 2024

I use Nvidia.

Mesa is unable to find /usr/lib/libvdpau_nvidia.so, a library that normally should be in /usr/lib/vdpau/libvdpau_nvidia.so instead.

By mounting my driver on the Debian host to the JuNest guest (using an empty file "libvdpau_nvidia.so") I get different outputs.

For now this is what I'm mounting in the AppRun, on my PC:

$HERE/.local/share/junest/bin/junest -n -b "$ETC_RESOLV\
	 --bind /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nvidia.so.1 /usr/lib/libvdpau_nvidia.so\
	 --bind /usr/lib/x86_64-linux-gnu/librt.so.1 /usr/lib/librt.so.1\
	 --bind /usr/lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/libdl.so.2" -- $EXEC "$@"

the other libraries are the result of my investigation until now.

I'll keep to investigate until I reach new positive results.

@ivan-hc
Copy link
Owner Author

ivan-hc commented Jan 30, 2024

fsquillace/junest#344

@ivan-hc
Copy link
Owner Author

ivan-hc commented Jan 30, 2024

Installing libnih to get librt.so.1 and alro adding libdl.so.2 in the list of libraries to save reduces the size of the command I wrote above.

However, if I use

$HERE/.local/share/junest/bin/junest -n -b "$ETC_RESOLV\
	 --bind /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nvidia.so.1 /usr/lib/libvdpau_nvidia.so" -- $EXEC "$@"

the whole xorg session lags and no image is displayed in Hypnotix.

@ivan-hc
Copy link
Owner Author

ivan-hc commented Jan 30, 2024

I'll use this function to check the right libvdpau_nvidia.so library on the host and mount it:

# FIND THE VENDOR
VENDOR=$(glxinfo -B | grep "OpenGL vendor")
if [[ $VENDOR == *"NVIDIA"* ]]; then
        NVIDIAJSON=$(find /usr/share -name "*nvidia*json" | sed 's/ /:/g')
	export VK_ICD_FILENAMES=$NVIDIAJSON
	VENDORLIB="nvidia"
	export MESA_LOADER_DRIVER_OVERRIDE=$VENDORLIB
fi

HOST_VDPAU_DRIVER="--bind $(find /usr/lib -name *libvdpau*$VENDORLIB.so* | head -1) /usr/lib/libvdpau_nvidia.so"

this will mount /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nvidia.so.1 to the empty file in JuNest

@ivan-hc
Copy link
Owner Author

ivan-hc commented Feb 2, 2024

UPDATE: I've also built (on my PC) a script with AppimaGen and based on Debian Stable and Mint packages.

I get the same errors, so this is not an issue only related to JuNest.

[xcb] Unknown sequence number while processing queue
[xcb] You called XInitThreads, this is not your fault
[xcb] Aborting, sorry about that.
xcb_io.c:278: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.

also

libEGL warning: DRI2: failed to authenticate

as already wroite on the README of this repository.

simplescreenrecorder-2024-02-02_18.00.11.mp4.mp4

@ivan-hc
Copy link
Owner Author

ivan-hc commented Feb 3, 2024

For testing purposes, both versions are available in "Releases":

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

1 participant