Screen rotation not working because no FBCON module

I cannot get screen rotation in Chuwi MiniBook X with the recent kernel 6.6.7-4

# modprobe fbcon
modprobe: FATAL: Module fbcon not found in directory /lib/modules/6.6.7-4-MANJARO

and # lsmod doesn’t return presence of fbcon module.

Apparently, the absence of this module cause the GRUB parameter "fbcon=rotate:1" has no effect.
This parameter seems to be the only option to get the screen rotation with GRUB

Also it affects other packets inside the Manjaro repository like “fbcon-autorotate”.

I’m not expert in configuring the kernel. Please, Can you give some help to download and configure this module?


more info:
https://wiki.archlinux.org/title/Chuwi_MiniBook_X_(2023)
https://wiki.archlinux.org/index.php?search=fbcon&title=Special%3ASearch&wprov=acrw1_-1

What’s output of

zcat /proc/config.gz| grep -i framebuffer       

Also worth mentioning is that it’s probably included in kernel itself, so it’s not a module. Which kernel did work?

maybe you are right. This is the info:

# zcat /proc/config.gz | grep -i framebuffer
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y

some people comment the options works
although no idea if other people has UEFI and so on. I have UEFI in bios and I observe how CONFIG_FB_EFI for framebuffer is not active. Maybe this option is related?

other people says the option fbcon is not working ,and this device comes with UEFI in bios by default. Just I think about this, not sure if this is related

I’m trying different things to discard options. I thought the cause was the absence of the module, although really it seems this is already integrated. Your comments are appreciated

thanks for the help

# dmesg | grep -i error
...
[    0.182687] ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20230628/psobject-220)
[    1.243697] RAS: Correctable Errors collector initialized.
[    2.503230] i915 0000:00:02.0: [drm] *ERROR* DSI link not ready
[    4.076545] i915 0000:00:02.0: [drm] *ERROR* DSI link not ready
[   13.809917] i915 0000:00:02.0: [drm] *ERROR* DSI link not ready
# dmesg | grep -i fbcon
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64 root=UUID=385f3d9c-af77-4b6d-936f-291b8fb7ad02 rw fbcon=rotate:1 cryptdevice=UUID=1b218b96-4fd6-4315-b072-986806acf496:luks-1b218b96-4fd6-4315-b072-986806acf496 root=/dev/mapper/luks-1b218b96-4fd6-4315-b072-986806acf496 apparmor=1 security=apparmor udev.log_priority=3
[    0.037264] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64 root=UUID=385f3d9c-af77-4b6d-936f-291b8fb7ad02 rw fbcon=rotate:1 cryptdevice=UUID=1b218b96-4fd6-4315-b072-986806acf496:luks-1b218b96-4fd6-4315-b072-986806acf496 root=/dev/mapper/luks-1b218b96-4fd6-4315-b072-986806acf496 apparmor=1 security=apparmor udev.log_priority=3
[    0.181068] fbcon: Taking over console
[    3.351893] fbcon: i915drmfb (fb0) is primary device
# dmesg | grep -i i915
[    1.749778] i915 0000:00:02.0: vgaarb: deactivate vga console
[    1.750028] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[    1.751168] i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    1.753016] i915 0000:00:02.0: [drm] [ENCODER:184:DSI A] is disabled/in DSI mode with an ungated DDI clock, gate it
[    1.757575] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20)
[    1.769548] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.13.1
[    1.769558] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[    1.774417] i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads
[    1.775094] i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
[    1.775096] i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
[    1.775419] i915 0000:00:02.0: [drm] GT0: GUC: RC enabled
[    1.776308] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[    2.476702] i915 0000:00:02.0: [drm] *ERROR* DSI link not ready
[    3.320516] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
[    3.325698] fbcon: i915drmfb (fb0) is primary device
[    4.049885] i915 0000:00:02.0: [drm] *ERROR* DSI link not ready
[    4.951997] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[   11.310992] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[   11.311170] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
[   11.738844] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   13.996649] i915 0000:00:02.0: [drm] *ERROR* DSI link not ready

the graphics:

# lspci -nnv | grep -i -e 'Intel' | grep -A 11 -e 'VGA' | grep -i -e 'VGA\|Kernel driver\|Kernel modules'
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [UHD Graphics] [8086:46d1] (prog-if 00 [VGA controller])
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci
# lshw -C video | grep -e 'product\|driver'
       producto: Alder Lake-N [UHD Graphics]
       configuración: depth=32 driver=i915 latency=0 mode=1200x1920 resolution=1200,1920 visual=truecolor xres=1200 yres=1920

I tried with previous kernels 6.1 and 5.1x and no difference except more error with other drivers. The present kernel works fine except this graphic problems.

the grub line applied is this:
GRUB_CMDLINE_LINUX=“fbcon=rotate:1 video=DSI-1:panel_orientation=right_side_up”

I have tried booting with Legacy option instead UEFI and no difference
I don’t know the cause of error: “ERROR DSI link not ready”

Any help will be appreciated

last comments in this thread claims it worked with kernel 6.1.X
(link deleted by the system, I don’t know why)

I have tried Kernel 6.1.68-1 and it doesn’t work.

According this discussion around rotation and kernels:

“Console rotation will only become available if Console Rotation Support is compiled in your kernel.
This is purely console rotation. Any other applications that use the framebuffer will remain at their 'normal’orientation.
Actually, the underlying fb driver is totally ignorant of console rotation.”
(link deleted by the system)

¿Is there some way or command to interact with the kernel to know its compiled functions?

message [drm] *ERROR* DSI link not ready appears because a bug in i915 introduced some months ago. This explain why the rotation worked months ago but it doesn’t work today,.

reFind and Grub cannot be rotated with previous kernels neither there is possibility to downgrade mesa.

I close the thread because there is not help in this community or maybe I fail to understand sectarian procedures in the communication.

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.