You are not logged in.
Pages: 1
Hey all,
I've been tinkering with getting my graphics card in my laptop to work. I've got optimus-manager installed and using the proprietary nvidia and nvidia-prime packages. Everything works fine, I can boot into hybrid and everything seems to be normal. However, whenever I try to actually run an application with prime-run, the application window pops up but its entirely black; the window title bar shows fine, but the content is black. I tried running prime-run minecraft-launcher since it easily gives me a live log on the command line, and the only consistent error there is this (with the info log that comes before and after):
[Info: 2021-03-20 01:41:25.625757354: browser_window_std_gtk.cpp(105)] my_gtk_realize: 0x1b805c0
[0319/204125.625979:ERROR:browser_main_loop.cc(269)] Gdk: _gdk_frame_clock_freeze: assertion 'GDK_IS_FRAME_CLOCK (clock)' failed
[Info: 2021-03-20 01:41:25.631032821: root_window_gtk.cpp(322)] Window icon fixed successfully (AB#474691).
I was even trying without optimus-manager and just using nvidia and putting in a custom xorg config, but that resulted in the same error above. I've also tried running some of the different ways mentioned here, but they also result in the same error. If I run the glxgears app it seems to run ok, though. Everything else like minecraft-launcher or code result in a black window. It seems like they are "working", but no visuals obviously. Running without prime-run runs the program completely normal.
I'm on a Thinkpad X1 Extreme, with the GeForce 1650. I'm using KDE plasma as my DE, SDDM for login, and Grub for boot.
I'm not sure what info would be helpful so here's what I got:
I've tried with and without nvidia-drm.modeset=1 as a kernel parameter.
Optimus Manager xorg config: https://pastebin.com/FVSwBLcb
I have no other custom xorg configs.
$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile) (rev 02)
01:00.0 VGA compatible controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] (rev a1)
$ glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
$ prime-run glxinfo | grep "OpenGL renderer"
OpenGL renderer string: GeForce GTX 1650 with Max-Q Design/PCIe/SSE2
$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x43 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 1 associated providers: 1 name:modesetting
Provider 1: id: 0x256 cap: 0x2, Sink Output crtcs: 4 outputs: 3 associated providers: 1 name:NVIDIA-G0
$ nvidia-smi
Fri Mar 19 20:49:08 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.67 Driver Version: 460.67 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce GTX 165... Off | 00000000:01:00.0 Off | N/A |
| N/A 49C P8 5W / N/A | 6MiB / 3911MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1434 G /usr/lib/Xorg 4MiB |
+-----------------------------------------------------------------------------+
Last edited by ASTRELION (2021-03-20 01:55:01)
Offline
Try to disable the compositor (shadows & transparency stuff, shift+alt+f12 toggles it) - before you start the problematic process.
If that has no impact, try "/usr/lib/xscreensaver/atunnel -texture" and "/usr/lib/xscreensaver/atunnel -no-texture" from the xscreensaver package ("black" is typically a texture error and since glxgears appears to work… however, glxgears is also a very basic GL implementation, so the textures might not be relevant at all)
Online
Toggling the compositor didn't seem to have any effect.
I installed xscreensaver and both -texture and -no-texture seemed to work and look fine with and without prime-run.
Offline
Let's test fbo. fbo_firecube (from mesa-demos, there's a lot of fun stuff in there ;-)
If it doesn't work, pressing "q" allows you to cycle through texture formats.
Online
With and without prime-run seems to be identical. Works fine. ;(
Offline
Let's see how narrow the problem actually is. "code" is electron, ie. somewhat a wrapper around chromium/blink.
=> Does chromium work?
Online
Making me install chromium...
prime-run results in the same black screen as with the others. Without prime-run it runs fine.
Last edited by ASTRELION (2021-03-20 09:03:10)
Offline
minecraft-launcher seems (google) to be electron as well.... what other clients are actually affected? gtk3-demo?
Last edited by seth (2021-03-20 09:24:42)
Online
gtk3-demo seems to work fine with and without prime-run.
Offline
Ok, so
what other clients are actually affected?
(I start to suspect that the issue is w/ electron/chromium/blink only)
Online
I installed Atom and it ran fine with prime-run, weird. Isn't Atom also electron?
Offline
Atom uses an old version (6) of electron…
seth wrote:what other clients are actually affected?
Online
Hmmmm....
I tested a bunch of other apps, if its helpful
Working apps: Discord, Darktable, Blender, Firefox, Calibre, Dolphin, Spotify, VLC, Inkscape, Thunderbird, Atom, Brave
Black window: Element, Chrome (with console error spam of the line below), Minecraft, VSCode
Chrome Error
[382383:382383:0320/165627.633702:ERROR:angle_platform_impl.cc(43)] renderergl_utils.cpp:2152 (ClearErrors): Preexisting GL error 0x00000507 as of ../../third_party/angle/src/libANGLE/renderer/gl/TextureGL.cpp, setImageHelper:256.
Offline
element.io?
Seems definitively like "nvidia + electron = black window then", I'm not even sure that it's opitmus/prime-run related.
This is unfortunately super common and the typical solution is to --disable-gpu…
For chromium, try "--use-gl=desktop"
Online
Yeah, Element.io
Chromium was able to run with prime-run chromium --use-gl=desktop
Though, it did have one error output to console (not sure if related):
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
At least not a black window, though
Last edited by ASTRELION (2021-03-21 08:05:13)
Offline
That's for the HW videi acceleration, https://aur.archlinux.org/packages/libv … -chromium/
Online
I'm getting the same error on an electron game also, using nvidia-prime. Everything else I have runs fine (Discord, Firefox, Minecraft, Veloren), but electron spams the same thing, and displays blank in the window.
[5998:0411/014440.676908:ERROR:angle_platform_impl.cc(43)] renderergl_utils.cpp:2152 (ClearErrors): Preexisting GL error 0x00000507 as of ../../third_party/angle/src/libANGLE/renderer/gl/TextureGL.cpp, setImageHelper:256.
I wonder if the version of electron has anything to do with it.
Offline
Don't suppose you ever got this working? I'm having the same problem; I found it with the Feed The Beast modded Minecraft launcher, but this post led me to try VS Code and Discord as well, which both give me a blank (white) screen (FTBApp gives me a blank black screen). prime-run works fine with the vanilla Minecraft launcher for me, though, as does Steam, and glxinfo shows it's using NVidia OpenGL.
Offline
Same problem here, any solutions?
Offline
Pages: 1