Kinoite 40 and kwin_wayland

I installed Kinoite and for most of the time I just love it. I do get regular updates, both system and program updates but that is to be expected so short after the release.
Something which bothers me is the CPU fan which spins at a too high rate. I started searching for a program which used CPU (too) much and I found kwin_wayand.
Top says a score of around 70%, probably 70% of 1 of the 16 cores my CPU has, KDE system monitor says around 4%. Total CPU usage when this happens is around 12-13% which raises the temperature to around 70°C and so the fan kicks in. This happened also when I started writing this message, at the moment the fan is quiet with kwin_wayland using around 18% of 1 core.

I restarted a Youtube video in another browser tab and the percentage went up again. What exactly does kwin_wayland do and does it need to use so much CPU?
The PC specs are in the picture below. Apart from the AMD graphics processor I also have an Nvidia RTX 3060 which I use with the latest driver. The system is fully updated.

So why is kwin_wayland so busy and what is it doing?

Thanks.

1 Like

I have done a comparison with the regular F40 KDE spin and there kwin_wayland uses much less CPU. Where in Kinoite the process uses around 4% when a video is playing full screen and around 1% now while wrting this, in the KDE spin it uses around 0,4% when the video is playing.
What is the difference between the 2 variants? It is both Fedora, it is both KDE and still something is different.
I am seriously thinking about returning to the KDE spin and forget about Kinoite, although I don’t like doing that. But watching videos with a lot of fan noise is also not appealing.

Who can explain the difference and tell me if there is a solution so I can keep using Kinoite?
Thanks.

It’s likely that this about hardware decoding vs software decoding.

Maybe give the Firefox Flatpak from Flathub a try?

There are also a lot of threads around here about how to setup hardware decoding support using packages from RPM Fusion.

There is no difference in installed relevant packages.

Check if you have enabled your GPU drivers correctly as this for sure looks like software rendering.

I recommend to rpm-ostree reset and rebase to ublue kinoite-nvidia.

rpm-ostree rebase --reboot ostree-unverified-registry:ghcr.io/ublue-os/kinoite-nvidia:latest

After the reboot

rpm-ostree rebase --reboot ostree-image-signed:docker://ghcr.io/ublue-os/kinoite-nvidia:latest

This should be more stable than installing the drivers manually on Fedora KDE, and give faster updates and a working configuration on Kinoite.

Thank you for your answer, but reading this I do need more help. As they say: this raises more questions than answers, at least for me.

You write: his should be more stable than installing the drivers manually on Fedora KDE
Does this mean I don’t need to install the drivers manually, or do I install them and then perform these 2 lines which will take care the drivers are working properly?

What exactly do these lines do?

Sorry for these questions but I have no idea what will happen when I use what you wrote.

From the picture you provided, I don’t see that the Nvidia GPU is present. The picture indicates a Your AMD CPU and a AMD GPU. . . Are you sure you have the latest Nvidia driver properly installed ?

Could you please provide the output of

inxi -Fzxx

Also the output of :

dnf list installed \*nvidia\*

Hello hammerhead, yes I know I did have the latest Nvidia driver installed. I used the one with cuda because it includes the nvidia-smi program. I use that to get the correct info about my card and driver in a conky.
I use passed tense cause I re-installed it all. I want to try the commands boredsquirrel gave me. I just wish I knew if I have to install the driver first and then perform the lines of code ge gave me, or that it is just those lines of code which I have to use.

You wrote me to use: dnf list installed *nvidia*. I am under the impression Kinoite doesn’t use dnf. Plus, at the moment, I don’t have the Nvidia driver installed, so the output (if any) is of no use.

The commands that @boredsquirrel provided will rebase your Fedora installation with uBlue (Universal Blue) which is different.

They also have a forum for you to seek help at :

1 Like

You’re right, My missed the part about it being and os-tree installed and only came back to answer the question about ublue.

If you still need to install the driver on Fedora here is a link from RPM Fusion for Kinoite :

https://rpmfusion.org/Howto/NVIDIA#OSTree_.28Silverblue.2FKinoite.2Fetc.29

Thank you for the link. I store it so I can use it when necessary.
At the moment, after doing the fresh install, I am just using the built-in AMD GPU and the laptop is very quiet. CPU usage is 1% at the moment, and when watching a Youtube video it goes up to around 5%. kwin-wayland uses less then 1 % of that.

I think I will keep using the AMD GPU for now until I see something which doesn’t work (well enough), then I will install the Nvidia driver and start using it.

Thanks again.

I think system76 has some switcher program to select the external or integrated GPU for tasks.

Not using the dGPU is not a good solution.

But as Fedora cannot ship the NVIDIA drivers in the atomic images, you need to manually do the changes on your system. This will likely need a karg that you can add with rpm-ostree, see how uBlue does it.

This defeats parts of the reason to use atomic images, so I recommend using uBlue instead, where they do the changes and you dont touch anything.

This will keep the benefits like having reproducible bugs and faster updates.

Hello again, I did do what you wrote in your first answer to this thread. I am still using the AMD integrated GPU. I do however think that the Nvidia driver is installed as well. When I just reboot I am using the AMD GPU with 1% CPU usage and no fan noise.
When I copy a file called environment to /etc and reboot again CPU usage is 5% and the fan spins louder. In my conky I then see no GPU name, where before copying the file I saw AMD Radeon Graphics as output for the instruction: glxinfo|grep -E “OpenGL renderer”

The content of the file environment is this:
QT_QPA_PLATFORMTHEME=“wayland;xcb”
GBM_BACKEND=nvidia-drm
__GLX_VENDOR_LIBRARY_NAME=nvidia
ENABLE_VKBASALT=1
LIBVA_DRIVER_NAME=nvidia

WLR_NO_HARDWARE_CURSORS=1

I have used this in the regular Fedora KDE spin as well as before in Kinoite, don’t remember where I got it but it always just worked.

Is by using your two lines of code the Nvidia driver installed and if so, how can I start using it? Even though after copying the environment file, something has changed, I am still using the AMD GPU. I can see that in the way my external monitor reacts. With Nvidia the monitor stays dark for a while before I see my desktop after boot. This is probably caused by changing the settings for the monitor.

What do I do now to make it all work? Can you help me with this please?

You wrote in your second post: Not using the dGPU is not a good solution.
Why is that, what is wrong with using the integrated GPU?

Sorry to interject, Here is my output for glxinfo|grep -E "OpenGL renderer"

OpenGL renderer string: AMD Radeon Graphics (radeonsi, renoir, LLVM 18.1.1, DRM 3.57, 6.8.8-300.fc40.x86_64)

I do have a Nvidia 350Ti Mobile on this machine, but it only gets utilized when I need it. For example :Firefox, Blender, Inkscape. . .

My question is, are you wanting to have the Nvidia GPU on all the time? So it’s your Primary or do you want it to work when you need it?

Here is my inxi -Gxx

Graphics:
  Device-1: NVIDIA GA107M [GeForce RTX 3050 Ti Mobile] vendor: Lenovo
    driver: nvidia v: 550.78 arch: Ampere pcie: speed: 8 GT/s lanes: 8
    bus-ID: 01:00.0 chip-ID: 10de:25a0
  Device-2: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
    vendor: Lenovo driver: amdgpu v: kernel arch: GCN-5 pcie: speed: 8 GT/s
    lanes: 16 ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 05:00.0
    chip-ID: 1002:1638 temp: 39.0 C
  Device-3: IMC Networks Integrated Camera driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 1-3:2 chip-ID: 13d3:56ff
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 23.2.6
    compositor: gnome-shell v: 46.1 driver: X: loaded: amdgpu
    unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu display-ID: 0
  Monitor-1: eDP-1 model: BOE Display 0x0a81 res: 1920x1080 dpi: 142
    diag: 395mm (15.5")
  API: OpenGL v: 4.6 vendor: amd mesa v: 24.0.6 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: AMD Radeon Graphics (radeonsi renoir LLVM
    18.1.1 DRM 3.57 6.8.8-300.fc40.x86_64) device-ID: 1002:1638
    display-ID: :0.0
  API: EGL Message: EGL data requires eglinfo. Check --recommends.

Yet and still, my Nvidia is Device 1 and my AMD device 2. . .

Hi, the output of my inxi -Gxx looks a lot like yours:

inxi -Gxx
Graphics:
  Device-1: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] vendor: Lenovo
    driver: nouveau v: kernel arch: Ampere pcie: speed: 5 GT/s lanes: 8 ports:
    active: HDMI-A-1 empty: DP-7,DP-8,eDP-2 bus-ID: 01:00.0 chip-ID: 10de:2560
  Device-2: AMD Rembrandt [Radeon 680M] vendor: Lenovo driver: amdgpu
    v: kernel arch: RDNA-2 pcie: speed: 16 GT/s lanes: 16 ports: active: eDP-1
    empty: DP-1, DP-2, DP-3, DP-4, DP-5, DP-6, Writeback-1 bus-ID: 34:00.0
    chip-ID: 1002:1681 temp: 39.0 C
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 23.2.6
    compositor: kwin_wayland driver: N/A d-rect: 5120x3040 display-ID: 0
  Monitor-1: HDMI-A-1 pos: bottom-l res: 2560x1440 size: N/A
  Monitor-2: eDP-1 pos: top-right res: 2560x1600 size: N/A
  API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: nouveau
    device: 2 drv: swrast surfaceless: drv: radeonsi wayland: drv: radeonsi x11:
    drv: radeonsi inactive: gbm
  API: OpenGL v: 4.6 compat-v: 4.3 vendor: amd mesa v: 24.0.6 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon Graphics (radeonsi rembrandt LLVM
    18.1.1 DRM 3.57 6.8.8-300.fc40.x86_64) device-ID: 1002:1681
    display-ID: :0.0
  API: Vulkan v: 1.3.280 surfaces: xcb,xlib,wayland device: 0
    type: integrated-gpu driver: N/A device-ID: 1002:1681 device: 1
    type: discrete-gpu driver: N/A device-ID: 10de:2560 device: 2 type: cpu
    driver: N/A device-ID: 10005:0000

So, this would mean the Nvidia driver is installed and it is only being used when needed. That works for me, I never had that but I guess it’s the best of both worlds: low power usage on one side and a powerful GPU when needed.

Two things I would like to change:

  1. I have the Nvidia driver, not the Nvidia-cuda driver with the smi package to supply data about the driver to Conky. How do I now install that one? Is it still the same as it was before I started using ublue?
  2. In the line starting with API: I see the word nouveau. To me it looks like it is not blocked. How do i do that.

When these two items are solved then I stop this thread and start using the PC for my normal stuff.
Thanks again Hammerhead, your help is much appreciated.

Yeah, so way back in Fedora 2x the Nvidia driver was fixed to not have to do the whole “BumbleBee” or “PRIME” swtcheroo. You can explicitly tell the the software to use either GPU now.

2024-05-09_11-47-42

  • The smi package to supply data about the driver to Conky. How do I now install that one?

    1. I really can’t provide much assitance there, since I am using a non-traditional repo which packages the driver differently.
  • In the line starting with API: I see the word nouveau. To me it looks like it is not blocked.
    2. This is a mangled explanation, the nouveau driver is blacklisted, but there pieces the Nvidia driver needs to work?! :thinking: Bad explanation but . . .Oh well.

Again thank you very much. I have learned several things now, one of them being I switched back to the regular Fedora KDE spin instead of using Kinoite. I have the Nvidia driver installed, but it is only working when I need it. At the moment it is at 0% GPU usage with 3% CPU usage and a CPU temp of 39ÂşC. In other words: no fan noise.
Maybe after a while I will return to Kinoite because I do like it and it is most likely the future of Linux distro’s. But for now I want to have some me-time, doing other things with the laptop than installing and configuring.

Thanks again.

1 Like

Keep in mind, these manual fixes may break with a next release and are fundanentally weakening the immutable/atomic model. Ublue already does all that and it works out of the box.

I have ublue Aurora installed in a VM and am looking what is different with Fedora Kinoite. Shame I can’t use the Nvidia driver here. But as I said, I will return to an immutable desktop someday and will most likely install Aurora first to see if and how it works.

Thanks.

Aurora has an NVIDIA variant. If you cant use the driver please file a bug report as it should totally work.

You mean I can use the Nvidia driver in a KVM/QEMU virtual machine? I was always under the impression this is not possible. Well, if it’s true what you say, and I don’t argue that, then I will see if I can get the driver installed.

1 Like