Salamek / chromium-kiosk

Chromium kiosk is simple package turning your Archlinux or Debian (and alike) based PC/Raspberry into simple web kiosk using chromium.
GNU General Public License v3.0
60 stars 10 forks source link

Can't open display :0 #81

Closed mishoboss closed 9 months ago

mishoboss commented 9 months ago

Hi, after a year with OrangePi 4 I upgraded to Orange Pi 5 and the newest version of chromium-kiosk. However experience is not a smooth one this time either. I have hooked the same display via type-c and it properly displays picture. However it seems chromium-kiosk doesn't see it. Any suggestions how to debug it?

Distro is Debian Bookworm with Linux 5.10.110-rockchip-rk3588

image image
Salamek commented 9 months ago

chromium-kiosk should be run under chromium-kiosk user under witch X11 should be running...

Salamek commented 9 months ago

@mishoboss any news on this? Did you try running it under correct user?

mishoboss commented 9 months ago

I just installed it from scratch, swicthed to chromium-kiosk user, but same result:

image

-- BTW, how can I know the chromium-kiosk user password?

mishoboss commented 9 months ago

I switch to root during installation for adding the GPG key and the repository, cause sudo is not enough for some reason. That shouldn't affect anything, but just to mention it. The actual chromium-kiosk installation I do using the non-root user provided by orangepi.

Salamek commented 9 months ago

chromium-kiosk have disabled password, if you want to set one use passwd chromium-kiosk

Back to the issue, does screen (X11 server) try to start on boot or you end up in console without any attempt to start X11? It is possible that startup script is not started correctly for some reason. If that is a case try to login as chromium-kiosk and run command startx, if that works we have issue with startup script

mishoboss commented 9 months ago

Switched to chromium-kiosk user and executed startx:

image
mishoboss commented 9 months ago

I added the chromium-kiosk to sudoers and tried with sudo:

image
Salamek commented 9 months ago

Hmm maybe try login instead of su?

mishoboss commented 9 months ago

Absolutely same result. :(

P.S.: Tried both with sudo and without - same outputs as above.

Salamek commented 9 months ago

Try to put chromium-kiosk user to tty group, relogin as chromium-kiosk user and try again?

usermod -a -G tty chromium-kiosk

Also what OS are you running? Can you provide link to installation image? And what steps did you do to install chromium kiosk? (Standard repository install?) Ill try to run it in qemu or something to debug this i think...

mishoboss commented 9 months ago
  1. I added the user to tty group, relogined, but same result.
  2. Debain 12 Bookworm Server for OrangePi 5. I tried both with kernel 5.10.110 and 5.10.160
  3. https://drive.google.com/drive/folders/1F2uc8v_EQnvsNrevDihwoymOJlFgM-dZ
mishoboss commented 9 months ago

Also, I strictly follow the installation steps in the docs. The only things I change is either I switch to root to add GPG key and repo, or I edit those two lines like this:

sudo wget -O- https://repository.salamek.cz/deb/salamek.gpg | sudo tee /usr/share/keyrings/salamek-archive-keyring.gpg > /dev/null

sudo echo "deb [signed-by=/usr/share/keyrings/salamek-archive-keyring.gpg] https://repository.salamek.cz/deb/pub all main" | sudo tee /etc/apt/sources.list.d/salamek.cz.list

Salamek commented 9 months ago

That URL you have provided is official source?

mishoboss commented 9 months ago

Yes, official source. Chinese...

Salamek commented 9 months ago

It will take me some time to test, in the mean time (if you have time), what about to try Armbian instead? (that is what i use on my OrangePi PC+s)

https://www.armbian.com/orangepi-5/ Armbian 24.2.1 Bookworm CLI

mishoboss commented 9 months ago

Mainline kernel doesn't push image to type-c and hdmi. I'll try it though.

P.S.: I see they probably used the same 5.10.160 kernel, so scrap the above, I'll test it now.

mishoboss commented 9 months ago

Armbian works like a charm.

Salamek commented 9 months ago

Chromium kiosk works on Armbian install OK?

mishoboss commented 9 months ago

Yes, it starts and displays fine the browser. However I don't have a working touchscreen. I remember back then a year ago we did some magic tricks because I had the same issue.

Salamek commented 9 months ago

It was this issue https://github.com/Salamek/chromium-kiosk/issues/72 i guess, but that got fixed...

login as chromium-kiosk user via SSH and run chromium-kiosk info

mishoboss commented 9 months ago

I guess chromium-kiosk system_info:

image
Salamek commented 9 months ago

Oh yes system_info sorry, hmm no touchscreen device detected, how is your touchscreen connected?

Run

DISPLAY=:0 xinput -list

under chromium-kiosk via SSH

mishoboss commented 9 months ago

Seems it doesn't see it:

image
mishoboss commented 9 months ago

Touchscreen is connected via USB Type-C. Same display works fine when hooked to MacBook Pro, so I'm sure touchscreen works fine on Type-C. Issue is something with the distro.

Salamek commented 9 months ago

Hmm USB, do you see it in lsusb (under root)?, maybe check dmesg for system messages of missing firmware or something

mishoboss commented 9 months ago
image

In dmesg logs I found this:

[    7.183238] Error: Driver 'Goodix-TS' is already registered, aborting...
[    7.183268] usbcore: registered new interface driver usbtouchscreen
mishoboss commented 9 months ago
[    7.203062] Goodix-TS 2-0014: Looking up AVDD28-supply from device tree
[    7.203070] Goodix-TS 2-0014: Looking up AVDD28-supply property in node /i2c@feaa0000/touchscreen@14 failed
[    7.203081] Goodix-TS 2-0014: supply AVDD28 not found, using dummy regulator
[    7.203130] Goodix-TS 2-0014: Looking up VDDIO-supply from device tree
[    7.203137] Goodix-TS 2-0014: Looking up VDDIO-supply property in node /i2c@feaa0000/touchscreen@14 failed
[    7.203144] Goodix-TS 2-0014: supply VDDIO not found, using dummy regulator
[    7.296449] Goodix-TS 2-0014: i2c test failed attempt 1: -6
[    7.323110] Goodix-TS 2-0014: i2c test failed attempt 2: -6
[    7.349632] Goodix-TS 2-0014: I2C communication failure: -6
Salamek commented 9 months ago

I don't think that is it, this is i2c driver not USB and i have found same error message in dmesg posted by some Orange-pi-5 user running armbian without touchscreen connected... nothing else there?

mishoboss commented 9 months ago

These are the only touch related lines:

[    9.839775] usb 7-1.2: new full-speed USB device number 3 using xhci-hcd
[   10.032611] usb 7-1.2: New USB device found, idVendor=0416, idProduct=c168, bcdDevice= 0.00
[   10.032624] usb 7-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   10.032632] usb 7-1.2: Product: MTouch
[   10.032640] usb 7-1.2: Manufacturer: TSTP
[   10.032648] usb 7-1.2: SerialNumber: CMTP_1.0
[    7.183238] Error: Driver 'Goodix-TS' is already registered, aborting...
[    7.183268] usbcore: registered new interface driver usbtouchscreen
Salamek commented 9 months ago

Hmm is xserver-xorg-input-evdev package installed? (it should be but who knows)

mishoboss commented 9 months ago

Actually it wasn't installed. I installed, restarted and tested, but no luck again. Also, I run chromium-kiosk system_info and DISPLAY=:0 xinput -list, but same results as before.

Salamek commented 9 months ago

Can you run lsusb -tv ?

mishoboss commented 9 months ago
image
Salamek commented 9 months ago

Ok this is weird, in dmesg we can see that it found USB trouchscreen New USB device found, idVendor=0416, idProduct=c168, (https://linux-hardware.org/?id=usb:0416-c168) but it is not listed in lsusb actualy your usb tree is weirdly empty... can you connect a mouse to it for example and try that USB subsystem is working correctly (that mouse works) sounds like this issue: https://forum.radxa.com/t/usb-touch-screen-kills-usb/13538/3

Someone is suggesting to disable OTG usb to fix this... some that replacing power adapter helped... but from i'm finding it is a small miracle it worked for you the first time :-)

mishoboss commented 9 months ago

Keyboard works like a charm and is listed properly when hooked. It's apparently something with the display itself. I tried with two other power supplies, and also I use type-c from OrangePi to power the display, so grounding issue should be eliminated that way.

No idea how this worked before, but I had a very different setup - another board (OrangePi 4), another power supply, another connection setup - HDMI and USB type A to type A for touch. I had issues back then as well, but eventually they were overcomed somehow.

Salamek commented 9 months ago

Well this is where my support in this matter ~ends (sorry), this is on 80% HW issue (20% driver issue) i can't solve without getting my hands on same HW you have (i actually have homelab with equipment to debug that lol). You may try to experiment with some versions of distros with DE for your board to check if touch works and if it does on some, bisect the shit out of it (kernel versions, loaded kernel modules, applied patches by distro team, etc) Or if you find some distro with desktop that works and don't want to hunt what the issue is, just run chromium-kiosk/qiosk on top of working full DE distro by removing chromium-kiosk getty@tty1.service.d/override.conf and adding chromium-kiosk run in "run after start" of used distro... (yes it is bit hacky and resource wasteful but should work ~OK)

Edit: Also using different HW may be less time consuming option, depends what do you prefer.
And also some time ago i found out that using some kind of NUC/mini x86 pc may be ~better option for kiosk when you don't need GPIO/DSI/CSI ports, they cost not much more than good ARM board, have nice box/adapter included, ~better cooling solution (well yes active but still), modular RAM, RTC, more ports, power button and overall are more solid... but they may consume bit more power and are bit bigger

mishoboss commented 9 months ago

Thanks. It's probably a hardware issue indeed, so yes, I can't expect your support on this. But HUGE THANKS for the whole support so far. You're an awesome engineer.

I have the same experience with x86 SBCs - there are some low power Celeron options out there with passive cooling, so it's not that bad, just more expensive and a bit bigger (which is an issue when you put it in a wall).

Thanks one more time!

Salamek commented 9 months ago

You are welcome , good luck!