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
Override unnecessary NVidia driver? #380
Comments
I'd have a go myself, but I'd have to set up a development environment somehow. |
I'm reluctant to add a simple override because if the NVidia GPU is actually used and the corresponding flatpak driver isn't installed, WebKitGTK crashes as soon as it gets a chance. I'm afraid that once I add the possibility to override the check, users will use it even if Nvidia is the only GPU on their machine. Sadly, users just do these things without thinking. On the other hand, we can work on the BumbleBee detection. The hardest task is up to you: How to reliably detect that a user does have Optimus and the NVidia driver is not used? Is there any clue in /sys or /proc? Is there any command line tool to check that? And does that work also under (X)Wayland? For example, I know how to detect a current graphics driver under X11, but no idea how to do that under (X)Wayland. |
There are definitely no clues in /sys or /proc because you get to choose which to use when you run each application. For example:
The I guess the environment settings don't make it into the flatpak? Alternatively you might be able to detect that the bumblebeed service is running? |
This works for me:
|
I don't believe Wayland is much of an issue here. I usually run Wayland these days. |
Nuvola does not have access to the list of host processes. |
Oh, not helpful. I see some stuff that might help under
|
It is possible to expose these to flatpak, but that only indicates that i915 driver is loaded and user has bumblebeed. Under X11, I can query X Server to find out whether i915 or nvidia is used, but I cannot do that under Wayland. |
What's the content of the variables then?
Could you check that with Nuvola ADK? |
The |
So, if the bumblebeed.service is detected, can we safely assume that the integrated card is used by default? Since the |
Yes, that seems correct. Even if the variables were set, they wouldn't point at any files the flatpaks can see. |
Wheee, Gnome just released the 384-90 drivers, so I can run Nuvola again .... .... and Arch just released the 387-12 drivers, so it'll break next time I update. This is a problem that isn't going to go away for those that actually use the NVidia GPU. |
There is nothing I can do about that. If you have any suggestion how to tackle this problem, flatpak bug tracker is the right place for that. |
/sys/module/i915 and /sys/fs/cgroup/pids/system.slice/bumblebeed.service must exist. Issue: #380 Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>
Nuvola now skips NVidia GL driver check if /sys/module/i915 and /sys/fs/cgroup/pids/system.slice/bumblebeed.service are detected. I'm going to rebuilt flatpaks with this change and expose these paths in devel flatpaks for you to test it. Once it is verified, I'll rebuild stable flatpaks as well. |
@a-m-s, could you upgrade the nvidia driver and check that the latest devel builds of Nuvola detect correctly that the Nvidia driver is not needed? |
I upgraded the driver, confirmed that the old Nuvola did not run anymore and then did flatpak update. The new Nuvola gave a warning message about i915 driver, but allowed me to continue, and ran successfully. I then noticed that the flatpak update had also added a new NVidia driver, so I did flatpak uninstall of that a tried again. Nuvola now gives two driver warnings and will not run.
I looks like we might need the same trick in more than one place? |
I just noticed that says i965, not i915 as I said above. I'm not sure what that is about? |
I certainly need to add more debugging info around these checks to investigate it further. It's hard to debug that if I don't have access to a laptop with optimus. |
Issue: #380 Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>
Could you test again with Nuvola 4.8.18 and provide me with a debugging output to investigate it further? Thanks. Also, if you see broken fonts, take a look at #388. |
I did "flatpak update", then uninstalled the nvidia flatpak, then followed your debug dump instructions, and the app worked this time! Nuvola --debug:
NuvolaJupiterBroadcasting --debug:
|
Indeed, i915 & bumblebeed were detected, so the Nvidia driver check was skipped. |
Nuvola 4.9.0 is mostly a maintenance release as most of energy is invested in the Chromium port of Nuvola and the development of other features has slowed down. The current status of this ambitious effort will be described in a separate announcement. Enhancements: * **URL entry widget** was added: Press Ctrl+L or click the *gear menu* button → *Load URL* to display/change the current URL. * Updated script: **Yandex Music 1.5** was adopted by Aleksey Zhidkov and enhanced with an integrated Like button. An album art fix by Alexander Konarev has been also incorporated. Issue: tiliado/nuvola-app-yandex-music#2, tiliado/nuvola-app-yandex-music#10. * Updated script: **SiriusXM 1.4** by Jiří Janoušek. Metadata parsing adapted to recent SiriusXM changes. * Updated script: **BBC iPlayer 1.3** by Andrew Stubbs. Fixed integration of radio shows, added integration of progress bar, volume bar and skip action. * New script: **NPR One 1.0** by Jiří Janoušek. * Page **loading indicator** was added. Issue: #229 * If Bumblebeed is detected, Nuvola assumes that the integrated Intel graphics card is the primary and skips unnecessary checks for an NVidia flatpak driver. Issue: #380 * Various fixes regarding VDPAU & VA-API drivers. Issue: #380 Under the hood: * WebKitGTK >= 2.18.0 is required. * If Nuvola is told that WebKitGTK supports MSE, it checks whether it is so and aborts otherwise. Don't use `--webkitgtk-supports-mse` if it isn't true. * Fixed various memory leaks. * Ongoing optimizations to replace synchronous IPC calls with asynchronous variants. * [ValaCEF project](https://github.com/tiliado/valacef) has been created to provide Nuvola with Vala bindings for Chromium Embedded Framework (CEF). Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>
I'm getting "Graphics driver 'nvidia-384-90' for Flatpak has not been found on your system." which means Nuvola player won't run on my computer unless I downgrade (or unload) the graphics driver or wait for Gnome to bundle the updated runtime in the flatpak.
However, my machine has an NVidia Optimus setup, which basically means there's both Intel and NVidia GPUs and I can switch between them using BumbleBee.
The point is, Nuvola should not even need the NVidia runtime. Even though the NVidia modules are installed I'm not actually using them most of the time.
Please provide a means to override and launch anyway, or else detect that BumbleBee and/or the i915 driver is also present.
The text was updated successfully, but these errors were encountered: