Tiny Core Linux

Tiny Core Base => Raspberry Pi => Topic started by: aus9 on July 11, 2023, 11:27:21 PM

Title: arm32 and arm64 submission chromium questions
Post by: aus9 on July 11, 2023, 11:27:21 PM
Hi

currently only testing a debian unpack of chromium on arm7l (arm32)
as per screenshot...it works
https://imgur.com/77EXI2z

Can I package and supply as the source....just the debian files in compressed form?
or the debian package  that ends in .deb?

Otherwise are you wanting the actual source that the debian maintainers compiled from,
I assume they compiled....have not looked for any build script.

For those interested, in this test....that succeeded without trying to be too fancy...
I injected the deb files in their debian locations...too excited to reboot and do it to usr/local

Code: [Select]
sudo find /usr -name chromium-browser
/usr/bin/chromium-browser
/usr/lib/chromium-browser
/usr/lib/chromium-browser/chromium-browser

In addition while on RPi OS 32 I ran a readelf command to get the dependencies.
This will be packaged as a dep file but to get here just now I ran
Code: [Select]
tce-load -i glib2 nss nspr atk at-spi2-atk libcups dbus libdrm \
libxcb libxkbcommon at-spi2-core libX11 libXcomposite libXdamage \
libXext libXfixes libXrandr libEGL pango libasound

thanks for reading


Title: Re: arm32 and arm64 submission chromium questions
Post by: curaga on July 12, 2023, 02:34:02 AM
For repackaging binaries, a script extension (like the getLatestFF) would be preferred.
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 12, 2023, 06:10:58 AM
Hi curaga and others

I have found and downloaded the source  for arm 32
Code: [Select]
rw-r--r--  1 gor gor 1.3G Jul 12 17:51 src-refs_tags_113.0.5672.95.tar.gz
What I have not found out ....is how to translate the debian info link to give me a download link to the actual running debian package

To anyone the apt  info command tells me the debian package came from here (for 32 bit)
Code: [Select]
apt info chromium-browser
SNIP
http://archive.raspberrypi.org/debian bullseye/main armhf Packages

My eyesight can not find any builds in dCore to cheat off
http://tinycorelinux.net/dCore/

maybe a dCore person might drop by?

otherwise.....maybe Juanito or Paul_123 will take pity on those looking for a recent browser (at least in arm 32) and allow me to submit a TCE as I have the source?

thanks for reading

Title: Re: arm32 and arm64 submission chromium questions
Post by: GNUser on July 12, 2023, 11:02:19 AM
Hi aus9. I saw the image you posted here:
https://imgur.com/aqr3OUp

Very strange. I don't have an explanation for this but I wager it has nothing to do with fonts.

The lanoxx/tilda project displays just fine for me on Brave running in TCL x86_64, by the way.

It seems Github uses more than just HTML, CSS, and Javascript to generate pages in the browser--Jekyll (about which I know nothing), for example, is also involved:
https://tomcam.github.io/least-github-pages/adding-images-github-pages-site.html

Is your problem specific to the lanoxx/tilda page on Github, or are all other Github pages also affected? If it's specific to the lanoxx/tilda page, the problem could be a metabug (something due to how that specific repository is rendered on your specific browser), similar to this user's problem:
https://forum.gitlab.com/t/file-listing-in-web-browser-doesnt-display-for-1-project/44231
Title: Re: arm32 and arm64 submission chromium questions
Post by: Paul_123 on July 12, 2023, 02:12:56 PM
Using the Raspi-OS is likely going to be the most reliable of a functional build for Raspberry Pi.   At least for a full browser like chromium.

You should be able to parse this file to get information about the current package.

http://archive.raspberrypi.org/debian/dists/bullseye/main/binary-armhf/Packages
http://archive.raspberrypi.org/debian/dists/bullseye/main/binary-arm64/Packages
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 12, 2023, 10:04:37 PM
Hi CNK

I was using a standard firefox built for arm7l with no changes to javascript nor any ad blockers running etc etc.

hi GNUser
I read your link...it does have some similar feature....but I did not bookmark all the other sites that I have been to.
It does not happen at all github type sites. I do agree the web browser is a little dated built in 2020
....but as I said ....epiphany and chromium  show the page correctly
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 12, 2023, 10:20:00 PM
Hi Paul_123

thankyou heaps thats exactly what the Doctor was looking for  ;)

http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser_113.0.5672.95-rpt1_armhf.deb
http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/chromium-browser_113.0.5672.95-rpt1_arm64.deb

I will look to make a get script as per curaga suggestion for arm32 first and then look at 64 bit.
I am trying to avoid confusing my brain by swapping sdcards as I have only the one set of build scripts. I know thats wrong but I was avoiding arm32 until just recently.

####################
trivia

looking at arm32 for RPi OS I can see browsers for :
dillo firefox-ESR epiphany (v 3.38.2-1) midori and netsurf-gtk

I have no plans to make get scripts for all mentioned. But...it occurs to me, it might save Juanito time if I make a get script for epiphany....
I refuse dillo as no javascript which I need at certain sites
and for time reasons refuse firefox/midori and netsurf

I am aware of some updates coming and I have my own updates and some other stuff we discussed

thanks for reading
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 13, 2023, 05:17:45 AM
bad news for arm6 users of this browser when accepted.  Do you agree?

snippet from an executable script in the download....I accept it won't work as is as we have no zenity but I mod it just for uname -m
Quote
if [ "$(uname -m)" == "armv6l" ]; then
   zenity --error --no-wrap --text="Chromium is not supported on $(cat /proc/device-tree/model | sed 's/ Rev .*//')"
   exit 0
fi

I do not have an arm6l but me thinks I need to change this to arm6 test right up the top of the get script so users don't waste their time trying a download?
Title: Re: arm32 and arm64 submission chromium questions
Post by: Paul_123 on July 13, 2023, 06:49:14 AM
We just won’t put it in the armv6 repo. 
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 13, 2023, 09:17:54 AM
slightly offtopic to subject but there is an extension called whatfont that can be installed in FF and chrome*
it does not work for me on arm8 for FF-perf YMMV but it works well in chromium-browser.....

Naturally I am still thinking about adding some previous TC64 or new to arm font packages. Not relevant to submission but relevant to testing the browser.

so far, I am a sans guy. And leaning towards Noto Sans. It has a monster of a range of weights and types
https://www.fontsquirrel.com/fonts/noto-sans
Title: Re: arm32 and arm64 submission chromium questions
Post by: Paul_123 on July 16, 2023, 09:40:15 AM
Another thing to simplify the install would be to include a piCore customized chromium-browser launcher script in your get latest package.   Rather than trying to use sed and other things to fix the one included with Debian.
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 16, 2023, 09:30:07 PM
I read something before seeing your reply Paul_123.

I accept that your skills are greater than mine.
I like the way I do things as I actually understand what I am doing. I am a simple coder.

Anyhow, the thing is, what I have learnt so far, and what you already know is that "we" can take a debian package and load it with some mods to use on arm.

The original reason for me building chrome* was due to a fault I found with firefox rendering a tilda site that I discuss in another post. And I assumed that someone maybe Juanito would cross compile firefox for arm.

arm8 firefox-perf is a different TCE that I like.

To be blunt, I have no problem saving compile time, if I can build a browser that works for me at sites I need to go to.

I do not have a problem if someone such as yourself prefers to build it and have myself or others test it. But due to timezones etc...and my own time restrictions, I am happy to  plod along and see if I get more things right that work for me with my tests.

I only recently tested sound on arm7 which I posted about. Thats how slow or how focussed I was on on other matters.

I hope you catch my drift?
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 17, 2023, 02:03:59 AM
now looking at my previous refusal to look at preferred web browser.
This was an error.

I find out by this link.....part one is to fix the default web browser
http://www.afterstep.org/aterm.php
the ftp link needs xdg-open, yet to fix

ok so I change the chromium bin pathway to xdg-settings to /usr/local and notice we have a fix

the order I loaded firefox may be an issue but now within chromium I can now set the default web browser such that prev command then new change

Code: [Select]
xdg-settings get default-web-browser
userapp-Nightly-IONB71.desktop
tc@box:~$ xdg-settings get default-web-browser
chromium-browser.desktop

firefox xdg-open works for ftp link
chromium is work in progress....not yet

Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 17, 2023, 03:14:38 AM
part 2 xdg-open now half works for a ftp link

I edit the desktop file so it includes
Quote
MimeType=x-scheme-handler/ftp;

Now clicking the aterm ftp link....popup appears and offers Nightly (firefox) to open.  WIP

ahh a web search shows chrome* has dropped support.
it used to be available by enabling it by going to bookmark=
chrome://flags/

but a search of ftp shows its gone and may have gone since 2021.

lets forget that now please
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 17, 2023, 11:12:59 AM
running env on arm7l...we do not have XDG_RUNTIME_DIR set.
its too late for me now....me thinks that the member running a private TCE will not mind me giving them a install script that sets that up.
Cheating off my sway-dot

Code: [Select]
# create run dir and export value
USER=`cat /etc/sysconfig/tcuser`
if [ ! -d /run/user/$(id -u "$USER") ]; then
   mkdir -p /run/user/$(id -u "$USER")
   chown "$USER":staff /run/user/$(id -u "$USER")
   chmod 700 /run/user/$(id -u "$USER")
fi
XDG_RUNTIME_DIR=/run/user/$(id -u) && export XDG_RUNTIME_DIR

I say patrikg post on export so will test that later but
Code: [Select]
env | grep XDG
XDG_RUNTIME_DIR=/run/user/1001

plodding along
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 17, 2023, 09:54:27 PM
Ok this morning I am getting real close to zero error or warnings.
Rebuilt to /usr/local with lots of sed fixes.

The browser opens and works as expected so its not all bad!

The issue for me now, seems to be a mismatch of XDG runtime dir and maybe the set of the dbus session.

anyhow here is what I now see
Code: [Select]
chromium-browser &
Fontconfig warning: "/etc/fonts/fonts.conf", line 82: unknown element "blank"
[4925:4945:0718/014655.517206:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[4925:4945:0718/014655.517327:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
Opening in existing browser session.

this is a huge improvement and before there was around 20 lines of output for that dbus stuff.

here is what I am currently trying run as local user now
Code: [Select]
tc@box:~$ USER=`cat /etc/sysconfig/tcuser`
tc@box:~$ if [ ! -d /run/user/$(id -u "$USER") ]; then
>    mkdir -p /run/user/$(id -u "$USER")
>    chown "$USER":staff /run/user/$(id -u "$USER")
>    chmod 700 /run/user/$(id -u "$USER")
> fi
tc@box:~$ XDG_RUNTIME_DIR=/run/user/$(id -u) && export XDG_RUNTIME_DIR
tc@box:~$ echo $XDG_RUNTIME_DIR
/run/user/1001


DBUS_SESSION_BUS_ADDRESS=/var/run/dbus && export DBUS_SESSION_BUS_ADDRESS

run with sudo
Code: [Select]
[  -f /var/run/dbus/pid ] || /usr/local/etc/init.d/dbus start
Thanks for reading
Title: Re: arm32 and arm64 submission chromium questions
Post by: Paul_123 on July 17, 2023, 10:34:06 PM
The init script for dbus is only going to launch a system bus.  chrome is probably looking for a session bus.  A session bus would normally get created at user login.

dbus-launcher will start the session bus and environment.
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 17, 2023, 11:54:32 PM
Hi Paul_123

I am stuck on this, sorry.
edit

exe called dbus-launch
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 18, 2023, 12:19:46 AM
ok so I try
Code: [Select]
$ dbus-launch chromium-browser
SNIP
[9544:9666:0718/041721.748170:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[9544:9666:0718/041721.748685:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[9544:9666:0718/041721.749186:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[9592:9592:0718/041722.084048:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 18, 2023, 03:39:35 AM
Ok so I have managed to change the error TYPE we now have
Code: [Select]
chromium-browser
Fontconfig warning: "/etc/fonts/fonts.conf", line 82: unknown element "blank"
[3374:3394:0718/073213.296627:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/user/1001/: Connection refused
[3374:3394:0718/073213.296889:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/user/1001/: Connection refused
Opening in existing browser session

Code: [Select]
ls -al /run/user/1001
total 0
drwx------    2 tc       staff           40 Jul 18 07:26 ./
drwxr-xr-x    3 root     root            60 Jul 18 07:26 ../
browser is working. Changes to get a little messy as I have unpacked the install script and got confused with who I was.

Lets try to get this right?
as root...which may be install script
Quote
USER=`cat /etc/sysconfig/tcuser`
if [ ! -d /run/user/$(id -u "$USER") ]; then
   mkdir -p /run/user/$(id -u "$USER")
   chown "$USER":staff /run/user/$(id -u "$USER")
   chmod 700 /run/user/$(id -u "$USER")
fi

su -c "XDG_RUNTIME_DIR=/run/user/$(id -u "$USER") &&
export XDG_RUNTIME_DIR" $USER

right test as a local user
Code: [Select]
env | grep XDG
XDG_RUNTIME_DIR=/run/user/1001

Check....looks good

Now I try to setup a session dbus like this as a local user
Code: [Select]
tc@box:~$ export DBUS_STARTER_BUS_TYPE="session"
tc@box:~$ export DBUS_STARTER_ADDRESS="unix:path=/run/user/1001"
tc@box:~$ export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1001/"

Maybe I am too fussy? The browser was working without setting XDG or dbus session but without dbus running I had a stack of warnings/errors
Title: Re: arm32 and arm64 submission chromium questions
Post by: Paul_123 on July 18, 2023, 06:41:16 AM
The upower warning are harmless you would need some 3rd party software for that.   
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 18, 2023, 07:50:06 AM
Q As you prefer error
The name org.freedesktop.UPower was not provided by any .service files
I will look to see if I can cut out my XDG stuff

Q altho I could ask by pm....I don't think it hurts explaining why I am requesting an exception from normal submission rules.

1) Members know get scripts are special cases
2) What they do not know until they run the script,
 is just how many deps are needed for these big bloated web browsers.

I would like permission to make the run deps for the resultant TCE members might make....as a dep to the get TCE. That way members can see a total in Apps and add 140Mb to that to get fair idea.

thanks for reading
Title: Re: arm32 and arm64 submission chromium questions
Post by: Paul_123 on July 18, 2023, 12:31:06 PM
I know there is a language barrier here, but I'm not sure what you are asking.

Send me your proposal and I'll review.   I'm sure we will bounce this back and forth a few times before it's final.
Title: Re: arm32 and arm64 submission chromium questions
Post by: aus9 on July 19, 2023, 12:56:18 AM
Hi Paul_123

I accept all the communication issues blame me.
I will submit shortly.....but I am too excited to keep this quiet!
I promise this is my last post here until we work it out
Tested on arm7

############
# as root
######
Code: [Select]
USER=`cat /etc/sysconfig/tcuser`
if [ ! -d /run/user/$(id -u "$USER") ]; then
   mkdir -p /run/user/$(id -u "$USER")
   chown "$USER":staff /run/user/$(id -u "$USER")
   chmod 700 /run/user/$(id -u "$USER")
fi

su -c "XDG_RUNTIME_DIR=/run/user/$(id -u "$USER") &&
export XDG_RUNTIME_DIR" $USER

[  -f /var/run/dbus/pid ] || /usr/local/etc/init.d/dbus start
rm -rf /etc/fonts/conf.d/40-generic.conf

/usr/local/bin/chromum-browser owner changed to tc:staff

as non-root
#######
Code: [Select]
export DBUS_STARTER_BUS_TYPE="session"
export DBUS_STARTER_ADDRESS="unix:path=/run/user/1001"
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1001/"
dbus-launch chromium-browser

results in  smallest error/warnings I have seen my end

Code: [Select]
dbus-launch chromium-browser
Fontconfig warning: "/etc/fonts/fonts.conf", line 82: unknown element "blank"
Opening in existing browser session

browser opens and is running as expected.

Thanks for your patience

Without all above changes just running the browser causes 66 lines of errors/warning....which I have kept.