Laptop switchable graphics output problem HDMI=fast LVDS=choppy

Problem:

I used to switch graphics card from integrated (Intel GMA4500) to discrete (Radeon 4500 HD) using the command:
echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch
followed by a logout.
This kept the login manager visible on the laptop, allowing to log back in etc etc.

Now, when I logout the LVDS-1 output becomes black and the only way to have the screen visible is to plug an external monitor to the HDMI port of the discrete radeon4500HD card which is HDMI-0 port.

if I login, then the responsiveness of the interface on the laptop screen is extremely slow, whereas it is fast on the external monitor.

I can make it quick also on the laptop display by selecting “Same output on all monitors” from the display settings (Mate desktop).

However, as I unplug the HDMI cable, the interface and responsiveness on the laptop screen goes back to extremely slow.

I would like to have the discrete graphics card to output properly to the laptop screen as it used to before.

Can anybody help please?

Hardware:
touchsmart tm2 1090 eg Laptop
CPU: core2duo
GPU: Intel GMA4500 + Radeon mobility HD4500

Software:
Kernel 5.4
Driver: video-linux
RV710/M92 [Mobility Radeon HD 4350/4550] (ATI Technologies Inc)
Mobile 4 Series Chipset Integrated Graphics Controller (Intel Corporation)
Display manager: lightdm

Can you pinpoint the package, the data when it stopped working as expected?

I would say when kernel started to be version 5.*

vgaswitcheroo is a kernel module

I know that, but I don’t think that’s where the problem is. Can you test an older kernel like 4.19?

I think I solved it, even if I cannot understand the basis for it. I will explain how I did:

  1. I installed linux49 and booted normally and it did not work
  2. I installed linux44 and rebooted
  3. At grub, I remembered that when 4.4 was the most recent kernel I had to use the fallback initramfs boot option otherwise booting would hang
  4. I selected kernel 4.4.241-1 fallback initramfs
  5. After booting I tried to switch graphics card and logged out and it worked including fast and responsive UI
  6. launching glxsperes64 confirmed the gpu used was radeon
  7. I tried to reboot with 5.4.64-1 fallback initramfs and it worked as well

Are you aware of what difference there is between booting using the default kernel option and the fallback initramfs? It seems to be the gamechanger for me.

I will be grateful for an instructive explanation :slight_smile:

Interesting, so it doesn’t work with the normal initramfs, only the fallback?

Yes.
I can reproduce the problem booting using the normal initramfs and solve it by booting with the fallback with at least 3 kernel versions.

What would be the difference between the two?