KDE Wayland not using Nvidia GPU on Optimus Laptop

I am trying out KDE Plasma Wayland with my Nvidia RTX 2070 Mobile and Intel iGPU Optimus Laptop right now. I have 4 Display’s: The built-in 1080p screen, an external 1080p screen and 2 external 4k screens. On the external 4k screens, I the framerate is very low (about 20 fps), even though it’s set to 60 fps in the settings. The 1080p screens (external and internal) seem to run fine. When I unplug all monitors except one 4k monitor and disable the laptop’s internal monitor, the framerate is still about 20fps slow. I suspect this is because the OpenGL renderer is the iGPU, but I can’t seem to find a way to change this. Any help would be appreciated! Thank you!

Now for some logs and more information:

$ inxi --admin --verbosity=7 --filter --no-host --width
  Kernel: 5.14.10-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.14-x86_64
  root=UUID=967a1441-dac2-4b86-bda2-438705d862bd rw quiet apparmor=1
  security=apparmor udev.log_priority=3 nvidia-drm.modeset=1
  Desktop: KDE Plasma 5.22.5 tk: Qt 5.15.2 wm: kwin_wayland vt: 2 dm: SDDM
  Distro: Manjaro Linux base: Arch Linux
  Type: Laptop System: Razer product: Blade v: 3.04 serial: <filter> Chassis:
  type: 10 serial: <filter>
  Mobo: Razer model: CH530 serial: <filter> UEFI: Razer v: 1.04
  date: 07/09/2019
  ID-1: BAT0 charge: 44.5 Wh (60.9%) condition: 73.1/80.2 Wh (91.1%)
  volts: 14.5 min: 15.4 model: Razer Blade type: Unknown serial: <filter>
  status: Discharging
  Device-1: hidpp_battery_0 model: Logitech MX Keys Wireless Keyboard
  serial: <filter> charge: 55% (should be ignored) rechargeable: yes
  status: Discharging
  Device-2: hidpp_battery_1 model: Logitech Wireless Mouse MX Master 2S
  serial: <filter> charge: 50% (should be ignored) rechargeable: yes
  status: N/A
  RAM: total: 31.26 GiB used: 2.92 GiB (9.4%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges required.
  Info: 6-Core model: Intel Core i7-9750H bits: 64 type: MT MCP
  arch: Kaby Lake note: check family: 6 model-id: 9E (158) stepping: A (10)
  microcode: EA cache: L2: 12 MiB bogomips: 62431
  Speed: 800 MHz min/max: 800/4500 MHz Core speeds (MHz): 1: 800 2: 800 3: 800
  4: 800 5: 800 6: 800 7: 800 8: 845 9: 900 10: 900 11: 900 12: 900
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat arch_perfmon art
  avx avx2 bmi1 bmi2 bts clflush clflushopt cmov constant_tsc cpuid
  cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts epb ept ept_ad erms est
  f16c flexpriority flush_l1d fma fpu fsgsbase fxsr ht hwp hwp_act_window
  hwp_epp hwp_notify ibpb ibrs ida intel_pt invpcid invpcid_single lahf_lm lm
  mca mce md_clear mmx monitor movbe mpx msr mtrr nonstop_tsc nopl nx pae pat
  pbe pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts
  rdrand rdseed rdtscp rep_good sdbg sep smap smep ss ssbd sse sse2 sse4_1
  sse4_2 ssse3 stibp syscall tm tm2 tpr_shadow tsc tsc_adjust
  tsc_deadline_timer vme vmx vnmi vpid x2apic xgetbv1 xsave xsavec xsaveopt
  xsaves xtopology xtpr
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: spec_store_bypass
  mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
  mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
  IBRS_FW, STIBP: conditional, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: Razer USA
  driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:3e9b class-ID: 0300
  Device-2: NVIDIA TU106M [GeForce RTX 2070 Mobile] vendor: Razer USA
  driver: nvidia v: 470.63.01 alternate: nouveau,nvidia_drm bus-ID: 01:00.0
  chip-ID: 10de:1f10 class-ID: 0300
  Device-3: IMC Networks Integrated Camera type: USB driver: uvcvideo
  bus-ID: 1-7:4 chip-ID: 13d3:56d5 class-ID: 0e02 serial: <filter>
  Display: wayland server: X.Org compositor: kwin_wayland driver:
  loaded: modesetting unloaded: nvidia alternate: fbdev,nouveau,nv,vesa
  display-ID: :1 screens: 1
  Screen-1: 0 s-res: 9600x2160 s-dpi: 96 s-size: 2540x571mm (100.0x22.5")
  s-diag: 2603mm (102.5")
  Monitor-1: XWAYLAND1 res: 3840x2160 hz: 60 dpi: 163
  size: 600x340mm (23.6x13.4") diag: 690mm (27.2")
  Monitor-2: XWAYLAND2 res: 1920x1080 hz: 60 dpi: 94
  size: 520x290mm (20.5x11.4") diag: 595mm (23.4")
  Monitor-3: XWAYLAND3 res: 3840x2160 hz: 60 dpi: 139
  size: 700x390mm (27.6x15.4") diag: 801mm (31.5")
  OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 21.2.3
  direct render: Yes
  Device-1: Intel Cannon Lake PCH cAVS vendor: Razer USA driver: snd_hda_intel
  v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3
  chip-ID: 8086:a348 class-ID: 0403
  Device-2: NVIDIA TU106 High Definition Audio vendor: Razer USA
  driver: snd_hda_intel v: kernel bus-ID: 01:00.1 chip-ID: 10de:10f9
  class-ID: 0403
  Sound Server-1: ALSA v: k5.14.10-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.19 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.38 running: yes
  Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel bus-ID: 02:00.0
  chip-ID: 8086:2723 class-ID: 0280
  IF: wlp2s0 state: down mac: <filter>
  Device-2: Realtek RTL8153 Gigabit Ethernet Adapter type: USB driver: r8152
  bus-ID: 2-3:2 chip-ID: 0bda:8153 class-ID: 0000 serial: <filter>
  IF: enp0s20f0u3 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
  broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
  Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 1-5:3
  chip-ID: 8087:0029 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 1 state: up address: see --recommends
  Message: No logical block device data found.
  Message: No RAID data found.
  Local Storage: total: 953.87 GiB used: 11.86 GiB (1.2%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Silicon Power
  model: SPCC M.2 PCIe SSD size: 953.87 GiB block-size: physical: 512 B
  logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
  rev: ECFM12.3 temp: 26.9 C scheme: GPT
  Message: No optical or floppy data found.
  ID-1: / raw-size: 79.35 GiB size: 77.55 GiB (97.73%) used: 11.81 GiB (15.2%)
  fs: ext4 dev: /dev/nvme0n1p8 maj-min: 259:8 label: N/A
  uuid: 967a1441-dac2-4b86-bda2-438705d862bd
  ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%)
  used: 52.6 MiB (54.8%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  label: N/A uuid: 8268-35C4
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: partition size: 14.02 GiB used: 0 KiB (0.0%) priority: -2
  dev: /dev/nvme0n1p7 maj-min: 259:7 label: SWAP
  uuid: 8da2cf39-088d-4407-a1ea-66849733b5be
  ID-1: /dev/nvme0n1p2 maj-min: 259:2 size: 16 MiB fs: <superuser required>
  label: N/A uuid: N/A
  ID-2: /dev/nvme0n1p3 maj-min: 259:3 size: 409.3 GiB fs: ntfs label: N/A
  uuid: E67C6B127C6ADD35
  ID-3: /dev/nvme0n1p4 maj-min: 259:4 size: 749 MiB fs: ntfs label: N/A
  uuid: CE189EDB189EC1BF
  ID-4: /dev/nvme0n1p5 maj-min: 259:5 size: 225.87 GiB fs: ext4 label: N/A
  uuid: e7588312-0edb-4fa7-9191-6c7acdad0408
  ID-5: /dev/nvme0n1p6 maj-min: 259:6 size: 223.98 GiB fs: ext4 label: N/A
  uuid: 8bc3805b-ecbe-4f11-ac8f-436d884fd9ea
  Hub-1: 1-0:1 info: Full speed (or root) Hub ports: 16 rev: 2.0
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 1-1:2 info: Logitech Unifying Receiver type: Keyboard,Mouse,HID
  driver: logitech-djreceiver,usbhid interfaces: 3 rev: 2.0 speed: 12 Mb/s
  power: 98mA chip-ID: 046d:c52b class-ID: 0300
  Device-2: 1-5:3 info: Intel AX200 Bluetooth type: Bluetooth driver: btusb
  interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 100mA chip-ID: 8087:0029
  class-ID: e001
  Device-3: 1-7:4 info: IMC Networks Integrated Camera type: Video
  driver: uvcvideo interfaces: 4 rev: 2.0 speed: 480 Mb/s power: 500mA
  chip-ID: 13d3:56d5 class-ID: 0e02 serial: <filter>
  Device-4: 1-8:5 info: Razer USA Blade 15 (Mid 2019) Mercury
  type: Keyboard,Mouse driver: hid-generic,usbhid interfaces: 3 rev: 2.0
  speed: 12 Mb/s power: 500mA chip-ID: 1532:0245 class-ID: 0300
  Hub-2: 2-0:1 info: Full speed (or root) Hub ports: 8 rev: 3.1 speed: 10 Gb/s
  chip-ID: 1d6b:0003 class-ID: 0900
  Device-1: 2-3:2 info: Realtek RTL8153 Gigabit Ethernet Adapter type: Network
  driver: r8152 interfaces: 1 rev: 3.0 speed: 5 Gb/s power: 288mA
  chip-ID: 0bda:8153 class-ID: 0000 serial: <filter>
  Hub-3: 5-0:1 info: Full speed (or root) Hub ports: 2 rev: 2.0
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Hub-4: 6-0:1 info: Full speed (or root) Hub ports: 2 rev: 3.1 speed: 10 Gb/s
  chip-ID: 1d6b:0003 class-ID: 0900
  System Temperatures: cpu: 52.0 C mobo: N/A
  Fan Speeds (RPM): N/A
  Processes: 300 Uptime: 7m wakeups: 8 Init: systemd v: 249 tool: systemctl
  Compilers: gcc: N/A Packages: pacman: 1203 lib: 329 flatpak: 0 Shell: Zsh
  v: 5.8 default: Bash v: 5.1.8 running-in: yakuake inxi: 3.3.07
$ mhwd -li
> Installed PCI configs:
                  NAME               VERSION          FREEDRIVER           TYPE
     video-modesetting            2020.01.13                true            PCI
video-hybrid-intel-nvidia-prime            2021.07.28               false            PCI
$ prime-run glxgears -info // The windows opens on an external 4k screen
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
GL_RENDERER   = NVIDIA GeForce RTX 2070 with Max-Q Design/PCIe/SSE2
GL_VERSION    = 4.6.0 NVIDIA 470.63.01
GL_VENDOR     = NVIDIA Corporation
GL_EXTENSIONS = GL_AMD_multi_draw_indirect GL_AMD_seamless_cubemap_per_texture GL_AMD_vertex_shader_viewport_index GL_AMD_vertex_shader_layer GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_locations GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_sparse_texture GL_ARB_sparse_texture2 GL_ARB_sparse_texture_clamp GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_filter_minmax GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_multiview_texture_multisample GL_EXT_multiview_timer_query GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_post_depth_coverage GL_EXT_provoking_vertex GL_EXT_raster_multisample GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_sparse_texture2 GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_filter_minmax GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_EXT_x11_sync_object GL_EXT_import_sync_object GL_NV_robustness_video_memory_purge GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_EXT_memory_object GL_EXT_memory_object_fd GL_NV_memory_object_sparse GL_KHR_parallel_shader_compile GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_EXT_semaphore GL_EXT_semaphore_fd GL_NV_timeline_semaphore GL_KHR_shader_subgroup GL_KTX_buffer_region GL_NV_alpha_to_coverage_dither_control GL_NV_bindless_multi_draw_indirect GL_NV_bindless_multi_draw_indirect_count GL_NV_bindless_texture GL_NV_blend_equation_advanced GL_NV_blend_equation_advanced_coherent GL_NVX_blend_equation_advanced_multi_draw_buffers GL_NV_blend_minmax_factor GL_NV_blend_square GL_NV_clip_space_w_scaling GL_NV_command_list GL_NV_compute_program5 GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_conservative_raster GL_NV_conservative_raster_dilate GL_NV_conservative_raster_pre_snap GL_NV_conservative_raster_pre_snap_triangles GL_NV_conservative_raster_underestimation GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_draw_texture GL_NV_draw_vulkan_image GL_NV_ES1_1_compatibility GL_NV_ES3_1_compatibility GL_NV_explicit_multisample GL_NV_feature_query GL_NV_fence GL_NV_fill_rectangle GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_coverage_to_color GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_fragment_shader_barycentric GL_NV_fragment_shader_interlock GL_NV_framebuffer_mixed_samples GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_geometry_shader_passthrough GL_NV_gpu_program4 GL_NV_internalformat_sample_query GL_NV_gpu_program4_1 GL_NV_gpu_program5 GL_NV_gpu_program5_mem_extended GL_NV_gpu_program_fp64 GL_NV_gpu_shader5 GL_NV_half_float GL_NV_light_max_exponent GL_NV_memory_attachment GL_NV_mesh_shader GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_path_rendering GL_NV_path_rendering_shared_edge GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_query_resource GL_NV_query_resource_tag GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_representative_fragment_test GL_NV_sample_locations GL_NV_sample_mask_override_coverage GL_NV_scissor_exclusive GL_NV_shader_atomic_counters GL_NV_shader_atomic_float GL_NV_shader_atomic_float64 GL_NV_shader_atomic_fp16_vector GL_NV_shader_atomic_int64 GL_NV_shader_buffer_load GL_NV_shader_storage_buffer_object GL_NV_shader_subgroup_partitioned GL_NV_shader_texture_footprint GL_NV_shading_rate_image GL_NV_stereo_view_rendering GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_rectangle_compressed GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_uniform_buffer_unified_memory GL_NV_vdpau_interop GL_NV_vdpau_interop2 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_attrib_integer_64bit GL_NV_vertex_buffer_unified_memory GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NV_viewport_array2 GL_NV_viewport_swizzle GL_NVX_conditional_render GL_NV_gpu_multicast GL_NVX_progress_fence GL_NVX_gpu_memory_info GL_NVX_nvenc_interop GL_NV_shader_thread_group GL_NV_shader_thread_shuffle GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OVR_multiview GL_OVR_multiview2 GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum 
VisualID 644, 0x284
102 frames in 5.0 seconds = 20.281 FPS
99 frames in 5.0 seconds = 19.668 FPS
103 frames in 5.0 seconds = 20.568 FPS

// Now i dragged the window to the 1080p screen

217 frames in 5.0 seconds = 43.258 FPS
269 frames in 5.0 seconds = 53.279 FPS
276 frames in 5.0 seconds = 55.184 FPS
292 frames in 5.0 seconds = 58.400 FPS
293 frames in 5.0 seconds = 58.600 FPS
281 frames in 5.0 seconds = 56.013 FPS

Nvidia don’t support Wayland, so don’t try it if you aren’t advanced user.

Now that support was added, would be good if you try again and let us know how it went

1 Like

I’m having a similar issue with my RTX 3070 notebook. The 2560x1440 display has got a low framerate in KDE (including live edition), and I also stringly suspected prime/optimus is the culprit. Other DEs like Budgie or Mate run blazing fast.

Any news?