Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DietPi-Software | Chromium: Automated kiosk mode blocked by GPLv2 accept screen #3326

Closed
mrbluecoat opened this issue Jan 8, 2020 · 27 comments
Labels
Enhancement 💨 Solution available 🥂 Definite solution has been done
Milestone

Comments

@mrbluecoat
Copy link

Creating a bug report/issue

Required Information

  • DietPi version | 6.28.0
  • Distro version | buster
  • Kernel version | 4.19.75-v7+
  • SBC device | RPi 3 Model B (armv7l)
  • Power supply used | RPi3 plug
  • SDcard used | SanDisk ultra 8 GB

Additional Information (if applicable)

  • Software title | Chromium
  • Was the software title installed freshly or updated/migrated? Fresh install
  • Can this issue be replicated on a fresh installation of DietPi? Yes

Steps to reproduce

  1. On a Mac, flashed official DietPi Raspberry Pi image onto SD card
  2. Updated dietpi-wifi.txt with Wi-Fi credentials
  3. Updated dietpi.txt:
sed -i '' 's/AUTO_SETUP_LOCALE=.*/AUTO_SETUP_LOCALE=en_US.UTF-8/' dietpi.txt
sed -i '' 's/AUTO_SETUP_KEYBOARD_LAYOUT=.*/AUTO_SETUP_KEYBOARD_LAYOUT=us/' dietpi.txt
sed -i '' 's/AUTO_SETUP_TIMEZONE=.*/AUTO_SETUP_TIMEZONE=America\/Phoenix/' dietpi.txt
sed -i '' 's/AUTO_SETUP_NET_WIFI_ENABLED=.*/AUTO_SETUP_NET_WIFI_ENABLED=1/' dietpi.txt
sed -i '' 's/AUTO_SETUP_AUTOSTART_TARGET_INDEX=.*/AUTO_SETUP_AUTOSTART_TARGET_INDEX=11/' dietpi.txt
sed -i '' 's/AUTO_SETUP_AUTOMATED=.*/AUTO_SETUP_AUTOMATED=1/' dietpi.txt
sed -i '' 's/#AUTO_SETUP_INSTALL_SOFTWARE_ID=44.*/AUTO_SETUP_INSTALL_SOFTWARE_ID=113    # Chromium browser/' dietpi.txt
sed -i '' 's/CONFIG_BOOT_WAIT_FOR_NETWORK=.*/CONFIG_BOOT_WAIT_FOR_NETWORK=2/' dietpi.txt
sed -i '' 's/CONFIG_AUTO_DIETPI_UPDATES=.*/CONFIG_AUTO_DIETPI_UPDATES=1/' dietpi.txt
sed -i '' 's/CONFIG_WIFI_COUNTRY_CODE=.*/CONFIG_WIFI_COUNTRY_CODE=US/' dietpi.txt
sed -i '' 's/CONFIG_SERIAL_CONSOLE_ENABLE=.*/CONFIG_SERIAL_CONSOLE_ENABLE=0/' dietpi.txt
sed -i '' 's/CONFIG_ENABLE_IPV6=.*/CONFIG_ENABLE_IPV6=0/' dietpi.txt
sed -i '' 's/SOFTWARE_CHROMIUM_RES_X=.*/SOFTWARE_CHROMIUM_RES_X=1920/' dietpi.txt
sed -i '' 's/SOFTWARE_CHROMIUM_RES_Y=.*/SOFTWARE_CHROMIUM_RES_Y=1080/' dietpi.txt
  1. I put the SD card in the Raspberry Pi 3, plugged in the HDMI cable, and the power cable.
  2. DietPi started, updated, and eventually displayed the blue GPLv2 ncurses whiptail accept screen

Expected behaviour

I expected the SOFTWARE_CHROMIUM_AUTOSTART_URL to be displayed in full-screen Chromium kiosk mode on the screen.

Actual behaviour

Displays the blue GPLv2 ncurses whiptail accept screen

Extra details

When I SSH into the unit I can accept the GPLv2 OK prompt screen but it still displays on the HDMI TV source. Then, if I then run reboot or /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh it will display the kiosk mode output as expected, except:

  1. The mouse is still visible (similar to Chromium - Dedicated use, without desktop : No such file or directory #2298). G_AGI unclutter && echo '/usr/bin/unclutter -idle 0.1 &' > /etc/chromium-browser/customizations/99-dietpi-unclutter from DietPi-Software | Chromium: Hide mouse in autostart kiosk mode #2575 and a reboot fixed that.
  2. I get Chromium nag popups saying it didn't shut down properly. Changing --homepage to --app= in /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh fixed that (see https://raspberrypi.stackexchange.com/a/85827).

P.S. https://github.com/MichaIng/DietPi/blob/master/dietpi.txt#L48-L49 is confusing because the comment says "Disable" but the default value is enabled. Perhaps change to something like "Set to '1' to disable HDMI output..."

@Joulinar
Copy link
Collaborator

Joulinar commented Jan 8, 2020

Hi,
this is all as expected I would say. On first initial boot you would need to run the inital setup process once. This will update you to latest DietPi version. So you need to do the following

  1. flash your SD card
  2. change your settings in dietpi.txt
  3. don't enable autostart for Chromium yet
  4. plug in SD card into your SBC
  5. connect via SSH to your SBC and run first initial set up
  6. once done and all required software was installed you can enable autostart for Chromium
  7. install unclutter to hide the mouse
  8. change chromium-autostart.sh to enable --app mode to hide error messages during boot

@MichaIng
Copy link
Owner

MichaIng commented Jan 8, 2020

@mrbluecoat
Many thanks for your report.

Indeed the GPLv2 license prompt is skipped if automated firstrun setup was chosen. But it then prompts on the next "interactive" login instead. If this login is not actually interactive (we check shell parameters, not for an actually attached keyboard, which would be totally not trivial or impossible, especially when considering SSH or serial console), then this causes an issue. So yeah current workaround is given by @Joulinar 👍.

I am thinking about how to reasonably prevent this issue. Most autostart options are anyway only usable interactively, so we could simply hide/skip the Chromium kiosk autostart option until GPLv2 license has been accepted. But this info must already been given in config.txt, else users select automated firstrun setup + Chromium kiosk autostart and expect the website to show up on screen/LCD without any need for interactivity.
We could of course skip the license prompt if Chromium kiosk is selected, but this is actually nothing I want to do. The license should be visible and accepted as fast as DietPi is actively used in any way.

@mrbluecoat
Copy link
Author

Since our use case required a fully automated installation at the destination location, with some help from #2938 and a bit more trial and error, here's the solution that finally worked for me:

sed -i '' 's/AUTO_SETUP_LOCALE=.*/AUTO_SETUP_LOCALE=en_US.UTF-8/' dietpi.txt
sed -i '' 's/AUTO_SETUP_KEYBOARD_LAYOUT=.*/AUTO_SETUP_KEYBOARD_LAYOUT=us/' dietpi.txt
sed -i '' 's/AUTO_SETUP_TIMEZONE=.*/AUTO_SETUP_TIMEZONE=America\/Phoenix/' dietpi.txt
sed -i '' 's/AUTO_SETUP_NET_WIFI_ENABLED=.*/AUTO_SETUP_NET_WIFI_ENABLED=1/' dietpi.txt
sed -i '' 's/AUTO_SETUP_AUTOSTART_TARGET_INDEX=.*/AUTO_SETUP_AUTOSTART_TARGET_INDEX=11/' dietpi.txt
sed -i '' 's/AUTO_SETUP_AUTOMATED=.*/AUTO_SETUP_AUTOMATED=1/' dietpi.txt
sed -i '' "s/AUTO_SETUP_GLOBAL_PASSWORD=.*/AUTO_SETUP_GLOBAL_PASSWORD=$SSH_PASSWORD/" dietpi.txt
sed -i '' 's/#AUTO_SETUP_INSTALL_SOFTWARE_ID=44.*/AUTO_SETUP_INSTALL_SOFTWARE_ID=113    # Chromium browser/' dietpi.txt
sed -i '' 's/CONFIG_BOOT_WAIT_FOR_NETWORK=.*/CONFIG_BOOT_WAIT_FOR_NETWORK=2/' dietpi.txt
sed -i '' 's/CONFIG_AUTO_DIETPI_UPDATES=.*/CONFIG_AUTO_DIETPI_UPDATES=1/' dietpi.txt
sed -i '' 's/CONFIG_WIFI_COUNTRY_CODE=.*/CONFIG_WIFI_COUNTRY_CODE=US/' dietpi.txt
sed -i '' 's/CONFIG_SERIAL_CONSOLE_ENABLE=.*/CONFIG_SERIAL_CONSOLE_ENABLE=0/' dietpi.txt
sed -i '' 's/CONFIG_ENABLE_IPV6=.*/CONFIG_ENABLE_IPV6=0/' dietpi.txt
sed -i '' 's/SOFTWARE_CHROMIUM_RES_X=.*/SOFTWARE_CHROMIUM_RES_X=1920/' dietpi.txt
sed -i '' 's/SOFTWARE_CHROMIUM_RES_Y=.*/SOFTWARE_CHROMIUM_RES_Y=1080/' dietpi.txt
sed -i '' 's/SOFTWARE_CHROMIUM_AUTOSTART_URL=.*/SOFTWARE_CHROMIUM_AUTOSTART_URL=https:\/\/example.com/' dietpi.txt

cat > Automation_Custom_Script.sh <<EOF
#!/bin/bash
if [[ -f '/var/lib/dietpi/license.txt' ]]; then mv /var/lib/dietpi/license.txt /var/lib/dietpi/license.accepted ; fi
sed -i 's/--homepage\s/--app=/' /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh
sed -i 's/xinit.*/xinit \\\$FP_CHROMIUM \\\$CHROMIUM_OPTS -- -nocursor/' /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh
EOF

@MichaIng
Copy link
Owner

MichaIng commented Jan 8, 2020

@mrbluecoat

[[ -f '/var/lib/dietpi/license.txt' ]]; then mv /var/lib/dietpi/license.txt /var/lib/dietpi/license.accepted

Jep this is what works around the issue. Probably it is easiest if we add an AUTO_SETUP_ACCEPT_LICENSE option (with comment that dietpi-LICENSE.md should be read), which can be set to 1 to skip the prompt. When users change/set this actively, this can be taken as sufficient step, comparable with hitting <Ok> once on interactive prompt.


I'll reopen the issue to not forget implementing some enhancement as above.

@MichaIng MichaIng reopened this Jan 8, 2020
@MichaIng MichaIng modified the milestones: v6.29, v6.30 Mar 18, 2020
@MichaIng MichaIng changed the title Automated kiosk mode blocked by GPLv2 accept screen DietPi-Software | Chromium: Automated kiosk mode blocked by GPLv2 accept screen Mar 18, 2020
@MichaIng
Copy link
Owner

I'll postpone this, together with all those Chromium kiosk/app mode tasks, to v6.30. Need to get v6.29 finished and this is more a special case with existing workaround IMO.

@MichaIng MichaIng modified the milestones: v6.30, v6.31 May 10, 2020
@MichaIng MichaIng modified the milestones: v6.31, v6.32 Jun 24, 2020
MichaIng added a commit that referenced this issue Jun 25, 2020
+ dietpi.txt | Allow to skip the interactive license dialog via new setting AUTO_SETUP_ACCEPT_LICENSE=1. This resolves an issue where firstrun setup is done non-interactively (AUTO_SETUP_AUTOMATED=1) and a non-input autostart options is chosen, e.g. Chromium kiosk mode with no keyboard attached: #3326
MichaIng added a commit that referenced this issue Jun 25, 2020
+ CHANGELOG | DietPi-Login | A new setting has been added which allows to skip the interactive GPLv2 license agreement on first login. Add/set "AUTO_SETUP_ACCEPT_LICENSE=1" in (/boot/)dietpi.txt in which case we assume you read and agreed the license text at least once. Many thanks to @mrbluecoat for reporting the urgent use-case of Chromium kiosk mode autostart without keyboard attached: #3326
@MichaIng
Copy link
Owner

Done:

@MichaIng MichaIng added the Solution available 🥂 Definite solution has been done label Jun 25, 2020
@MichaIng MichaIng mentioned this issue Jun 28, 2020
@Velociraptor85
Copy link

Is it possible to use this with an RPi 4B with 2 monitors and 2 different websites ?

@MichaIng
Copy link
Owner

MichaIng commented Oct 4, 2021

At least not with a single kiosk mode instance. Probably it is possible via an adjusted copy of the /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh script which is then started (separately) on the other screen attached to a different TTY.

I'm actually not sure how the second HDMI is used OOTB on RPI4. If anything, what do you actually see by default on the second monitor? If nothing, does a login prompt show up when you run:

systemctl start getty@tty2

@Velociraptor85
Copy link

Velociraptor85 commented Oct 17, 2021

The command launched an console on the monitor which the chromium was displayed on.

edit:

  • further investigations showed that dmesg has a line saying bcm2708_fb soc:fb: FB found 1 display(s) also ls /tmp/.X11-unix shown only one X Server running X0 but both displays are attached and only one is showing output. Additionally I found some configs for /boot/config.txt but for now I wasn't able to start a second X11 Server or run a second chromium with xinit chromium --homepage www.example.com :0.1 on the second display
  • here I found a command tvservice -l which shows promising output

    2 attached device(s), display ID's are :
    Display Number 2, type HDMI 0
    Display Number 7, type HDMI 1

@MichaIng
Copy link
Owner

Are there two framebuffer devices? From a thread on the forum it seems that unexpectedly (with current kernel) on RPi 4 only one framebuffer device is active, while it should be two when two displays are attached:

ls -l /dev/fb*

@Velociraptor85
Copy link

Are there two framebuffer devices? From a thread on the forum it seems that unexpectedly (with current kernel) on RPi 4 only one framebuffer device is active, while it should be two when two displays are attached:

ls -l /dev/fb*

Sadly there is only one.

@MichaIng
Copy link
Owner

Try:

G_CONFIG_INJECT 'max_framebuffers=' 'max_framebuffers=2' /boot/config.txt
reboot

@Velociraptor85
Copy link

Try:

G_CONFIG_INJECT 'max_framebuffers=' 'max_framebuffers=2' /boot/config.txt
reboot

So sadly this did not help -_- its still only one framebuffer

@MichaIng
Copy link
Owner

MichaIng commented Nov 13, 2021

Do you have a KMS driver enabled?

grep 'dtoverlay=vc4' /boot/config.txt

@Velociraptor85
Copy link

Velociraptor85 commented Nov 13, 2021

Do you have a KMS driver enabled?

grep 'dtoverlay=vc4' /boot/config.txt

So with both monitors attached, both max_framebuffers=2 and dtoverlay=v3d set and updated to 7.8.2 I have now two framebuffer devices =) nice

@MichaIng
Copy link
Owner

MichaIng commented Nov 13, 2021

Whoops, I made a typo above, it should be in full dtoverlay=vc4-kms-v3d (full KMS driver) or dtoverlay=vc4-fkms-v3d (fake KMS driver). I was thinking whether this has somehow an impact on the framebuffer devices. At least for GUI applications, those are then not used anymore, but /dev/dri/card0 resp. /dev/dri/card1 instead.

Great that it works now. Maybe it was a bug that got solved with the latest firmware update.

@Velociraptor85
Copy link

  • so for both vc4-kms-v3d & vc4-fkms-v3d I only get one Framebuffer device but I have the card0/1 devices
  • with vc4 or v3d I get both framebuffer deivces but no /dev/dri
  • neither configuration starts a shell on the second screen via the mentioned command systemctl start getty@tty2

@MichaIng
Copy link
Owner

with vc4 or v3d I get both framebuffer deivces but no /dev/dri

These overlays do not exist, hence it's like you simply remove the line. Okay so enabling KMS disables the second framebuffer, ignoring max_framebuffers=2. This looks like a bug to me since with this it is impossible to show two consoles on both screens, AFAIK. But it is possible to start a second X server and hence second Chromium, since it uses DRM/KMS automatically, when available. Not sure whether the second DRI is the second screen or whether something needs to be configured for that. To be tested:

xinit "$(command -v chromium-browser)" --kiosk -- :1

This can be called on any console or SSH session.

@Velociraptor85
Copy link

So I removed the framebuffer setting and set vc4-kms-v3d - sadly I could not start another chromium browser with that command on the other screen. The first screen blanked out to black and I got following message:

root@dietpi:~# xinit "$(command -v chromium-browser)" --kiosk -- :1


X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System: linux Raspbian
Current Operating System: Linux halle 5.10.63-v7l+ #1459 SMP Wed Oct 6 16:41:57 BST 2021 armv7l
Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:1920x1080M@60 video=HDMI-A-2:1920x1200M@60 smsc95xx.macaddr=DC:A6:32:49:CA:1E vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  root=PARTUUID=0e2887fb-02 rootfstype=ext4 rootwait fsck.repair=yes net.ifnames=0 logo.nologo quiet console=ttyS0,115200 console=tty1
Build Date: 05 August 2021  11:35:55AM
xorg-server 2:1.20.11-1+rpt1 (https://www.debian.org/support)
Current version of pixman: 0.40.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.1.log", Time: Sat Nov 13 23:22:32 2021
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
error: XDG_RUNTIME_DIR not set in the environment.
Xorg: ../../../../dix/privates.c:384: dixRegisterPrivateKey: Assertion `!global_keys[type].created' failed.
(EE)
(EE) Backtrace:
(EE)
(EE)
Fatal server error:
(EE) Caught signal 6 (Aborted). Server aborting
(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.

xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

@MichaIng
Copy link
Owner

Can you check the mentioned log file:

cat /var/log/Xorg.1.log

The same works with the main screen, does it?

xinit "$(command -v chromium-browser)" --kiosk -- :0

@Velociraptor85
Copy link

[    48.673]
X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
[    48.673] Build Operating System: linux Raspbian
[    48.673] Current Operating System: Linux halle 5.10.63-v7l+ #1459 SMP Wed Oct 6 16:41:57 BST 2021 armv7l
[    48.673] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:1920x1200M@60 smsc95xx.macaddr=DC:A6:32:49:CA:1E vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  root=PARTUUID=0e2887fb-02 rootfstype=ext4 rootwait fsck.repair=yes net.ifnames=0 logo.nologo quiet console=ttyS0,115200 console=tty1
[    48.673] Build Date: 05 August 2021  11:35:55AM
[    48.673] xorg-server 2:1.20.11-1+rpt1 (https://www.debian.org/support)
[    48.673] Current version of pixman: 0.40.0
[    48.673]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    48.674] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    48.674] (==) Log file: "/var/log/Xorg.1.log", Time: Sat Nov 13 23:42:04 2021
[    48.674] (==) Using config directory: "/etc/X11/xorg.conf.d"
[    48.674] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    48.674] (==) No Layout section.  Using the first Screen section.
[    48.675] (==) No screen section available. Using defaults.
[    48.675] (**) |-->Screen "Default Screen Section" (0)
[    48.675] (**) |   |-->Monitor "<default monitor>"
[    48.675] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[    48.675] (**) Option "BlankTime" "0"
[    48.675] (==) Automatically adding devices
[    48.675] (==) Automatically enabling devices
[    48.675] (==) Automatically adding GPU devices
[    48.675] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    48.675] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    48.675]    Entry deleted from font path.
[    48.675] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    48.676]    Entry deleted from font path.
[    48.676] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    48.676]    Entry deleted from font path.
[    48.676] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[    48.676]    Entry deleted from font path.
[    48.676] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[    48.676]    Entry deleted from font path.
[    48.676] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[    48.676]    Entry deleted from font path.
[    48.676] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        built-ins
[    48.676] (==) ModulePath set to "/usr/lib/xorg/modules"
[    48.676] (**) Extension "DPMS" is disabled
[    48.676] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[    48.676] (II) Loader magic: 0x20cf40
[    48.676] (II) Module ABI versions:
[    48.676]    X.Org ANSI C Emulation: 0.4
[    48.676]    X.Org Video Driver: 24.1
[    48.676]    X.Org XInput driver : 24.1
[    48.676]    X.Org Server Extension : 10.0
[    48.677] (--) using VT number 3

[    48.677] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[    48.679] (II) xfree86: Adding drm device (/dev/dri/card1)
[    48.679] (EE) /dev/dri/card1: failed to set DRM interface version 1.4: Permission denied
[    48.680] (II) xfree86: Adding drm device (/dev/dri/card0)
[    48.681] (II) no primary bus or device found
[    48.681]    falling back to /sys/devices/platform/v3dbus/fec00000.v3d/drm/card0
[    48.681] (II) LoadModule: "glx"
[    48.681] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    48.684] (II) Module glx: vendor="X.Org Foundation"
[    48.684]    compiled for 1.20.11, module version = 1.0.0
[    48.684]    ABI class: X.Org Server Extension, version 10.0
[    48.684] (==) Matched modesetting as autoconfigured driver 0
[    48.684] (==) Matched fbdev as autoconfigured driver 1
[    48.684] (==) Assigned the driver to the xf86ConfigLayout
[    48.684] (II) LoadModule: "modesetting"
[    48.684] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    48.684] (II) Module modesetting: vendor="X.Org Foundation"
[    48.684]    compiled for 1.20.11, module version = 1.20.11
[    48.685]    Module class: X.Org Video Driver
[    48.685]    ABI class: X.Org Video Driver, version 24.1
[    48.685] (II) LoadModule: "fbdev"
[    48.685] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[    48.685] (II) Module fbdev: vendor="X.Org Foundation"
[    48.685]    compiled for 1.20.3, module version = 0.5.0
[    48.685]    Module class: X.Org Video Driver
[    48.685]    ABI class: X.Org Video Driver, version 24.0
[    48.685] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    48.685] (II) FBDEV: driver for framebuffer: fbdev
[    48.918] (WW) Falling back to old probe method for modesetting
[    48.919] (WW) Falling back to old probe method for fbdev
[    48.919] (II) Loading sub module "fbdevhw"
[    48.919] (II) LoadModule: "fbdevhw"
[    48.919] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    48.919] (II) Module fbdevhw: vendor="X.Org Foundation"
[    48.919]    compiled for 1.20.11, module version = 0.0.2
[    48.919]    ABI class: X.Org Video Driver, version 24.1
[    48.919] (II) FBDEV(0): using default device
[    48.920] (II) FBDEV(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 16/16
[    48.920] (==) FBDEV(0): Depth 16, (==) framebuffer bpp 16
[    48.920] (==) FBDEV(0): RGB weight 565
[    48.920] (==) FBDEV(0): Default visual is TrueColor
[    48.920] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[    48.920] (II) FBDEV(0): hardware: vc4drmfb (video memory: 4500kB)
[    48.920] (DB) xf86MergeOutputClassOptions unsupported bus type 0
[    48.920] (II) FBDEV(0): checking modes against framebuffer device...
[    48.920] (II) FBDEV(0): checking modes against monitor...
[    48.920] (II) FBDEV(0): Virtual size is 1920x1200 (pitch 1920)
[    48.920] (**) FBDEV(0):  Built-in mode "current"
[    48.920] (==) FBDEV(0): DPI set to (96, 96)
[    48.920] (II) Loading sub module "fb"
[    48.920] (II) LoadModule: "fb"
[    48.920] (II) Loading /usr/lib/xorg/modules/libfb.so
[    48.921] (II) Module fb: vendor="X.Org Foundation"
[    48.921]    compiled for 1.20.11, module version = 1.0.0
[    48.921]    ABI class: X.Org ANSI C Emulation, version 0.4
[    48.921] (**) FBDEV(0): using shadow framebuffer
[    48.921] (II) Loading sub module "shadow"
[    48.921] (II) LoadModule: "shadow"
[    48.921] (II) Loading /usr/lib/xorg/modules/libshadow.so
[    48.923] (II) Module shadow: vendor="X.Org Foundation"
[    48.923]    compiled for 1.20.11, module version = 1.1.0
[    48.923]    ABI class: X.Org ANSI C Emulation, version 0.4
[    48.974] (==) FBDEV(0): Backing store enabled
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.974] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[    48.975] (==) FBDEV(0): DPMS enabled
[    48.975] (II) Initializing extension Generic Event Extension
[    48.975] (II) Initializing extension SHAPE
[    48.976] (II) Initializing extension MIT-SHM
[    48.976] (II) Initializing extension XInputExtension
[    48.977] (II) Initializing extension XTEST
[    48.977] (II) Initializing extension BIG-REQUESTS
[    48.978] (II) Initializing extension SYNC
[    48.978] (II) Initializing extension XKEYBOARD
[    48.979] (II) Initializing extension XC-MISC
[    48.979] (II) Initializing extension SECURITY
[    48.980] (II) Initializing extension XFIXES
[    48.980] (II) Initializing extension RENDER
[    48.981] (II) Initializing extension RANDR
[    48.982] (II) Initializing extension COMPOSITE
[    48.983] (II) Initializing extension DAMAGE
[    48.983] (II) Initializing extension MIT-SCREEN-SAVER
[    48.983] (II) Initializing extension DOUBLE-BUFFER
[    48.984] (II) Initializing extension RECORD
[    48.984] (II) Initializing extension Present
[    48.985] (II) Initializing extension DRI3
[    48.985] (II) Initializing extension X-Resource
[    48.985] (II) Initializing extension XVideo
[    48.986] (II) Initializing extension XVideo-MotionCompensation
[    48.986] (II) Initializing extension SELinux
[    48.986] (II) SELinux: Disabled on system
[    48.986] (II) Initializing extension GLX
[    48.987] (II) AIGLX: Screen 0 is not DRI2 capable
[    49.141] (II) IGLX: Loaded and initialized swrast
[    49.141] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    49.141] (II) Initializing extension XFree86-VidModeExtension
[    49.141] (II) Initializing extension XFree86-DGA
[    49.142] (II) Initializing extension XFree86-DRI
[    49.142] (II) Initializing extension DRI2
[    49.262] (II) config/udev: Adding drm device (/dev/dri/card1)
[    49.262] (II) xfree86: Adding drm device (/dev/dri/card1)
[    49.262] (II) LoadModule: "modesetting"
[    49.263] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    49.263] (II) Module modesetting: vendor="X.Org Foundation"
[    49.263]    compiled for 1.20.11, module version = 1.20.11
[    49.263]    Module class: X.Org Video Driver
[    49.263]    ABI class: X.Org Video Driver, version 24.1
[    49.263] (II) UnloadModule: "modesetting"
[    49.263] (II) Unloading modesetting
[    49.263] (II) Failed to load module "modesetting" (already loaded, 0)
[    49.263] (II) modeset(G0): using drv /dev/dri/card1
[    49.263] (II) modeset(G0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[    49.263] (==) modeset(G0): Depth 24, (==) framebuffer bpp 32
[    49.264] (==) modeset(G0): RGB weight 888
[    49.264] (==) modeset(G0): Default visual is TrueColor
[    49.264] (II) Loading sub module "glamoregl"
[    49.264] (II) LoadModule: "glamoregl"
[    49.264] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[    49.273] (II) Module glamoregl: vendor="X.Org Foundation"
[    49.273]    compiled for 1.20.11, module version = 1.0.1
[    49.273]    ABI class: X.Org ANSI C Emulation, version 0.4
[    49.689] (II) modeset(G0): glamor X acceleration enabled on V3D 4.2
[    49.699] (II) modeset(G0): glamor initialized
[    49.699] (II) modeset(G0): Output HDMI-1-1 has no monitor section
[    49.712] (II) modeset(G0): Output HDMI-1-2 has no monitor section
[    49.746] (==) modeset(G0): Using gamma correction (1.0, 1.0, 1.0)
[    49.747] (==) modeset(G0): DPI set to (96, 96)
[    49.747] (II) Loading sub module "fb"
[    49.747] (II) LoadModule: "fb"
[    49.747] (II) Loading /usr/lib/xorg/modules/libfb.so
[    49.747] (II) Module fb: vendor="X.Org Foundation"
[    49.747]    compiled for 1.20.11, module version = 1.0.0
[    49.747]    ABI class: X.Org ANSI C Emulation, version 0.4
[    49.752] (EE)
[    49.753] (EE) Backtrace:
[    49.754] (EE)
[    49.754] (EE)
Fatal server error:
[    49.755] (EE) Caught signal 6 (Aborted). Server aborting
[    49.755] (EE)
[    49.756] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[    49.757] (EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
[    49.758] (EE)
[    49.780] (EE) Server terminated with error (1). Closing log file.

starting the browser on :0 gives me following error

root@halle:~# xinit "$(command -v chromium-browser)" --kiosk -- :0

(EE)
Fatal server error:
(EE) Server is already active for display 0
        If this server is no longer running, remove /tmp/.X0-lock
        and start again.
(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE)

only after killing X I can restart the browser

@MichaIng
Copy link
Owner

MichaIng commented Nov 13, 2021

Strange. I loads KMS with /dev/dri/card1 correctly, but then also tries to load the framebuffer module as sub module, which fails 🤔. Can you compare with the log for screen :0 (makes sense that an already running X server on that screen needs to be stopped first 😉):

cat /var/log/Xorg.0.log

@Velociraptor85
Copy link

after a fresh reboot the file shows

root@dietpi:~# cat /var/log/Xorg.0.log
[     8.461]
X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
[     8.462] Build Operating System: linux Raspbian
[     8.462] Current Operating System: Linux halle 5.10.63-v7l+ #1459 SMP Wed Oct 6 16:41:57 BST 2021 armv7l
[     8.462] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:1920x1200M@60 smsc95xx.macaddr=DC:A6:32:49:CA:1E vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  root=PARTUUID=0e2887fb-02 rootfstype=ext4 rootwait fsck.repair=yes net.ifnames=0 logo.nologo quiet console=ttyS0,115200 console=tty1
[     8.462] Build Date: 05 August 2021  11:35:55AM
[     8.462] xorg-server 2:1.20.11-1+rpt1 (https://www.debian.org/support)
[     8.462] Current version of pixman: 0.40.0
[     8.462]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[     8.462] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[     8.463] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Nov 13 23:50:49 2021
[     8.472] (==) Using config directory: "/etc/X11/xorg.conf.d"
[     8.472] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[     8.474] (==) No Layout section.  Using the first Screen section.
[     8.474] (==) No screen section available. Using defaults.
[     8.474] (**) |-->Screen "Default Screen Section" (0)
[     8.474] (**) |   |-->Monitor "<default monitor>"
[     8.477] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[     8.477] (**) Option "BlankTime" "0"
[     8.477] (==) Automatically adding devices
[     8.477] (==) Automatically enabling devices
[     8.477] (==) Automatically adding GPU devices
[     8.481] (==) Max clients allowed: 256, resource mask: 0x1fffff
[     8.489] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[     8.489]    Entry deleted from font path.
[     8.489] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[     8.489]    Entry deleted from font path.
[     8.489] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[     8.489]    Entry deleted from font path.
[     8.489] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[     8.489]    Entry deleted from font path.
[     8.489] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[     8.489]    Entry deleted from font path.
[     8.489] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[     8.489]    Entry deleted from font path.
[     8.489] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        built-ins
[     8.489] (==) ModulePath set to "/usr/lib/xorg/modules"
[     8.489] (**) Extension "DPMS" is disabled
[     8.489] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[     8.489] (II) Loader magic: 0x20cf40
[     8.489] (II) Module ABI versions:
[     8.489]    X.Org ANSI C Emulation: 0.4
[     8.489]    X.Org Video Driver: 24.1
[     8.489]    X.Org XInput driver : 24.1
[     8.489]    X.Org Server Extension : 10.0
[     8.491] (--) using VT number 2

[     8.491] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[     8.493] (II) xfree86: Adding drm device (/dev/dri/card1)
[     8.505] (II) xfree86: Adding drm device (/dev/dri/card0)
[     8.506] (II) no primary bus or device found
[     8.506]    falling back to /sys/devices/platform/gpu/drm/card1
[     8.506] (II) LoadModule: "glx"
[     8.508] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[     8.541] (II) Module glx: vendor="X.Org Foundation"
[     8.541]    compiled for 1.20.11, module version = 1.0.0
[     8.541]    ABI class: X.Org Server Extension, version 10.0
[     8.541] (==) Matched modesetting as autoconfigured driver 0
[     8.541] (==) Matched fbdev as autoconfigured driver 1
[     8.541] (==) Assigned the driver to the xf86ConfigLayout
[     8.541] (II) LoadModule: "modesetting"
[     8.541] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[     8.544] (II) Module modesetting: vendor="X.Org Foundation"
[     8.544]    compiled for 1.20.11, module version = 1.20.11
[     8.544]    Module class: X.Org Video Driver
[     8.544]    ABI class: X.Org Video Driver, version 24.1
[     8.544] (II) LoadModule: "fbdev"
[     8.544] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[     8.546] (II) Module fbdev: vendor="X.Org Foundation"
[     8.546]    compiled for 1.20.3, module version = 0.5.0
[     8.546]    Module class: X.Org Video Driver
[     8.546]    ABI class: X.Org Video Driver, version 24.0
[     8.546] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[     8.546] (II) FBDEV: driver for framebuffer: fbdev
[     8.572] (II) modeset(0): using drv /dev/dri/card1
[     8.573] (WW) Falling back to old probe method for fbdev
[     8.573] (II) Loading sub module "fbdevhw"
[     8.573] (II) LoadModule: "fbdevhw"
[     8.573] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[     8.574] (II) Module fbdevhw: vendor="X.Org Foundation"
[     8.574]    compiled for 1.20.11, module version = 0.0.2
[     8.574]    ABI class: X.Org Video Driver, version 24.1
[     8.575] (II) modeset(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[     8.575] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
[     8.575] (==) modeset(0): RGB weight 888
[     8.575] (==) modeset(0): Default visual is TrueColor
[     8.575] (II) Loading sub module "glamoregl"
[     8.575] (II) LoadModule: "glamoregl"
[     8.575] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[     8.601] (II) Module glamoregl: vendor="X.Org Foundation"
[     8.601]    compiled for 1.20.11, module version = 1.0.1
[     8.601]    ABI class: X.Org ANSI C Emulation, version 0.4
[     9.930] (II) modeset(0): glamor X acceleration enabled on V3D 4.2
[     9.930] (II) modeset(0): glamor initialized
[     9.930] (II) modeset(0): Output HDMI-1 has no monitor section
[     9.943] (II) modeset(0): Output HDMI-2 has no monitor section
[     9.961] (II) modeset(0): EDID for output HDMI-1
[     9.974] (II) modeset(0): EDID for output HDMI-2
[     9.974] (II) modeset(0): Manufacturer: HWP  Model: 286a  Serial#: 16843009
[     9.974] (II) modeset(0): Year: 2010  Week: 16
[     9.974] (II) modeset(0): EDID Version: 1.3
[     9.974] (II) modeset(0): Digital Display Input
[     9.974] (II) modeset(0): Max Image Size [cm]: horiz.: 54  vert.: 35
[     9.974] (II) modeset(0): Gamma: 2.20
[     9.974] (II) modeset(0): DPMS capabilities: Off
[     9.974] (II) modeset(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4
[     9.974] (II) modeset(0): Default color space is primary color space
[     9.974] (II) modeset(0): First detailed timing is preferred mode
[     9.974] (II) modeset(0): redX: 0.644 redY: 0.335   greenX: 0.304 greenY: 0.613
[     9.974] (II) modeset(0): blueX: 0.146 blueY: 0.070   whiteX: 0.312 whiteY: 0.329
[     9.974] (II) modeset(0): Supported established timings:
[     9.974] (II) modeset(0): 640x480@60Hz
[     9.974] (II) modeset(0): 800x600@60Hz
[     9.974] (II) modeset(0): 1024x768@60Hz
[     9.974] (II) modeset(0): Manufacturer's mask: 0
[     9.974] (II) modeset(0): Supported standard timings:
[     9.974] (II) modeset(0): #0: hsize: 1280  vsize 960  refresh: 60  vid: 16513
[     9.974] (II) modeset(0): #1: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
[     9.974] (II) modeset(0): #2: hsize: 1440  vsize 900  refresh: 60  vid: 149
[     9.974] (II) modeset(0): #3: hsize: 1600  vsize 1200  refresh: 60  vid: 16553
[     9.974] (II) modeset(0): #4: hsize: 1680  vsize 1050  refresh: 60  vid: 179
[     9.974] (II) modeset(0): #5: hsize: 1920  vsize 1080  refresh: 60  vid: 49361
[     9.974] (II) modeset(0): Supported detailed timing:
[     9.974] (II) modeset(0): clock: 154.0 MHz   Image Size:  546 x 352 mm
[     9.974] (II) modeset(0): h_active: 1920  h_sync: 1968  h_sync_end 2000 h_blank_end 2080 h_border: 0
[     9.974] (II) modeset(0): v_active: 1200  v_sync: 1203  v_sync_end 1209 v_blanking: 1235 v_border: 0
[     9.974] (II) modeset(0): Ranges: V min: 59 V max: 61 Hz, H min: 24 H max: 80 kHz, PixClock max 175 MHz
[     9.974] (II) modeset(0): Monitor name: HP ZR24w
[     9.974] (II) modeset(0): Serial No: CNT01612RV
[     9.974] (II) modeset(0): EDID (in hex):
[     9.974] (II) modeset(0):   00ffffffffffff0022f06a2801010101
[     9.974] (II) modeset(0):   10140103803623782efc81a4554d9d25
[     9.974] (II) modeset(0):   125054210800814081809500a940b300
[     9.974] (II) modeset(0):   d1c001010101283c80a070b023403020
[     9.974] (II) modeset(0):   360022602100001a000000fd003b3d18
[     9.975] (II) modeset(0):   5011000a202020202020000000fc0048
[     9.975] (II) modeset(0):   50205a523234770a20202020000000ff
[     9.975] (II) modeset(0):   00434e54303136313252560a20200032
[     9.975] (II) modeset(0): Printing probed modes for output HDMI-2
[     9.975] (II) modeset(0): Modeline "1920x1200"x60.0  154.00  1920 1968 2000 2080  1200 1203 1209 1235 +hsync -vsync (74.0 kHz eP)
[     9.975] (II) modeset(0): Modeline "1920x1080"x60.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 -hsync -vsync (67.5 kHz e)
[     9.975] (II) modeset(0): Modeline "1600x1200"x60.0  162.00  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync (75.0 kHz e)
[     9.975] (II) modeset(0): Modeline "1680x1050"x59.9  119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync -vsync (64.7 kHz e)
[     9.975] (II) modeset(0): Modeline "1280x1024"x60.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
[     9.975] (II) modeset(0): Modeline "1440x900"x59.9   88.75  1440 1488 1520 1600  900 903 909 926 +hsync -vsync (55.5 kHz e)
[     9.975] (II) modeset(0): Modeline "1280x960"x60.0  108.00  1280 1376 1488 1800  960 961 964 1000 +hsync +vsync (60.0 kHz e)
[     9.975] (II) modeset(0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[     9.975] (II) modeset(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[     9.975] (II) modeset(0): Modeline "640x480"x59.9   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[     9.975] (II) modeset(0): Output HDMI-1 disconnected
[     9.975] (II) modeset(0): Output HDMI-2 connected
[     9.975] (II) modeset(0): Using exact sizes for initial modes
[     9.975] (II) modeset(0): Output HDMI-2 using initial mode 1920x1200 +0+0
[     9.975] (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
[     9.975] (==) modeset(0): DPI set to (96, 96)
[     9.975] (II) Loading sub module "fb"
[     9.975] (II) LoadModule: "fb"
[     9.975] (II) Loading /usr/lib/xorg/modules/libfb.so
[     9.978] (II) Module fb: vendor="X.Org Foundation"
[     9.978]    compiled for 1.20.11, module version = 1.0.0
[     9.979]    ABI class: X.Org ANSI C Emulation, version 0.4
[     9.979] (II) UnloadModule: "fbdev"
[     9.979] (II) Unloading fbdev
[     9.979] (II) UnloadSubModule: "fbdevhw"
[     9.979] (II) Unloading fbdevhw
[    10.126] (==) modeset(0): Backing store enabled
[    10.126] (==) modeset(0): Silken mouse enabled
[    10.273] (II) modeset(0): Initializing kms color map for depth 24, 8 bpc.
[    10.273] (==) modeset(0): DPMS enabled
[    10.273] (II) modeset(0): [DRI2] Setup complete
[    10.273] (II) modeset(0): [DRI2]   DRI driver: vc4
[    10.273] (II) modeset(0): [DRI2]   VDPAU driver: vc4
[    10.273] (II) Initializing extension Generic Event Extension
[    10.274] (II) Initializing extension SHAPE
[    10.274] (II) Initializing extension MIT-SHM
[    10.275] (II) Initializing extension XInputExtension
[    10.277] (II) Initializing extension XTEST
[    10.278] (II) Initializing extension BIG-REQUESTS
[    10.278] (II) Initializing extension SYNC
[    10.279] (II) Initializing extension XKEYBOARD
[    10.279] (II) Initializing extension XC-MISC
[    10.280] (II) Initializing extension SECURITY
[    10.280] (II) Initializing extension XFIXES
[    10.281] (II) Initializing extension RENDER
[    10.281] (II) Initializing extension RANDR
[    10.282] (II) Initializing extension COMPOSITE
[    10.283] (II) Initializing extension DAMAGE
[    10.283] (II) Initializing extension MIT-SCREEN-SAVER
[    10.284] (II) Initializing extension DOUBLE-BUFFER
[    10.284] (II) Initializing extension RECORD
[    10.285] (II) Initializing extension Present
[    10.285] (II) Initializing extension DRI3
[    10.286] (II) Initializing extension X-Resource
[    10.286] (II) Initializing extension XVideo
[    10.287] (II) Initializing extension XVideo-MotionCompensation
[    10.287] (II) Initializing extension SELinux
[    10.287] (II) SELinux: Disabled on system
[    10.287] (II) Initializing extension GLX
[    10.648] (II) AIGLX: Loaded and initialized vc4
[    10.648] (II) GLX: Initialized DRI2 GL provider for screen 0
[    10.648] (II) Initializing extension XFree86-VidModeExtension
[    10.649] (II) Initializing extension XFree86-DGA
[    10.649] (II) Initializing extension XFree86-DRI
[    10.651] (II) Initializing extension DRI2
[    10.654] (II) modeset(0): Damage tracking initialized
[    10.654] (II) modeset(0): Setting screen physical size to 508 x 317
[    10.801] (II) config/udev: Adding input device vc4 (/dev/input/event0)
[    10.801] (**) vc4: Applying InputClass "libinput keyboard catchall"
[    10.801] (II) LoadModule: "libinput"
[    10.801] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[    10.816] (II) Module libinput: vendor="X.Org Foundation"
[    10.816]    compiled for 1.20.8, module version = 0.30.0
[    10.816]    Module class: X.Org XInput Driver
[    10.816]    ABI class: X.Org XInput driver, version 24.1
[    10.816] (II) Using input driver 'libinput' for 'vc4'
[    10.816] (**) vc4: always reports core events
[    10.816] (**) Option "Device" "/dev/input/event0"
[    10.817] (**) Option "_source" "server/udev"
[    10.833] (II) event0  - vc4: is tagged by udev as: Keyboard Pointingstick
[    10.834] (II) event0  - vc4: device is a pointer
[    10.834] (II) event0  - vc4: device is a keyboard
[    10.834] (II) event0  - vc4: device removed
[    10.930] (II) libinput: vc4: needs a virtual subdevice
[    10.930] (**) Option "config_info" "udev:/sys/devices/platform/soc/fef00700.hdmi/rc/rc0/input1/event0"
[    10.930] (II) XINPUT: Adding extended input device "vc4" (type: MOUSE, id 6)
[    10.930] (**) Option "AccelerationScheme" "none"
[    10.930] (**) vc4: (accel) selected scheme none/0
[    10.930] (**) vc4: (accel) acceleration factor: 2.000
[    10.930] (**) vc4: (accel) acceleration threshold: 4
[    10.934] (II) event0  - vc4: is tagged by udev as: Keyboard Pointingstick
[    10.934] (II) event0  - vc4: device is a pointer
[    10.934] (II) event0  - vc4: device is a keyboard
[    10.936] (II) config/udev: Adding input device vc4 (/dev/input/event1)
[    10.936] (**) vc4: Applying InputClass "libinput keyboard catchall"
[    10.936] (II) Using input driver 'libinput' for 'vc4'
[    10.936] (**) vc4: always reports core events
[    10.936] (**) Option "Device" "/dev/input/event1"
[    10.936] (**) Option "_source" "server/udev"
[    10.939] (II) event1  - vc4: is tagged by udev as: Keyboard Pointingstick
[    10.940] (II) event1  - vc4: device is a pointer
[    10.940] (II) event1  - vc4: device is a keyboard
[    10.941] (II) event1  - vc4: device removed
[    11.030] (II) libinput: vc4: needs a virtual subdevice
[    11.030] (**) Option "config_info" "udev:/sys/devices/platform/soc/fef05700.hdmi/rc/rc1/input2/event1"
[    11.030] (II) XINPUT: Adding extended input device "vc4" (type: MOUSE, id 7)
[    11.030] (**) Option "AccelerationScheme" "none"
[    11.030] (**) vc4: (accel) selected scheme none/0
[    11.030] (**) vc4: (accel) acceleration factor: 2.000
[    11.030] (**) vc4: (accel) acceleration threshold: 4
[    11.033] (II) event1  - vc4: is tagged by udev as: Keyboard Pointingstick
[    11.034] (II) event1  - vc4: device is a pointer
[    11.034] (II) event1  - vc4: device is a keyboard
[    11.057] (**) vc4: Applying InputClass "libinput keyboard catchall"
[    11.057] (II) Using input driver 'libinput' for 'vc4'
[    11.057] (**) vc4: always reports core events
[    11.057] (**) Option "Device" "/dev/input/event0"
[    11.057] (**) Option "_source" "_driver/libinput"
[    11.057] (II) libinput: vc4: is a virtual subdevice
[    11.057] (**) Option "config_info" "udev:/sys/devices/platform/soc/fef00700.hdmi/rc/rc0/input1/event0"
[    11.057] (II) XINPUT: Adding extended input device "vc4" (type: KEYBOARD, id 8)
[    11.057] (**) Option "xkb_model" "pc105"
[    11.057] (**) Option "xkb_layout" "de"
[    11.112] (**) vc4: Applying InputClass "libinput keyboard catchall"
[    11.112] (II) Using input driver 'libinput' for 'vc4'
[    11.112] (**) vc4: always reports core events
[    11.112] (**) Option "Device" "/dev/input/event1"
[    11.112] (**) Option "_source" "_driver/libinput"
[    11.112] (II) libinput: vc4: is a virtual subdevice
[    11.113] (**) Option "config_info" "udev:/sys/devices/platform/soc/fef05700.hdmi/rc/rc1/input2/event1"
[    11.113] (II) XINPUT: Adding extended input device "vc4" (type: KEYBOARD, id 9)
[    11.113] (**) Option "xkb_model" "pc105"
[    11.113] (**) Option "xkb_layout" "de"
[    15.900] (II) modeset(0): Disabling kernel dirty updates, not required.

@Velociraptor85
Copy link

seems like it gets both HDMI connections but thinks that one is not connected

[     9.975] (II) modeset(0): Output HDMI-1 disconnected
[     9.975] (II) modeset(0): Output HDMI-2 connected

@MichaIng
Copy link
Owner

Somehow. Also on screen :0 uses the same /dev/dri/card1, so none is using /dev/dri/card0. Of course both cannot use the same. At least the fb sub module seems to be expected, probably this doesn't mean that a framebuffer device is required, like the fbdev module does.

Btw, is one a 4k screen?

Linking the official docs HDMI section: https://www.raspberrypi.com/documentation/computers/configuration.html#hdmi-configuration
Probably it's indeed about the firmware/hardware parts and not (only) about the display driver and X server.

@Velociraptor85
Copy link

Velociraptor85 commented Nov 13, 2021

Both are faily "old" standard full HD screens one has max 1920x1200 the other 1920x1080 and both work separately so 🤷

@Velociraptor85
Copy link

Velociraptor85 commented Jan 7, 2022

so after some more hours of tinkering I found out that my displays where announcing themselves in different modes DMT/CEA so I tested with two identical displays both CEA - sadly - only in hdmi_safe mode it showed both displays via tvservice
... later I found out that with dtoverlay=vc4-fkms-v3d mode it creates one screen
... with DISPLAY=:0 xrandr it shows both HDMI devices and I can start an chromium with the windows-position 1920,0 on the second screen
... but I cant figure out how to start two instances of chromium with xinit
... xinit chromium-browser -- :1 does not work since it is found to be one screen with 3840 width -_-

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement 💨 Solution available 🥂 Definite solution has been done
Projects
None yet
Development

No branches or pull requests

4 participants