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
Auto-selection of X11 platforms fails with Nvidia drivers (470 and 515) using LXDE #2467
Comments
Ubuntu Frame does not currently include support for Nvidia drivers But this trace looks like you are trying to run hosted on another desktop that supports X11. And running on X11 could work. Can you try the following?
|
@AlanGriffiths that works like a charm and yes sure this uses x11 as this is ubuntu and that has no wayland support for nvidia graphic so it uses some kind of adapter the x11 one i guess but ya the command works. We should keep that open to maybe integrate better detection for that scenario as you where able to see it i guess we can code rules for that. This is a Normal Ubuntu install so it is a general usecase for people that own nvidia cards and use the original nvidia driver. |
@frank-dspeed thanks for checking that. It clarifies what the problem is (selecting the right graphics & rendering platforms). This ought to work without specifying these platforms on the command line, and we'll look into it. I've updated the title to reflect the underlying problem. |
Not sure how general this problem is though, #1544 doesn't mention this difficulty |
Maybe it is importent so i add to the Issue description that i am using a Nvida 970 GTX maybe there are problems that are related |
@AlanGriffiths Oh i think i got now why it is not so general for you i am using LXDE! I am using the Lubuntu Desktop |
[These are problem solving notes for future reference, not an attempt at a solution] It looks like the confusion arises with the gbm-kms probing of the nvidia card here:
That rates By comparison, on a laptop using the i915 intel driver we see the following:
We then go on to select the (
But when we go on to the rendering platform we see:
We select both the ( I'm not sure why this rendering platform is selected along with |
I will investigate and also use my intel onboard graphics and connect a monitor to that to see what happens as soon as you tell me then we can look into the hybrid support stuff |
The hybrid support isn't complete. (Yet.) But it does complicate the logic for selecting display and rendering platforms. |
I've now got my system running on Nvidia and can reproduce. In view of the above analysis I tried the effect of:
But this still fails to start. Surprisingly, (as the display platform was already correctly selected) this works:
|
so it chooses the correct platform but not the correct libs |
platform and libs are the same in this context |
Update: the above analysis led me to an incorrect hypothesis. If I build and run Frame outside the snap container it works as expected and, despite my concerns above, there are multiple rendering platforms selected. The same with various other Mir based servers. Unpacking the snap and using the binaries from within it also works. (Here's the command I used for reference:
Running the snap unconfined doesn't work, so it probably isn't a confinement issue. |
Update: after getting some "works when expected to fail" surprises, I think (not figured out how to arrange this on demand) that problems only occur when the |
then we need to build some priority list struct and use that to stort the results i guess. |
There's a bunch of interacting problems here:
But all this means that I have a simpler workaround that I can add to the default snap configuration:
[Update] that workaround proved unreliable |
i would say lets try them all and return first working and then in addition we will set a priority on the trys to reduce trys if needed. we start with the first that we think that is correct and start over till we have nothing left or anything works. we also log what worked to reduce trys on next start maybe we can persist last know working config and so on as also return usefull errors with a meaning. we only need to trigger every platform and renderer combination |
OK, I've discussed briefly with @RAOF who is working on the multi-platform support and the underlying issue with selecting the right "hosted" platforms will be swept up with that. In the meantime, for Ubuntu Frame I've incorporated a workaround that resolves things well enough for now. @frank-dspeed, you can test the workaround out with:
That will likely take around a week to reach |
@AlanGriffiths works like a charm
|
@frank-dspeed, if you could comment on the PR it might help speed the review process. |
See canonical/mir#2467 We do this here, not in the graphics-core20 quirks because #72
only for people that look into this because the find the issue this is closed when: by canonical/ubuntu-frame@95aa46a and is already merged expect it with the next release. |
Reopening as the problem still exists in Mir and there's only a partial workaround in Frame |
Solved by #2556 |
2562: Release 2.9.0 r=AlanGriffiths a=AlanGriffiths ## ABI summary: * miral ABI bumped to 5 * mircommon ABI unchanged at 9 * mircookie ABI unchanged at 2 * mircore ABI bumped to 2 * miroil ABI bumped to 2 * mirplatform ABI unchanged at 23 * mirserver ABI unchanged at 58 * mirwayland ABI unchanged at 3 * mirplatformgraphics ABI unchanged at 20 * mirinputplatform ABI unchanged at 8 ## Enhancements: * [Wayland] Implement zwp_idle_inhibit_manager_v1 * [Wayland] Implement zwlr_virtual_pointer_v1 * [Wayland] Implement zwp_text_input_manager_v1 (Electron works with OSK) * [Wayland] Bump wl_seat to v8 and implement hi-res scrolling (Fixes: #2176, Fixes: #2499) * [Wayland platform] improve failed to connect error * [Wayland platform] Port to xdg-shell (Fixes #1903, Fixes: #2434) * [MirAL] Allow `--add-wayland-extenions all` * [MirAL] Allow servers to get repeated string options * [MirAL] Improvement to ExternalClientLauncher: Don't force clients to split command lines themselves * [MirAL] Tidy up event filtering API * [MirAL] Expose miral::Zone::id() * [Input] Filter 2 distinct bogus touch event scenarios (UBports) * [gbm-kms] new driver quirk to disable KMS modeset probe * [gbm-kms] Add defaults to driver-quirks for nvidia and evdi (Fixes: #2467) * [gbm-kms] Add defaults to driver-quirks for vc4-drm and v3d * [mir-smoke-test-runner] Enable working in a Wayland only environment ## Bugs fixed: * Fix ABI breakage of libmircore.so.1 with v2.8.0 vs v1.8.2 (Fixes #2465) * [Wayland] Text Input v2: do not use commit count as serial * [Wayland] Send keyboard modifiers after keyboard enter (Fixes: #2535, Fixes: #2025) * [Wayland] wlr-screencopy-v1: send .damage event as required (wayvnc fix) * [Wayland] wlr-screencopy-v1: Waits until the copy area has been damaged in `.copy_with_damage` request (wayvnc fix) * [MirAL] Unblock signals before execing child processes (Fixes: #1284) * [eglstream-kms] Kill clients, not Mir, when they submit bad EGLStreams (Fixes: #2061) * [eglstream-kms] Handle EGL errors in devnum_for_device (Fixes: #2426) * [test clients] Explicitly ask for a GLESv2 context (Fixes: #2440) * [renderers/gl] Clear framebuffer to opaque black (Fixes: #2427) * CMake cleanup for locally built dependencies (Fixes: #2507, Fixes: #2261) * Fix event timestamps (Fixes: #2577) Co-authored-by: Alan Griffiths <alan@octopull.co.uk> Co-authored-by: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
NVIDIA Cards: 970 GTX
Nvidia Driver version: 470.129.06
x11 version: 1.20.13 (12013000)
Os Ubuntu Latest Greatest.
Desktop: Lubuntu is a light Linux distribution using the Lightweight X11 Desktop Environment (LXDE)
Current Related Issues
Workaround
The text was updated successfully, but these errors were encountered: