playwright icon indicating copy to clipboard operation
playwright copied to clipboard

[Feature]: support Arch linux

Open aslushnikov opened this issue 2 years ago • 20 comments

Edit by maintainers

Hey everybody!

There's now an experimental support for all linux distributions using our browser container image mcr.microsoft.com/playwright. If you can run this container image on your linux distribution, then you can instruct @playwright/test to connect to it and run browsers inside the container.

Please give it a try and let us know what you think here: https://github.com/microsoft/playwright/issues/26482


Feature request

This is a tracking bug to gauge public interest in Arch linux support.

aslushnikov avatar Aug 09 '21 21:08 aslushnikov

Not a big deal because I can just run in docker, but it would be nice!

keevie avatar Aug 12 '21 13:08 keevie

Why was this issue closed?

We are prioritizing the features based on the upvotes, recency and activity in the issue thread. It looks like this issue only has a handful of upvotes, has not been touched recently and/or we lack sufficient feedback to act on it. We are closing issues like this one to keep our bug database maintainable. Please feel free to open a new issue and link this one to it if you think this is a mistake.

pavelfeldman avatar Jan 01 '22 23:01 pavelfeldman

Why can't playwright work on all OS? Why only support ubuntu?

ShivamJoker avatar Aug 09 '22 12:08 ShivamJoker

I installed playwright in a clean chroot which has only the base-devel package. These are the commands I ran:

$ mkdir ~/.chroot
$ export CHROOT=$HOME/.chroot
$ mkarchroot $CHROOT/root base-devel
$ arch-nspawn $CHROOT/root pacman -Syu
$ git clone 'https://aur.archlinux.org/playwright.git'
$ cd playwright
$ makechrootpkg -c -r $CHROOT
$ ls -la       
Permissions Size User  Date Modified Name
drwxr-xr-x     - us-er 19 May 19:53  .git
.rw-r--r--   534 us-er 19 May 19:53  .SRCINFO
.rw-r--r--   940 us-er 19 May 19:53  PKGBUILD
.rw-r--r--  1.6M us-er 19 May 19:59  playwright-1.33.0-1-any.pkg.tar.zst
.rw-r--r--    24 us-er 19 May 19:59  playwright-1.33.0-1-x86_64-package.log
.rw-r--r--  7.8k us-er 19 May 19:53  playwright-1.33.0.tar.gz
$ sudo cp playwright-1.33.0-1-any.pkg.tar.zst $CHROOT/root/home/
$ arch-nspawn $CHROOT/root pacman -U /home/playwright-1.33.0-1-any.pkg.tar.zst
$ arch-nspawn $CHROOT/root playwright install chromium
BEWARE: your OS is not officially supported by Playwright; downloading fallback build.
Downloading Chromium 113.0.5672.53 (playwright build v1060) from https://playwright.azureedge.net/builds/chromium/1060/chromium-linux.zip
144.6 Mb [====================] 100% 0.0s
Chromium 113.0.5672.53 (playwright build v1060) downloaded to /root/.cache/ms-playwright/chromium-1060
BEWARE: your OS is not officially supported by Playwright; downloading fallback build.
Downloading FFMPEG playwright build v1008 from https://playwright.azureedge.net/builds/ffmpeg/1008/ffmpeg-linux.zip
2.6 Mb [====================] 100% 0.0s
FFMPEG playwright build v1008 downloaded to /root/.cache/ms-playwright/ffmpeg-1008
$ arch-nspawn $CHROOT/root playwright cr https://duck.com

╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Missing libraries:                                   ║
║     libnss3.so                                       ║
║     libnssutil3.so                                   ║
║     libsmime3.so                                     ║
║     libnspr4.so                                      ║
║     libatk-1.0.so.0                                  ║
║     libatk-bridge-2.0.so.0                           ║
║     libcups.so.2                                     ║
║     libdrm.so.2                                      ║
║     libdbus-1.so.3                                   ║
║     libxcb.so.1                                      ║
║     libxkbcommon.so.0                                ║
║     libatspi.so.0                                    ║
║     libX11.so.6                                      ║
║     libXcomposite.so.1                               ║
║     libXdamage.so.1                                  ║
║     libXext.so.6                                     ║
║     libXfixes.so.3                                   ║
║     libXrandr.so.2                                   ║
║     libgbm.so.1                                      ║
║     libpango-1.0.so.0                                ║
║     libcairo.so.2                                    ║
║     libasound.so.2                                   ║
╚══════════════════════════════════════════════════════╝
    at Object.<anonymous> (/usr/lib/node_modules/playwright/cli.js:17:18) {
  name: 'Error'
}

Next I installed pkgfile, to figure out to which packages these libraries belong:

$ arch-nspawn $CHROOT/root pacman -S pkgfile
$ arch-nspawn $CHROOT/root pkgfile -u
:: Updating 3 repos...
  download complete: core                 [  1043.4 KiB   999K/s  2 remaining]
  download complete: extra                [    10.4 MiB  1155K/s  1 remaining]
  download complete: community            [    28.7 MiB  1394K/s  0 remaining]
:: download complete in 21.12s            <    40.2 MiB  1947K/s  3 files    >
:: waiting for 1 process to finish repacking repos...
$ arch-nspawn $CHROOT/root pkgfile libsmime3.so
core/nss
$ arch-nspawn $CHROOT/root pkgfile libnss3.so
core/nss
...
...
$ arch-nspawn $CHROOT/root pkgfile libcairo.so.2
extra/cairo
$ arch-nspawn $CHROOT/root pkgfile libasound.so.2
extra/alsa-lib

So, the packages required for chromium are:

core/nss
core/nspr
extra/at-spi2-core
extra/libcups
extra/libdrm
core/dbus
extra/libxcb
extra/libxkbcommon
extra/at-spi2-core
extra/libx11
extra/libxcomposite
extra/libxdamage
extra/libxext
extra/libxfixes
extra/libxrandr
extra/mesa
extra/pango
extra/cairo
extra/alsa-lib

Installing them into chroot ...

$ arch-nspawn $CHROOT/root pacman -S --needed core/nss core/nspr extra/at-spi2-core extra/libcups extra/libdrm core/dbus extra/libxcb extra/libxkbcommon extra/at-spi2-core extra/libx11 extra/libxcomposite extra/libxdamage extra/libxext extra/libxfixes extra/libxrandr extra/mesa extra/pango extra/cairo extra/alsa-lib
$ arch-nspawn $CHROOT/root pacman -S extra/xorg-server-xvfb # (optional - for headless mode?)

And voilà!

$ arch-nspawn $CHROOT/root playwright pdf https://duck.com /home/duck.pdf
Navigating to https://duck.com
Saving as pdf into /home/duck.pdf
$ arch-nspawn $CHROOT/root ls /home
duck.pdf  playwright-1.33.0-1-any.pkg.tar.zst

yozachar avatar May 19 '23 16:05 yozachar

As for Firefox:

$ arch-nspawn $CHROOT/root playwright screenshot -b ff https://duck.com /home/duck-ff.png

╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Missing libraries:                                   ║
║     libgtk-3.so.0                                    ║
║     libgdk-3.so.0                                    ║
║     libgdk_pixbuf-2.0.so.0                           ║
║     libdbus-glib-1.so.2                              ║
║     libXcursor.so.1                                  ║
╚══════════════════════════════════════════════════════╝
    at Object.<anonymous> (/usr/lib/node_modules/playwright/cli.js:17:18) {
  name: 'Error'
}

Additionally required packages are:

extra/gtk3
extra/gdk-pixbuf2
extra/dbus-glib
extra/libxcursor

Installing and executing:

$ arch-nspawn $CHROOT/root pacman -S extra/gtk3 extra/gdk-pixbuf2 extra/dbus-glib extra/libxcursor
$ arch-nspawn $CHROOT/root playwright screenshot -b ff https://duck.com /home/duck-ff.png
Navigating to https://duck.com
Capturing screenshot into /home/duck-ff.png

yozachar avatar May 19 '23 17:05 yozachar

And as for WebKit:

arch-nspawn $CHROOT/root playwright screenshot -b wk https://duck.com /home/duck-ff.png

╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Missing libraries:                                   ║
║     libsoup-2.4.so.1                                 ║
║     libgstreamer-1.0.so.0                            ║
║     libicudata.so.66                                 ║
║     libicui18n.so.66                                 ║
║     libicuuc.so.66                                   ║
║     libxslt.so.1                                     ║
║     libwoff2dec.so.1.0.2                             ║
║     libopus.so.0                                     ║
║     libharfbuzz-icu.so.0                             ║
║     libgstallocators-1.0.so.0                        ║
║     libgstapp-1.0.so.0                               ║
║     libgstbase-1.0.so.0                              ║
║     libgstpbutils-1.0.so.0                           ║
║     libgstaudio-1.0.so.0                             ║
║     libgsttag-1.0.so.0                               ║
║     libgstvideo-1.0.so.0                             ║
║     libgstgl-1.0.so.0                                ║
║     libgstcodecparsers-1.0.so.0                      ║
║     libgstfft-1.0.so.0                               ║
║     libopenjp2.so.7                                  ║
║     libwebpdemux.so.2                                ║
║     libwebp.so.6                                     ║
║     libenchant-2.so.2                                ║
║     libhyphen.so.0                                   ║
║     libflite.so.1                                    ║
║     libflite_usenglish.so.1                          ║
║     libflite_cmu_grapheme_lang.so.1                  ║
║     libflite_cmu_grapheme_lex.so.1                   ║
║     libflite_cmu_indic_lang.so.1                     ║
║     libflite_cmu_indic_lex.so.1                      ║
║     libflite_cmulex.so.1                             ║
║     libflite_cmu_time_awb.so.1                       ║
║     libflite_cmu_us_awb.so.1                         ║
║     libflite_cmu_us_kal16.so.1                       ║
║     libflite_cmu_us_kal.so.1                         ║
║     libflite_cmu_us_rms.so.1                         ║
║     libflite_cmu_us_slt.so.1                         ║
║     libpcre.so.3                                     ║
║     libffi.so.7                                      ║
║     libevdev.so.2                                    ║
║     libgudev-1.0.so.0                                ║
║     libx264.so                                       ║
╚══════════════════════════════════════════════════════╝
    at Object.<anonymous> (/usr/lib/node_modules/playwright/cli.js:17:18) {
  name: 'Error'
}

Additionally required packages are:

extra/libsoup
extra/gstreamer
extra/libxslt
extra/woff2
extra/opus
extra/harfbuzz-icu
extra/gst-plugins-base-libs
extra/gst-plugins-bad-libs
extra/openjpeg2
extra/libwebp
extra/enchant
extra/hyphen

chaotic-aur/flite1
chaotic-aur/libffi7

extra/libevdev
extra/x264

Installing and executing:

$ arch-nspawn $CHROOT/root pacman-key --recv-key FBA220DFC880C036 --keyserver keyserver.ubuntu.com
gpg: Warning: using insecure memory!
gpg: key FBA220DFC880C036: "Nico Jensch (Chaotic-AUR) <[email protected]>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
$ arch-nspawn $CHROOT/root pacman-key --lsign-key FBA220DFC880C036
gpg: Warning: using insecure memory!
  -> Locally signed 1 keys.
==> Updating trust database...
gpg: Warning: using insecure memory!
gpg: next trustdb check due at 2023-06-15
$ arch-nspawn $CHROOT/root pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' \
    'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'
$ sudo printf '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n' >> $CHROOT/root/etc/pacman.conf
$ $CHROOT/root pacman -Syu --noconfirm
$ arch-nspawn $CHROOT/root pacman -S --needed extra/libsoup extra/gstreamer extra/libxslt extra/woff2 extra/opus extra/harfbuzz-icu extra/gst-plugins-base-libs extra/gst-plugins-bad-libs extra/openjpeg2 extra/libwebp extra/enchant extra/hyphen chaotic-aur/flite1 chaotic-aur/libffi7 extra/libevdev extra/x264
$ arch-nspawn $CHROOT/root playwright screenshot -b wk https://duck.com /home/duck-wk.png

╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Missing libraries:                                   ║
║     libicudata.so.66                                 ║
║     libicui18n.so.66                                 ║
║     libicuuc.so.66                                   ║
║     libwebp.so.6                                     ║
║     libflite_cmu_grapheme_lang.so.1                  ║
║     libflite_cmu_grapheme_lex.so.1                   ║
║     libflite_cmu_indic_lang.so.1                     ║
║     libflite_cmu_indic_lex.so.1                      ║
║     libpcre.so.3                                     ║
╚══════════════════════════════════════════════════════╝
    at Object.<anonymous> (/usr/lib/node_modules/playwright/cli.js:17:18) {
  name: 'Error'
}

If anyone has an idea to which packages these libraries belong, please let me know.

No, it's not xampp.


Chrome Firefox
duck-cr duck-ff

yozachar avatar May 19 '23 17:05 yozachar

And as for WebKit:

arch-nspawn $CHROOT/root playwright screenshot -b wk https://duck.com /home/duck-ff.png

╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Missing libraries:                                   ║
║     libsoup-2.4.so.1                                 ║
║     libgstreamer-1.0.so.0                            ║
║     libicudata.so.66                                 ║
║     libicui18n.so.66                                 ║
║     libicuuc.so.66                                   ║
║     libxslt.so.1                                     ║
║     libwoff2dec.so.1.0.2                             ║
║     libopus.so.0                                     ║
║     libharfbuzz-icu.so.0                             ║
║     libgstallocators-1.0.so.0                        ║
║     libgstapp-1.0.so.0                               ║
║     libgstbase-1.0.so.0                              ║
║     libgstpbutils-1.0.so.0                           ║
║     libgstaudio-1.0.so.0                             ║
║     libgsttag-1.0.so.0                               ║
║     libgstvideo-1.0.so.0                             ║
║     libgstgl-1.0.so.0                                ║
║     libgstcodecparsers-1.0.so.0                      ║
║     libgstfft-1.0.so.0                               ║
║     libopenjp2.so.7                                  ║
║     libwebpdemux.so.2                                ║
║     libwebp.so.6                                     ║
║     libenchant-2.so.2                                ║
║     libhyphen.so.0                                   ║
║     libflite.so.1                                    ║
║     libflite_usenglish.so.1                          ║
║     libflite_cmu_grapheme_lang.so.1                  ║
║     libflite_cmu_grapheme_lex.so.1                   ║
║     libflite_cmu_indic_lang.so.1                     ║
║     libflite_cmu_indic_lex.so.1                      ║
║     libflite_cmulex.so.1                             ║
║     libflite_cmu_time_awb.so.1                       ║
║     libflite_cmu_us_awb.so.1                         ║
║     libflite_cmu_us_kal16.so.1                       ║
║     libflite_cmu_us_kal.so.1                         ║
║     libflite_cmu_us_rms.so.1                         ║
║     libflite_cmu_us_slt.so.1                         ║
║     libpcre.so.3                                     ║
║     libffi.so.7                                      ║
║     libevdev.so.2                                    ║
║     libgudev-1.0.so.0                                ║
║     libx264.so                                       ║
╚══════════════════════════════════════════════════════╝
    at Object.<anonymous> (/usr/lib/node_modules/playwright/cli.js:17:18) {
  name: 'Error'
}

Additionally required packages are:

extra/libsoup
extra/gstreamer
extra/libxslt
extra/woff2
extra/opus
extra/harfbuzz-icu
extra/gst-plugins-base-libs
extra/gst-plugins-bad-libs
extra/openjpeg2
extra/libwebp
extra/enchant
extra/hyphen

chaotic-aur/flite1
chaotic-aur/libffi7

extra/libevdev
extra/x264

Installing and executing:

$ arch-nspawn $CHROOT/root pacman-key --recv-key FBA220DFC880C036 --keyserver keyserver.ubuntu.com
gpg: Warning: using insecure memory!
gpg: key FBA220DFC880C036: "Nico Jensch (Chaotic-AUR) <[email protected]>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
$ arch-nspawn $CHROOT/root pacman-key --lsign-key FBA220DFC880C036
gpg: Warning: using insecure memory!
  -> Locally signed 1 keys.
==> Updating trust database...
gpg: Warning: using insecure memory!
gpg: next trustdb check due at 2023-06-15
$ arch-nspawn $CHROOT/root pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' \
    'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'
$ sudo printf '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n' >> $CHROOT/root/etc/pacman.conf
$ $CHROOT/root pacman -Syu --noconfirm
$ arch-nspawn $CHROOT/root pacman -S --needed extra/libsoup extra/gstreamer extra/libxslt extra/woff2 extra/opus extra/harfbuzz-icu extra/gst-plugins-base-libs extra/gst-plugins-bad-libs extra/openjpeg2 extra/libwebp extra/enchant extra/hyphen chaotic-aur/flite1 chaotic-aur/libffi7 extra/libevdev extra/x264
$ arch-nspawn $CHROOT/root playwright screenshot -b wk https://duck.com /home/duck-wk.png

╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Missing libraries:                                   ║
║     libicudata.so.66                                 ║
║     libicui18n.so.66                                 ║
║     libicuuc.so.66                                   ║
║     libwebp.so.6                                     ║
║     libflite_cmu_grapheme_lang.so.1                  ║
║     libflite_cmu_grapheme_lex.so.1                   ║
║     libflite_cmu_indic_lang.so.1                     ║
║     libflite_cmu_indic_lex.so.1                      ║
║     libpcre.so.3                                     ║
╚══════════════════════════════════════════════════════╝
    at Object.<anonymous> (/usr/lib/node_modules/playwright/cli.js:17:18) {
  name: 'Error'
}

If anyone has an idea to which packages these libraries belong, please let me know.

No, it's not xampp.

Chrome Firefox duck-cr duck-ff

This is what I added to get down to here:

playwright._impl._api_types.Error: ╔══════════════════════════════════════════════════════╗ ║ Host system is missing dependencies to run browsers. ║ ║ Missing libraries: ║ ║ libflite_cmu_grapheme_lang.so.1 ║ ║ libflite_cmu_grapheme_lex.so.1 ║ ║ libflite_cmu_indic_lang.so.1 ║ ║ libflite_cmu_indic_lex.so.1 ║ ╚══════════════════════════════════════════════════════╝

Added:

libwebp052 flite1 enchant1.6

collsni avatar May 22 '23 19:05 collsni

@collsni I had gotten just as far as you, and managed to get past that by just manually building and linking flite!

git clone https://github.com/festvox/flite.git
cd flite
./configure --enable-shared
make
make get_voices

Then copy over the necessasry .so files from build/x86_64-linux-gnu/lib to /usr/lib

After doing that, I've got WebKit working in Arch with no issues!

TaylorBeeston avatar May 26 '23 20:05 TaylorBeeston

Hi all!

Following your advice I managed to solve all the dependencies except for libpcre.so.3

I tried to make a symlink

sudo ln -s /usrlibpcre.so /usr/lib/libpcre.so.3

but then i have he following error that stuck me

 Error: browserType.launch: Browser closed.
    ==================== Browser output: ====================
    <launching> /home/pres/.cache/ms-playwright/webkit-1869/pw_run.sh --inspector-pipe --headless --no-startup-window
    <launched> pid=333527
    [pid=333527][err] /home/pres/.cache/ms-playwright/webkit-1869/minibrowser-wpe/bin/MiniBrowser: symbol lookup error: /home/pres/.cache/ms-playwright/webkit-1869/minibrowser-wpe/lib/libWPEWebKit-1.0.so.3: undefined symbol: cmulex_init
    =========================== logs ===========================
    <launching> /home/pres/.cache/ms-playwright/webkit-1869/pw_run.sh --inspector-pipe --headless --no-startup-window
    <launched> pid=333527
    [pid=333527][err] /home/pres/.cache/ms-playwright/webkit-1869/minibrowser-wpe/bin/MiniBrowser: symbol lookup error: /home/pres/.cache/ms-playwright/webkit-1869/minibrowser-wpe/lib/libWPEWebKit-1.0.so.3: undefined symbol: cmulex_init

Someone in the same situation?

DevPres avatar Aug 09 '23 16:08 DevPres

I was able to run Chromium and Firefox without issues, but finally got WebKit running as well following the info in this thread.

Following your advice I managed to solve all the dependencies except for libpcre.so.3

I also had that file missing. I symlinked it, and it worked here.

My recipe to get WebKit running was:

sudo pacman -S hyphen enchant harfbuzz-icu woff2

trizen -S libffi7 enchant1.6 icu66 libwebp052

git clone https://github.com/festvox/flite.git
cd flite
./configure --enable-shared
make
make get_voices

sudo cp build/x86_64-linux-gnu/lib/libpcre.so.3 /usr/lib 
sudo ln -s /usr/lib/libpcre.so /usr/lib/libpcre.so.3

(thanks everyone posting in this thread)

Interesting that the flite1 package in AUR contains everything but a couple of files needed for that lib, which are there when built from source with @TaylorBeeston recipe.

The files missing in flite1 are:

║ libflite_cmu_grapheme_lang.so.1 ║
║ libflite_cmu_grapheme_lex.so.1 ║
║ libflite_cmu_indic_lang.so.1 ║
║ libflite_cmu_indic_lex.so.1 ║

Could it be make get_voices is not run in the package build?

skogsmaskin avatar Aug 24 '23 21:08 skogsmaskin

Hey everybody!

There's now an experimental support for all linux distributions using our browser container image mcr.microsoft.com/playwright. If you can run this container image on your linux distribution, then you can instruct @playwright/test to connect to it and run browsers inside the container.

Please give it a try and let us know what you think here: https://github.com/microsoft/playwright/issues/26482

mxschmitt avatar Aug 25 '23 12:08 mxschmitt

I was in the same situation as DevPres, and finally solved it:

First I had an issue with glibio, was getting libtracker-sparql-3.0.so.0 undefined symbol g_task_set_static_name error launching webkit.

I had to go into ~/.cache/ms-playwright/..., find the webkit folder, my logs said it was launching gtk version. In there, there's a sys/lib folder I deleted the local copies of glib2 and glibio.

Now that it was using the latest versions of those on my system, I was in the same state as DevPres, cmulex_init symbol not found.

Turns out my flite1 install linked to libflite_cmulex 1.4, but the version if you build from source is 2.3.

I replaced the symlink in /usr/lib so that it went: libflite_cmulex.so -> libflite_cmulex.so.1 -> libflite_cmulex.so.2.3.

That did the trick, hopefully it helps someone that might be in the same situation.

stefan-oconnell avatar Sep 06 '23 13:09 stefan-oconnell

Here is every step that got it working for me on Arch:

yay -S icu66 libwebp052 libffi7 enchant1.6

sudo ln /usr/lib/libpcre.so.1 /usr/lib/libpcre.so.3

git clone https://github.com/festvox/flite.git
cd flite
./configure --enable-shared
make
make get_voices

sudo cp build/x86_64-linux-gnu/lib/libflite.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmu_grapheme_lang.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmu_grapheme_lex.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmu_indic_lang.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmu_indic_lex.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmu_time_awb.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmu_us_awb.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmu_us_kal.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmu_us_kal16.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmu_us_rms.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmu_us_slt.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_cmulex.so.1 /usr/lib
sudo cp build/x86_64-linux-gnu/lib/libflite_usenglish.so.1 /usr/lib

Note: The AUR aur/flite1 did not add all the required libs so I uninstalled it and manually built it (as per above):

simontong avatar Sep 06 '23 23:09 simontong

You can also just use make install if your GNU linker (ld) config includes /usr/local/lib (it should).

git clone https://github.com/festvox/flite.git
cd flite
./configure --enable-shared

# build
make
make get_voices

# include /usr/local/lib in ld config
echo '/usr/local/lib' | sudo tee -a /etc/ld.so.conf.d/local.conf
sudo ldconfig

# dry-run install, to make sure everything's OK
make -n install

# install
sudo make install

nlm-pro avatar Sep 13 '23 16:09 nlm-pro

This is still open? Feels bad that a great library is only limited to work out of the box on debian

crisdegraciadev avatar Sep 18 '23 12:09 crisdegraciadev

I used instructions from @simontong and @nlm-pro but got stuck later with:

[pid=2520109][err] (MiniBrowser:2520132): libsoup-ERROR **: 23:05:00.635: libsoup3 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported.

Not sure how to resolve this, as I need both libsoup2 and libsoup3 installed for other software.

kepi avatar Oct 27 '23 22:10 kepi

I needed for a job task to run it on archlinux too, so I create a simple docker image to run it.

docker hub link

NessunoZero avatar Nov 10 '23 13:11 NessunoZero

Edit by maintainers

Hey everybody!

There's now an experimental support for all linux distributions using our browser container image mcr.microsoft.com/playwright. If you can run this container image on your linux distribution, then you can instruct @playwright/test to connect to it and run browsers inside the container.

Please give it a try and let us know what you think here: https://github.com/microsoft/playwright/issues/26482 Feature request

This is a tracking bug to gauge public interest in Arch linux support.

:point_up:

yozachar avatar Nov 11 '23 01:11 yozachar

I have inherited maintainership of the python-playwright AUR package. I was investigating its build process, and found that there is a binary download step for a driver.

Since this AUR package appears be working for Arch Linux, I am wondering if there is a way I can fully automate the build rather than relying on the download step for the driver. To this end, I am wondering where I can find the build process for the driver, so that I can I can package it (rather than having it downloaded from https://playwright.azureedge.net/).

alhirzel avatar Dec 25 '23 02:12 alhirzel

You can also just use make install if your GNU linker (ld) config includes /usr/local/lib (it should).

git clone https://github.com/festvox/flite.git
cd flite
./configure --enable-shared

# build
make
make get_voices

# include /usr/local/lib in ld config
echo '/usr/local/lib' | sudo tee -a /etc/ld.so.conf.d/local.conf
sudo ldconfig

# dry-run install, to make sure everything's OK
make -n install

# install
sudo make install

It worked for me after rebooting my computer.

Thank you!

SalahAdDin avatar Jan 30 '24 13:01 SalahAdDin