• Re: Trying to start Xorg on a vanilla bullseye on rpi4

    From Tim Woodall@21:1/5 to Tim Woodall on Wed Dec 11 20:00:01 2024
    Replying to a very old email of mine below just for an update. At the time
    I never got to the bottom of why I couldn't use Xorg with dual head 4K monitors. Today I finally got around to trying Bookworm, it made no
    difference, however one of my experiments gave me a slightly different
    error about memory allocation failing and that lead me to the cma= setting
    on the kernel command line.

    So I now have dual 4k monitors working on a clean debian install.

    cmdline.txt has:
    console=tty0 console=ttyS1,115200 root=/dev/mmcblk1p3 rw fsck.repair=yes net.ifnames=0 rootwait iomem=relaxed cma=640M

    (I'm not sure exactly what cma= setting is needed, but 768 didn't
    boot. Too small and while I do get dual screen output, I can't use
    xrandr to rotate/adjust. Even now I can only set the panning once,
    further attempts to move the second screen relative to the first fail
    and the X server has to be restarted, I assume due to the same memory
    issue)

    and config.txt has
    # Do not modify this file!
    #
    # It is automatically generated upon install or update of either the
    # firmware or the Linux kernel.
    #
    # If you need to set boot-time parameters, do so via the
    # /etc/default/raspi-firmware, /etc/default/raspi-firmware-custom or
    # /etc/default/raspi-extra-cmdline files.

    # Switch the CPU from ARMv7 into ARMv8 (aarch64) mode
    arm_64bit=1

    enable_uart=1
    upstream_kernel=1

    kernel=vmlinuz-6.1.0-28-arm64
    # For details on the initramfs directive, see
    # https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=10532
    initramfs initrd.img-6.1.0-28-arm64

    # Inserted by /etc/default/raspi-firmware-custom
    hdmi_cvt:0=1920 1080 30 3
    hdmi_group:0=2
    hdmi_mode:0=87
    hdmi_drive:0=2
    hdmi_cvt:1=1920 1080 30 3
    hdmi_group:1=2
    hdmi_mode:1=87
    hdmi_drive:1=2


    I don't really understand those raspi-firmware-custom settings, however,
    this is what was required to give the best quality output on my screens -
    I did need to explicitly set them for both outputs.


    This is never going to make a gaming setup - it might not even be any good
    for movies, but for coding where I have lots of xterms open at once this doubles the screen real-estate that I have.

    Tim.


    On Thu, 3 Nov 2022, Tim Woodall wrote:

    Hi,

    I have a vanilla installation of debian bullseye on a rpi4

    But I cannot get X to start with two 4K screens attached.


    The error (entire log below) is
    [ 707.980] (II) modeset(0): Output HDMI-1 connected
    [ 707.980] (II) modeset(0): Output HDMI-2 connected
    [ 707.980] (II) modeset(0): Using spanning desktop for initial modes
    [ 707.980] (II) modeset(0): Output HDMI-1 using initial mode 3840x2160 +0+0 [ 707.980] (II) modeset(0): Output HDMI-2 using initial mode 3840x2160 +3840+0
    [ 707.980] (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
    [ 707.980] (==) modeset(0): DPI set to (96, 96)
    [ 707.980] (II) Loading sub module "fb"
    [ 707.981] (II) LoadModule: "fb"
    [ 707.981] (II) Loading /usr/lib/xorg/modules/libfb.so
    [ 707.982] (II) Module fb: vendor="X.Org Foundation"
    [ 707.982] compiled for 1.20.11, module version = 1.0.0
    [ 707.982] ABI class: X.Org ANSI C Emulation, version 0.4
    [ 707.983] (II) UnloadModule: "fbdev"
    [ 707.983] (II) Unloading fbdev
    [ 707.983] (II) UnloadSubModule: "fbdevhw"
    [ 707.983] (II) Unloading fbdevhw
    [ 707.999] (EE) Fatal server error:
    [ 707.999] (EE) AddScreen/ScreenInit failed for driver 0
    [ 707.999] (EE) [ 707.999] (EE)

    Which doesn't really tell me a lot...

    If I start with one screen connected and then plug in the other then I
    get a mirrored display whan I start the second output with xandr. But
    any attempt to use xrandr to move them fails.



    root@test17:~# xrandr --output HDMI-2 --mode 3840x2160 --panning 3840x2160+0+0
    root@test17:~# xrandr
    Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 7680 x 7680
    HDMI-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
    3840x2160 27.26*+ 30.00 25.00 24.00 29.97 23.98
    2560x1440 59.95
    1920x1080 60.00 59.94 30.00 29.97
    1920x1080i 60.00 59.94
    1600x900 60.00
    1280x1024 60.02
    1280x800 59.91
    1280x720 60.00 59.94
    1024x768 60.00
    800x600 60.32
    720x480 60.00 59.94
    640x480 60.00 59.94 HDMI-2 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
    3840x2160 27.26*+ 30.00 30.00 25.00 24.00 29.97 23.98
    2560x1440 59.95
    1920x1080 60.00 60.00 59.94 30.00 24.00 29.97 23.98
    1920x1080i 60.00 59.94
    1600x900 60.00
    1280x1024 60.02
    1280x800 59.91
    1280x720 60.00 59.94
    1024x768 60.00
    800x600 60.32
    720x480 60.00 59.94
    640x480 60.00 59.94


    root@test17:~# xrandr --output HDMI-2 --mode 3840x2160 --panning 3840x2160+3840+0
    X Error of failed request: BadMatch (invalid parameter attributes)
    Major opcode of failed request: 140 (RANDR)
    Minor opcode of failed request: 7 (RRSetScreenSize)
    Serial number of failed request: 35
    Current serial number in output stream: 36
    root@test17:~#


    Does anyone have any ideas of what I need to do to get this working?

    Even just being able to start X without having to unplug a screen would be a start.

    Tim.



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)