Good day to all. Been having weird issues with the graphic’s driver as of late. Let me explain.
Have a laptop with an Nvidia GPU, as well as the integrated Intel driver, for which I use EnvyControl to switch between them.
When running on the Intel driver all seems to work fine. However, when using the Hybrid options to switch GPUs, the desktop will freeze, workspaces become unresponsive.
When using only the Nvidia driver, seems to work fine, but the BSPWM workspaces don’t seem to work at all, launching all applications under 1 workspace it seems.
Question is: what could be causing this? Used to work fine up until a recent Nvidia update.
Correct, the suggested driver would be the open one, however it doesn’t support D3 power management for laptops, which is a bummer, hence why I’m using the proprietary one instead.
If I may ask, is there a better solution for managing Optimus graphics?
As a fellow BSPWM and dual GPU user, your post caught my eye!
Do you require active GPU switching, or just when running graphically intense applications like games? If the later, I’d suggest using NVIDIA “prime render offload”, and invoke prime-run for specific applications.
For what it’s worth, I’m using nvidia-dkms.
I can provide you more information with my set up depending on your interest.
Oh for sure! Used to run Optimus to control both intel/nvidia gpus but that was cumbersome, and switched to EncyControl for an easier solution, but now I’m also running into issues where the Nvidia gpu will act up and freeze the screen, or black screens after boot and so on.
I have the defunct Intel NUC 11 desktop computer with Intel Xe and RTX 2060 Mobile GPU. My monitor is connected via Thunderbolt/USB-C which is directly to the integrated Intel GPU. Once I figured out the kernel modules, command-line parameters, and modprobe configuration, the nVIDIA sits quietly in the background waiting when needed for Vulkan. I don’t use a greeter so I login at text prompt, then run startx.
When I first obtained the computer, I made a post about my issue getting nVIDIA to work.
Yes. I wanted Intel to be used for the majority of time to reduce power if I wasn’t intending on doing anything graphically intense (e.g. gaming, watching 2K/4K videos).
Here’s something I adapted from the 580 release feedback & discussion of the NVIDIA Developer Forum, to show which GPU is handling OpenGL for example.
Intel GPU:
$ glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Intel (0x8086)
Device: Mesa Intel(R) Iris(R) Xe Graphics (TGL GT2) (0x9a49)
Version: 25.2.2
Accelerated: yes
Video memory: 63933MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Iris(R) Xe Graphics (TGL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 25.2.2-cachyos1.4
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.2.2-cachyos1.4
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 25.2.2-cachyos1.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
nVIDIA GPU:
$ prime-run glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 6144 MB
Total available memory: 6144 MB
Currently available dedicated video memory: 5728 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 2060/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 580.82.09
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6.0 NVIDIA 580.82.09
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 580.82.09
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
I don’t know the details of your laptop, but you should confirm the NVIDIA hardware is in fact accessible through the default screen output, versus from an external monitor.
Once you have the kernel drivers loading properly the xrandr command I mentioned earlier should show you which devices are available to X windows.
Also, I just noticed that you have a little older NVIDIA card, so you may be forced to using the open or nouveau modules now. The “nvidia-inst --drivers" command will tell you if official drivers can be used.
Did a deep purge of all Nvidia drivers, utils, settings, and other conflicting apps (looking at you Optiums). In the end, chose to run Nividia-Prime as it is intended, and have had no issues ever since.
Guess the trick is to install the correct drivers, and let them be.