Is Linux that bad with graphic cards?

thanks for the vote of confidence, im no expert but i do however spend a good deal of time troubleshooting nvidia/optimus related issues.

gnome and nvidia dont work well together, or mutter to be more precise. there's a mutter workaround meant to work better with nvidia in the aur mutter-781835-workaround it's worked for others but i never had a chance to test it since i dont use gnome for a while now.

thats alot, unless your talking about when your doing editing. general multitasking even with a good amount of browser windows open shouldnt break 4gb (and im being generous). if thats how much ram your using while doing general tasks you should really look into that.

now, let's see whats goin, please post:

mhwd -li
pacman -Qs "bbswitch|nvidia|nouveau|xf86-video"
ls -laR /etc/X11/
cat /etc/X11/xorg.conf.d/*.conf
cat /etc/modprobe.d/*.conf
cat /etc/modules-load.d/*.conf

Yes I wanted to try that, I think you recommended on another post, but it was an AUR install error.

Exactly I have some 200-400 tabs opened for research and write and design books + other stuff. LibreOffice Draw itself when designing books can take some 8GB.

Ok here are the results (and thanks a lot for your help):

[tio@tio-pc ~]$ mhwd -li
> Installed PCI configs:
                  NAME               VERSION          FREEDRIVER           TYPE
          video-nvidia            2018.08.09               false            PCI
           video-linux            2018.05.04                true            PCI
         network-r8168            2016.04.20                true            PCI

Warning: No installed USB configs!

[tio@tio-pc ~]$ pacman -Qs "bbswitch|nvidia|nouveau|xf86-video"
local/gwe 0.12.3-1
    A system utility for controlling NVIDIA GPUs
local/lib32-libvdpau 1.2-1
    Nvidia VDPAU library
local/lib32-mesa 19.0.1+really+18.3.5-1
    An open-source implementation of the OpenGL specification (32-bit)
local/lib32-nvidia-utils 1:418.43-2
    NVIDIA drivers utilities (32-bit)
local/libvdpau 1.2-1
    Nvidia VDPAU library
local/linux414-nvidia 1:418.43-6 (linux414-extramodules)
    NVIDIA drivers for linux.
local/linux419-nvidia 1:418.43-9 (linux419-extramodules)
    NVIDIA drivers for linux.
local/linux419-rt-nvidia 1:418.43-2 (linux419-rt-extramodules)
    NVIDIA drivers for linux.
local/linux50-nvidia 1:418.43-3 (linux50-extramodules)
    NVIDIA drivers for linux.
local/manjaro-firmware 20160419-1
    Extra firmwares for Manjaro Linux
local/manjaro-gdm-check 20180419-1
    Systemd service to disable wayland if Nvidia closed drivers are active
local/mesa 19.0.1+really+18.3.5-1
    An open-source implementation of the OpenGL specification
local/mhwd-nvidia 1:418.43-1
    MHWD module-ids for nvidia 418.43
local/mhwd-nvidia-340xx 340.107-1
    MHWD module-ids for nvidia 340.107
local/mhwd-nvidia-390xx 390.116-1
    MHWD module-ids for nvidia 390.116
local/nvidia-utils 1:418.43-2
    NVIDIA drivers utilities
local/opencl-nvidia-390xx 390.116-1
    OpenCL implemention for NVIDIA
local/xf86-video-amdgpu 19.0.1-1 (xorg-drivers) amdgpu video driver
local/xf86-video-ati 1:19.0.1-1 (xorg-drivers) ati video driver
local/xf86-video-nouveau 1.0.16-1 (xorg-drivers)
    Open Source 3D acceleration driver for nVidia cards

[tio@tio-pc ~]$ ls -laR /etc/X11/
total 40
drwxr-xr-x   5 root root  4096 sep 24  2018 .
drwxr-xr-x 125 root root 12288 abr  7 19:53 ..
drwxr-xr-x   2 root root  4096 dic 15 06:29 mhwd.d
drwxr-xr-x   3 root root  4096 mar 12 13:32 xinit
drwxr-xr-x   2 root root  4096 dic 15 06:31 xorg.conf.d
-rw-r--r--   1 root root     0 sep 21  2018 xorg.conf.nvidia-xconfig-original

total 16
drwxr-xr-x 2 root root 4096 dic 15 06:29 .
drwxr-xr-x 5 root root 4096 sep 24  2018 ..
-rw-r--r-- 1 root root 1522 dic 15 06:29 nvidia.conf
-rw-r--r-- 1 root root    0 dic 15 06:29 nvidia.conf.nvidia-xconfig-original

total 28
drwxr-xr-x 3 root root 4096 mar 12 13:32 .
drwxr-xr-x 5 root root 4096 sep 24  2018 ..
-rw-r--r-- 1 root root  739 mar  4 19:31 xinitrc
drwxr-xr-x 2 root root 4096 mar 12 13:30 xinitrc.d
-rw-r--r-- 1 root root   45 mar  4 19:31 xserverrc

total 24
drwxr-xr-x 2 root root 4096 mar 12 13:30 .
drwxr-xr-x 3 root root 4096 mar 12 13:32 ..
-rwxr-xr-x 1 root root  318 nov  9 22:18
-rwxr-xr-x 1 root root  203 mar 12 08:36
-rwxr-xr-x 1 root root  235 ene 13 01:30 80-appmenu-gtk-module

total 20
drwxr-xr-x 2 root root 4096 dic 15 06:31 .
drwxr-xr-x 5 root root 4096 sep 24  2018 ..
-rw-r--r-- 1 root root  311 sep 20  2018 00-keyboard.conf
-rw-r--r-- 1 tio  root  191 dic 15 06:31 optimus.conf

[tio@tio-pc ~]$ cat /etc/X11/xorg.conf.d/*.conf
# Written by systemd-localed(8), read by systemd-localed and Xorg. It's
# probably wise not to edit this file manually. Use localectl(1) to
# instruct systemd-localed to update it.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "es"
Section "Module"
    Load "modesetting"

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    Option "AllowEmptyInitialConfiguration"

[tio@tio-pc ~]$ cat /etc/modprobe.d/*.conf
# This file was added by the program 'hda-jack-retask'.
# If you want to revert the changes made by this program, you can simply erase this file and reboot your computer.
options snd-hda-intel patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw
blacklist nouveau
blacklist nvidiafb
blacklist rivafb
options nvidia_drm modeset=1
[tio@tio-pc ~]$ cat /etc/modules-load.d/*.conf
## Generated by mhwd - Manjaro Hardware Detection
# List of modules to load at boot
##loads necessary modules for nvidia gpu
[tio@tio-pc ~]$

you should have no need for video-linux if your using video-nvidia/prime.
sudo mhwd -r pci video-linux

also, i noticed you have GWE installed for the nvidia gpu, if you want to be able to use it effectively you need coolbits enabled. the "RegistryDwords" option is to prefer performance mode. there's a couple other little changes. replace the contents of

use these contents:

##see if this works as is.

Section "Module"
    Load           "modesetting"

Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    BusID          "1:0:0"
    BoardName      "GeForce 1050M"
    Option         "AllowEmptyInitialConfiguration"

Section "Extensions"
    Option         "RegistryDwords"  "PerfLevelSrc=0x2222"
    Option         "Coolbits" "31"
    Option         "Composite" "Enable"
    #Option         "SWCursor"  "true"


i think it may of had issues installing before because it was right after a major update to gnome, the package was updated 4-3-19 so maybe try again.
yay -S mutter-781835-workaround

if/when it asks if you want to clean build the package, choose yes

try these changes and let me know how it works out. i think you should try another desktop environment that does not use mutter, gnome/deepin/cinnamon all use mutter or a slight variation of it. XFCE is good with nvidia, especially if you use compton instead of xfwm's compositor. at the very least you'll be able to see just how much of a difference a compositor can make.

1 Like

I will try all that thank you and I will let you know how it goes :slight_smile:

1 Like

I did all up until this:

I still cannot install it. Same error from AUR. And with yay I get:

[tio@tio-pc ~]$ yay -S mutter-781835-workaround
bash: yay: command not found

Yes I have tried. I still like Gnome to be honest. I find it easy to use for my needs and looks more "modern" in my view. I am for sure trying out others like KDE or XFCE. Maybe when "mutter-781835-workaround" works to install I can give it a try.

As with GWE I still see that Coolbits 8 is not set up.

yay is an AUR helper, a replacement for yaourt. you can use another AUR helper or use the one built in to pamac.

sudo pacman -S yay
yay -S mutter-781835-workaround

Ah yes true. However it is the same error:

[tio@tio-pc ~]$ sudo pacman -S yay
[sudo] password for tio: 
resolving dependencies...
looking for conflicting packages...

Packages (1) yay-9.1.0-1.0

Total Download Size:   1,74 MiB
Total Installed Size:  5,70 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 yay-9.1.0-1.0-x86_64    1785,1 KiB  1114K/s 00:02 [######################] 100%
(1/1) checking keys in keyring                     [######################] 100%
(1/1) checking package integrity                   [######################] 100%
(1/1) loading package files                        [######################] 100%
(1/1) checking for file conflicts                  [######################] 100%
(1/1) checking available disk space                [######################] 100%
:: Processing package changes...
(1/1) installing yay                               [######################] 100%
:: Running post-transaction hooks...
(1/2) AUR Disclaimer

==> Warning:
 -> Access to the AUR installed.
 -> Please open this link
 -> and read our wiki page carefully!

(2/2) Arming ConditionNeedsUpdate...
[tio@tio-pc ~]$ yay -S mutter-781835-workaround
:: Checking for conflicts...
:: Checking for inner conflicts...

==> Package conflicts found:
 -> Installing mutter-781835-workaround will remove: mutter

==> Conflicting packages will have to be confirmed manually

[Aur: 1]  mutter-781835-workaround-3.32.0+49+gb2d0184c6-2

:: Downloaded PKGBUILD (1/1): mutter-781835-workaround
  1 mutter-781835-workaround                 (Build Files Exist)
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> Diffs to show?
==> y
:: Parsing SRCINFO (1/1): mutter-781835-workaround
==> Making package: mutter-781835-workaround 3.32.0+49+gb2d0184c6-2 (lun 08 abr 2019 05:06:23 CEST)
==> Retrieving sources...
  -> Cloning mutter-781835-workaround git repo...
Cloning into bare repository '/home/tio/.cache/yay/mutter-781835-workaround/mutter-781835-workaround'...
remote: Enumerating objects: 167686, done.
remote: Counting objects: 100% (167686/167686), done.
remote: Compressing objects: 100% (32963/32963), done.
remote: Total 167686 (delta 136139), reused 165291 (delta 134351)
Receiving objects: 100% (167686/167686), 55.70 MiB | 6.37 MiB/s, done.
Resolving deltas: 100% (136139/136139), done.
  -> Found 0001-wayland-output-Report-unscaled-size-even-in-logical-.patch
  -> Found 216.patch
  -> Found revert.patch
==> Validating source files with sha256sums...
    mutter-781835-workaround ... Skipped
    0001-wayland-output-Report-unscaled-size-even-in-logical-.patch ... Passed
    216.patch ... Passed
    revert.patch ... Passed
==> Cleaning up...
==> Making package: mutter-781835-workaround 3.32.0+49+gb2d0184c6-2 (lun 08 abr 2019 05:06:47 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating mutter-781835-workaround git repo...
Fetching origin
  -> Found 0001-wayland-output-Report-unscaled-size-even-in-logical-.patch
  -> Found 216.patch
  -> Found revert.patch
==> Validating source files with sha256sums...
    mutter-781835-workaround ... Skipped
    0001-wayland-output-Report-unscaled-size-even-in-logical-.patch ... Passed
    216.patch ... Passed
    revert.patch ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of mutter-781835-workaround git repo...
Cloning into 'mutter-781835-workaround'...
Switched to a new branch 'makepkg'
==> Starting prepare()...
remote: Enumerating objects: 1046, done.
remote: Counting objects: 100% (1046/1046), done.
remote: Compressing objects: 100% (647/647), done.
remote: Total 1046 (delta 753), reused 563 (delta 398)
Receiving objects: 100% (1046/1046), 969.18 KiB | 1.20 MiB/s, done.
Resolving deltas: 100% (753/753), done.
 * [new branch]          add-native-frame-info   -> vanvugt/add-native-frame-info
 * [new branch]          add-synaptics-v1        -> vanvugt/add-synaptics-v1
 * [new branch]          add-vsync-3.28          -> vanvugt/add-vsync-3.28
 * [new branch]          advertise-native-vsync-3.30 -> vanvugt/advertise-native-vsync-3.30
 * [new branch]          always-presentation     -> vanvugt/always-presentation
 * [new branch]          avoid-queue-relayout-in-animations -> vanvugt/avoid-queue-relayout-in-animations
 * [new branch]          avoid-skipping-frames   -> vanvugt/avoid-skipping-frames
 * [new branch]          avoid-skipping-frames-v2 -> vanvugt/avoid-skipping-frames-v2
 * [new branch]          avoid-skipping-frames-v3 -> vanvugt/avoid-skipping-frames-v3
 * [new branch]          better-show-fps         -> vanvugt/better-show-fps
 * [new branch]          cache-paint-volumes     -> vanvugt/cache-paint-volumes
 * [new branch]          captured-event-detail   -> vanvugt/captured-event-detail
 * [new branch]          clarify-actor-at-pos    -> vanvugt/clarify-actor-at-pos
 * [new branch]          clarify-throttling-confusion -> vanvugt/clarify-throttling-confusion
 * [new branch]          clip-pick               -> vanvugt/clip-pick
 * [new branch]          configurable-shadows    -> vanvugt/configurable-shadows
 * [new branch]          count-differently       -> vanvugt/count-differently
 * [new branch]          count-differently-v2    -> vanvugt/count-differently-v2
 * [new branch]          count-differently-v3    -> vanvugt/count-differently-v3
 * [new branch]          crtc-holds-reference    -> vanvugt/crtc-holds-reference
 * [new branch]          dont-mipmap-windows     -> vanvugt/dont-mipmap-windows
 * [new branch]          effect-volume           -> vanvugt/effect-volume
 * [new branch]          eliminate-fb_in_use     -> vanvugt/eliminate-fb_in_use
 * [new branch]          fix-box-contains-edges  -> vanvugt/fix-box-contains-edges
 * [new branch]          fix-clock-smoothness-v1 -> vanvugt/fix-clock-smoothness-v1
 * [new branch]          fix-clock-smoothness-v2 -> vanvugt/fix-clock-smoothness-v2
 * [new branch]          fix-clock-smoothness-v3 -> vanvugt/fix-clock-smoothness-v3
 * [new branch]          fix-lp1822616           -> vanvugt/fix-lp1822616
 * [new branch]          fix-meta-background-gradient -> vanvugt/fix-meta-background-gradient
 * [new branch]          fix-offscreen-clip      -> vanvugt/fix-offscreen-clip
 * [new branch]          fix-offscreen-clones-3.30 -> vanvugt/fix-offscreen-clones-3.30
 * [new branch]          fix-pending-swaps       -> vanvugt/fix-pending-swaps
 * [new branch]          fix-subpixel-cursor     -> vanvugt/fix-subpixel-cursor
 * [new branch]          fix-sync                -> vanvugt/fix-sync
 * [new branch]          fix-touch-view          -> vanvugt/fix-touch-view
 * [new branch]          focus-new               -> vanvugt/focus-new
 * [new branch]          future-frames           -> vanvugt/future-frames
 * [new branch]          geometric-picking       -> vanvugt/geometric-picking
 * [new branch]          geometric-picking-3.30  -> vanvugt/geometric-picking-3.30
 * [new branch]          geometric-picking-base  -> vanvugt/geometric-picking-base
 * [new branch]          geometric-picking-with-external-clipping -> vanvugt/geometric-picking-with-external-clipping
 * [new branch]          geometric-picking-with-internal-clipping -> vanvugt/geometric-picking-with-internal-clipping
 * [new branch]          gnome-3-0               -> vanvugt/gnome-3-0
 * [new branch]          gnome-3-10              -> vanvugt/gnome-3-10
 * [new branch]          gnome-3-10-wayland      -> vanvugt/gnome-3-10-wayland
 * [new branch]          gnome-3-12              -> vanvugt/gnome-3-12
 * [new branch]          gnome-3-14              -> vanvugt/gnome-3-14
 * [new branch]          gnome-3-16              -> vanvugt/gnome-3-16
 * [new branch]          gnome-3-18              -> vanvugt/gnome-3-18
 * [new branch]          gnome-3-2               -> vanvugt/gnome-3-2
 * [new branch]          gnome-3-20              -> vanvugt/gnome-3-20
 * [new branch]          gnome-3-22              -> vanvugt/gnome-3-22
 * [new branch]          gnome-3-24              -> vanvugt/gnome-3-24
 * [new branch]          gnome-3-26              -> vanvugt/gnome-3-26
 * [new branch]          gnome-3-30              -> vanvugt/gnome-3-30
 * [new branch]          gnome-3-4               -> vanvugt/gnome-3-4
 * [new branch]          gnome-3-6               -> vanvugt/gnome-3-6
 * [new branch]          gnome-3-8               -> vanvugt/gnome-3-8
 * [new branch]          handle-zero-connectors  -> vanvugt/handle-zero-connectors
 * [new branch]          intermediate-count-differently-v3 -> vanvugt/intermediate-count-differently-v3
 * [new branch]          less-wordy              -> vanvugt/less-wordy
 * [new branch]          master                  -> vanvugt/master
 * [new branch]          meta-window-actor-queue-relayout -> vanvugt/meta-window-actor-queue-relayout
 * [new branch]          meta-window-group-no-layout -> vanvugt/meta-window-group-no-layout
 * [new branch]          no-blank-line-after-pick-mode -> vanvugt/no-blank-line-after-pick-mode
 * [new branch]          override-redirect-exclusion -> vanvugt/override-redirect-exclusion
 * [new branch]          pick-cache              -> vanvugt/pick-cache
 * [new branch]          recalculate-update-time -> vanvugt/recalculate-update-time
 * [new branch]          refcount-frontbuffers   -> vanvugt/refcount-frontbuffers
 * [new branch]          refcount-frontbuffers-3.30 -> vanvugt/refcount-frontbuffers-3.30
 * [new branch]          remove-actor-box-contains -> vanvugt/remove-actor-box-contains
 * [new branch]          remove-dump-pick-buffers -> vanvugt/remove-dump-pick-buffers
 * [new branch]          remove-get_dirty_pixel  -> vanvugt/remove-get_dirty_pixel
 * [new branch]          remove-idle-flag        -> vanvugt/remove-idle-flag
 * [new branch]          remove-input-lag        -> vanvugt/remove-input-lag
 * [new branch]          reschedule-on-present   -> vanvugt/reschedule-on-present
 * [new branch]          reschedule-on-present-v2 -> vanvugt/reschedule-on-present-v2
 * [new branch]          retire-pick             -> vanvugt/retire-pick
 * [new branch]          simplify-picking        -> vanvugt/simplify-picking
 * [new branch]          springy                 -> vanvugt/springy
 * [new branch]          super-smooth            -> vanvugt/super-smooth
 * [new branch]          super-smooth-v2         -> vanvugt/super-smooth-v2
 * [new branch]          tintou/wip/vapi         -> vanvugt/tintou/wip/vapi
 * [new branch]          wayland                 -> vanvugt/wayland
 * [new branch]          wip/background-rework   -> vanvugt/wip/background-rework
 * [new branch]          wip/carlosg/fix-tablets-on-nested -> vanvugt/wip/carlosg/fix-tablets-on-nested
 * [new branch]          wip/carlosg/performance-improvements -> vanvugt/wip/carlosg/performance-improvements
 * [new branch]          wip/carlosg/text-input  -> vanvugt/wip/carlosg/text-input
 * [new branch]          wip/cb2eb3              -> vanvugt/wip/cb2eb3
 * [new branch]          wip/compositor-menu     -> vanvugt/wip/compositor-menu
 * [new branch]          wip/csd-flicker         -> vanvugt/wip/csd-flicker
 * [new branch]          wip/culling             -> vanvugt/wip/culling
 * [new branch]          wip/display-no-wayland  -> vanvugt/wip/display-no-wayland
 * [new branch]          wip/dnd-actions         -> vanvugt/wip/dnd-actions
 * [new branch]          wip/dnd-surface         -> vanvugt/wip/dnd-surface
 * [new branch]          wip/dnd-surface2        -> vanvugt/wip/dnd-surface2
 * [new branch]          wip/fmuellner/contraint-tiling -> vanvugt/wip/fmuellner/contraint-tiling
 * [new branch]          wip/fmuellner/gtk-shadows -> vanvugt/wip/fmuellner/gtk-shadows
 * [new branch]          wip/frame-synchronization -> vanvugt/wip/frame-synchronization
 * [new branch]          wip/fullscreen          -> vanvugt/wip/fullscreen
 * [new branch]          wip/garnacho/touchpad-gestures -> vanvugt/wip/garnacho/touchpad-gestures
 * [new branch]          wip/garnacho/virtual-input-device -> vanvugt/wip/garnacho/virtual-input-device
 * [new branch]          wip/garnacho/wayland-emulated-output-transform -> vanvugt/wip/garnacho/wayland-emulated-output-transform
 * [new branch]          wip/garnacho/wayland-extra-scroll-events -> vanvugt/wip/garnacho/wayland-extra-scroll-events
 * [new branch]          wip/garnacho/wayland-startup-notification -> vanvugt/wip/garnacho/wayland-startup-notification
 * [new branch]          wip/gbsneto/tile-picker -> vanvugt/wip/gbsneto/tile-picker
 * [new branch]          wip/gcampax/background  -> vanvugt/wip/gcampax/background
 * [new branch]          wip/gestures            -> vanvugt/wip/gestures
 * [new branch]          wip/gmenu               -> vanvugt/wip/gmenu
 * [new branch]          wip/halfline/black-stage-before-dpms-off -> vanvugt/wip/halfline/black-stage-before-dpms-off
 * [new branch]          wip/icons               -> vanvugt/wip/icons
 * [new branch]          wip/is-switch-fixes     -> vanvugt/wip/is-switch-fixes
 * [new branch]          wip/jstpierre/cursor-position-tracker -> vanvugt/wip/jstpierre/cursor-position-tracker
 * [new branch]          wip/login1              -> vanvugt/wip/login1
 * [new branch]          wip/media-keys          -> vanvugt/wip/media-keys
 * [new branch]          wip/message-tray        -> vanvugt/wip/message-tray
 * [new branch]          wip/mult-window-actors  -> vanvugt/wip/mult-window-actors
 * [new branch]          wip/multitouch          -> vanvugt/wip/multitouch
 * [new branch]          wip/multitouchr         -> vanvugt/wip/multitouchr
 * [new branch]          wip/new-api             -> vanvugt/wip/new-api
 * [new branch]          wip/no-reparent         -> vanvugt/wip/no-reparent
 * [new branch]          wip/primary-selection   -> vanvugt/wip/primary-selection
 * [new branch]          wip/quadbuffer-stereo   -> vanvugt/wip/quadbuffer-stereo
 * [new branch]          wip/remove-map          -> vanvugt/wip/remove-map
 * [new branch]          wip/resize              -> vanvugt/wip/resize
 * [new branch]          wip/resize-2            -> vanvugt/wip/resize-2
 * [new branch]          wip/rtcm/merge          -> vanvugt/wip/rtcm/merge
 * [new branch]          wip/split-cursor-tracker -> vanvugt/wip/split-cursor-tracker
 * [new branch]          wip/subsurfaces         -> vanvugt/wip/subsurfaces
 * [new branch]          wip/surface-content     -> vanvugt/wip/surface-content
 * [new branch]          wip/surface-two         -> vanvugt/wip/surface-two
 * [new branch]          wip/tablet-protocol     -> vanvugt/wip/tablet-protocol
 * [new branch]          wip/tablet-protocol-v2  -> vanvugt/wip/tablet-protocol-v2
 * [new branch]          wip/tiling-2            -> vanvugt/wip/tiling-2
 * [new branch]          wip/tower               -> vanvugt/wip/tower
 * [new branch]          wip/ui-on-own-connection -> vanvugt/wip/ui-on-own-connection
 * [new branch]          wip/viewport            -> vanvugt/wip/viewport
 * [new branch]          wip/wayland-bare-metal  -> vanvugt/wip/wayland-bare-metal
 * [new branch]          wip/wayland-clutter-events -> vanvugt/wip/wayland-clutter-events
 * [new branch]          wip/wayland-clutter-events-2 -> vanvugt/wip/wayland-clutter-events-2
 * [new branch]          wip/wayland-display     -> vanvugt/wip/wayland-display
 * [new branch]          wip/wayland-opaque      -> vanvugt/wip/wayland-opaque
 * [new branch]          wip/wayland-work        -> vanvugt/wip/wayland-work
 * [new branch]          wip/xdg-shell-props     -> vanvugt/wip/xdg-shell-props
 * [new branch]          wip/xinput2             -> vanvugt/wip/xinput2
 * [new branch]          wip/xinput2r            -> vanvugt/wip/xinput2r
 * [new branch]          wip/xtoglsync           -> vanvugt/wip/xtoglsync
 * [new branch]          wip/xtoglsync-3-10      -> vanvugt/wip/xtoglsync-3-10
 * [new branch]          wip/xwayland-on-demand  -> vanvugt/wip/xwayland-on-demand
 * [new branch]          zero-default-META_SYNC_DELAY -> vanvugt/zero-default-META_SYNC_DELAY
fatal: bad revision 'f5a1ec1c'
==> ERROR: A failure occurred in prepare().
Error making: mutter-781835-workaround
[tio@tio-pc ~]$

ok, run it again and this time when asked, edit the PKGBUILD and comment out this following line (add a # to the beginning of the line)

#git cherry-pick -n f5a1ec1c

that should let you continue without that error

1 Like

Ok that worked! Thank you! I also restarted (if that was or not needed). Feels snappier but well I need to test it more. Why is this mutter-781835-workaround better more exactly? What does it do?

EDIT: well, like they say "A window manager for GNOME. This package reverts a commit which may causes performance problems for nvidia driver users. Some performance patches also included." - Maybe I am wondering if this can become buggy or can break the system.

1 Like

How much RAM does your computer have ?
And the Laptop runs 1 day and 7 hours without shutdown.

I am using a core i7 770HQ + Nvidia 1050 + 32GB of ram

32GB. My computer runs nonstop. I only restart when I update the kernel

I think I am using PRIME with nvidia drivers if I am not wrong. Isn't PRIME the way to only use Nvidia proprietary drivers and avoid using the free drivers? My understanding is that Optimus lets you switch between Intel and Nvidia (regardless if they are proprietary or not) and PRIME is to let you use only Nvidia proprietary. Am I getting this right?

Actually, to be pedantic, PRIME is using the dGPU, not drivers (proprietary vs free) because can be done trough nouveau with DRI_PRIME=1 parameter (AFAIK).

1 Like

your using prime, i can tell by the setup and info i previously requested. prime can be setup to work with nouveau or nvidia drivers, it just makes more sense to use the proprietary dirvers for performance/reliability.

bumblebee uses proprietary drivers but for some reason does not and will not work with Vulkan/DXVK and wont give you the same performance as being setup as PRIME.

What Is Optimus?

Optimus is a technology by NVIDIA that automatically adjusts graphics based on how you're using the device to better conserve battery power on a laptop computer. Sometimes this is referred to as a hybrid graphics system.

on windows it's suppose to switch on/off automatically based on demand (though it doesnt always work that work that way even on windows), and on linux we need to manually control, at least until some sort of optimus on-the-fly comes to linux.

also prime makes use of both gpu's, nvidia does all the work and the intel displays it. some laptops have an option in bios to disable the iGPU but not many. and the reason we cant just leave out the intel gpu is because that is whats connected to the screen and so the nvidia needs to route through it in order for anything to display on the screen.

1 Like

As an update: I see some improvements with the mutter-781835-workaround. Also, some Gnome extensions can really make your system very slow. The fewer extensions, the better. I will keep an eye on the performance the next weeks and if needed will update here. Thanks to you all for the suggestions! And if there are any other suggestions I am happy to try them out :slight_smile:

1 Like

This is almost exactly my system, only that I have half of your RAM. SuperTuxKart graphics options can be pushed to the right and the game runs in full 60fps (my screen refresh rate limitation), as well as Rocket League and many other steam games. I'm on KDE, though. I also use PRIME, but you have to be sure that you're currently using the dGPU. Even if you've enabled PRIME but you forgot to switch active card, you'll still be using iGPU.

Sorry for the late post. I saw this thread awhile ago, and never got around to trying the mutter-781835-workaround mentioned here. Now that I have, I regret not doing it earlier.The difference after installing this work around is night and day. I did not realize how badly Mutter was behaving while running on my nVidia card. The system is so snappy now, that I was able to remove the "Impatience" extension. (This extension supposedly sped up the animations in Gnome) Gone are the slight hitches when opening programs and the momentary freezes when I would have multiple programs open. Thank you @dglt for suggesting it.

System Specifications

Host: Manjaro-FX504G Kernel: 4.19.45-1-MANJARO x86_64 bits: 64
compiler: gcc v: 8.3.0 Desktop: Gnome 3.32.2 wm: gnome-shell
dm: GDM 3.32.0 Distro: Manjaro Linux
Type: Laptop System: ASUSTeK product: TUF GAMING FX504GD_FX80GD v: 1.0
Mobo: ASUSTeK model: FX504GD v: 1.0 serial:
UEFI: American Megatrends v: FX504GD.314 date: 09/28/2018
ID-1: BAT1 charge: 42.8 Wh condition: 42.8/48.1 Wh (89%) volts: 4.0/11.7
model: ASUS A32-K55 type: Li-ion serial: status: Full
Topology: 6-Core model: Intel Core i7-8750H bits: 64 type: MT MCP
arch: Kaby Lake rev: A L2 cache: 9216 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
bogomips: 53004
Speed: 900 MHz min/max: 800/4100 MHz Core speeds (MHz): 1: 900 2: 900
3: 900 4: 900 5: 901 6: 900 7: 901 8: 900 9: 900 10: 900 11: 900 12: 900
Device-1: Intel UHD Graphics 630 vendor: ASUSTeK driver: i915 v: kernel
bus ID: 00:02.0 chip ID: 8086:3e9b
Device-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] vendor: ASUSTeK
driver: nvidia v: 418.74 bus ID: 01:00.0 chip ID: 10de:1c8d
Display: x11 server: X.Org 1.20.4 driver: nvidia compositor: gnome-shell
resolution: 1920x1080~60Hz
OpenGL: renderer: GeForce GTX 1050/PCIe/SSE2 v: 4.6.0 NVIDIA 418.74
direct render: Yes
Device-1: Intel Cannon Lake PCH cAVS vendor: ASUSTeK driver: snd_hda_intel
v: kernel bus ID: 00:1f.3 chip ID: 8086:a348
Sound Server: ALSA v: k4.19.45-1-MANJARO
Device-1: Intel Wireless-AC 9560 [Jefferson Peak] driver: iwlwifi
v: kernel port: 5000 bus ID: 00:14.3 chip ID: 8086:a370
IF: wlo1 state: up mac:
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK driver: r8169 v: kernel port: 3000 bus ID: 03:00.0
chip ID: 10ec:8168
IF: enp3s0 state: down mac:
Local Storage: total: 1.82 TiB used: 384.01 GiB (20.6%)
ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 970 EVO 250GB
size: 232.89 GiB speed: 31.6 Gb/s lanes: 4 serial: rev: 2B2QEXE7
scheme: GPT
ID-2: /dev/sda vendor: Crucial model: CT1000MX500SSD1 size: 931.51 GiB
speed: 6.0 Gb/s serial: rev: 023 scheme: GPT
ID-3: /dev/sdb type: USB vendor: Toshiba model: External USB 3.0
size: 698.64 GiB serial: rev: 0203 scheme: MBR
ID-1: / size: 227.74 GiB used: 30.96 GiB (13.6%) fs: ext4
dev: /dev/nvme0n1p2
System Temperatures: cpu: 62.0 C mobo: 27.8 C gpu: nvidia temp: 45 C
Fan Speeds (RPM): cpu: 0
Processes: 328 Uptime: 13m Memory: 15.52 GiB used: 2.99 GiB (19.3%)
Init: systemd v: 242 Compilers: gcc: 8.3.0 Shell: bash v: 5.0.7
running in: gnome-terminal inxi: 3.0.34


nice, glad to know it works. were there any issues installing it, editing PKGBUILD needed or no? i only ask because others had issues in the past that needed a line or 2 commented out but i noticed yesterday when i suggested it to someone that it was recently updated.

@dglt It installed without any problems. I used the Pacmac GUI to do the install. I did not have to edit anything. I just needed to reboot.

1 Like

Forum kindly sponsored by