saiarcot895 / chromium-ubuntu-build

Packaging files for building Chromium on Ubuntu
137 stars 32 forks source link

chromium for debian #64

Open BramFr opened 4 years ago

BramFr commented 4 years ago

I`m using:

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux bullseye/sid
Release:    unstable
Codename:   sid

After install chromium with the following ppa:

# sudo cat /etc/apt/sources.list.d/saiarcot895-ubuntu-chromium-beta-focal.list
deb http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu eoan main
# deb-src http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu focal main

I`ll get the following message:

# chromium-browser
[5674:5674:1203/163231.565924:FATAL:zygote_host_impl_linux.cc(116)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
#0 0x55656b5faf49 <unknown>
#1 0x55656b5407a3 <unknown>
#2 0x55656b555253 <unknown>
#3 0x55656cc91cfe <unknown>
#4 0x55656b07122c <unknown>
#5 0x55656b0ccf2c <unknown>
#6 0x55656b06f801 <unknown>
#7 0x55656881e68f ChromeMain
#8 0x7fd11c217bbb __libc_start_main
#9 0x55656881e53e _start

Received signal 6
#0 0x55656b5faf49 <unknown>
#1 0x55656b5407a3 <unknown>
#2 0x55656b5faac1 <unknown>
#3 0x7fd11e767510 <unknown>
#4 0x7fd11c22b081 gsignal
#5 0x7fd11c216535 abort
#6 0x55656b5f9905 <unknown>
#7 0x55656b5556a1 <unknown>
#8 0x55656cc91cfe <unknown>
#9 0x55656b07122c <unknown>
#10 0x55656b0ccf2c <unknown>
#11 0x55656b06f801 <unknown>
#12 0x55656881e68f ChromeMain
#13 0x7fd11c217bbb __libc_start_main
#14 0x55656881e53e _start
  r8: 0000000000000000  r9: 00007ffeea083cc0 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007ffeea084f88 r13: 00007ffeea083f68 r14: 00007ffeea083f68 r15: 00007ffeea083f80
  di: 0000000000000002  si: 00007ffeea083cc0  bp: 00007ffeea083f10  bx: 00007fd11c3ab840
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007fd11c22b081  sp: 00007ffeea083cc0
  ip: 00007fd11c22b081 efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.

Is there anyway to run chromium with vaapi (for playing google stadia) with a debian installation ?

BramFr commented 4 years ago

I start chromium with: chromium-browser --no-sandbox --ignore-gpu-blacklist --enable-accelerated-vpx-decode=2 --disable-gpu-vsync

But its still using this VPXvideoDecoder video_decoder | VpxVideoDecoder

vainfo
libva info: VA-API version 1.5.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_2
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.5 (libva 2.5.0)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG4Simple            : VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    : VAEntrypointVLD
      <unknown profile>               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
dagraver commented 4 years ago

Regarding your first issue. If you use a custom kernel, make sure you have all the required kernel options selected, like CONFIG_USER_NS (and I think there are others).

As to your second issue. Either your Video Card or the vdpau wrapper does not support VPX decoding. You can work around that by installing h264ify, which forces YT to use H264 instead.

BramFr commented 4 years ago

nope using the default kernel of debian. Normal chrome just works fine. I`m trying this for stadia not youtube.

uname -a
Linux computername 5.3.0-2-amd64 #1 SMP Debian 5.3.9-3 (2019-11-19) x86_64 GNU/Linux
dagraver commented 4 years ago

I see. Well, the first problem has this message: 'No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.'

As you can see from vainfo, there are no entrypoints for vp8 nor vp9 codecs.

BramFr commented 4 years ago

Thats strange. reagarding this website: https://developer.nvidia.com/video-encode-decode-gpu-support-matrix

p1000 supports vp9

dagraver commented 4 years ago

Support for VP9 decoding in VDPAU (which is different from NVENC/NVDEC) wasn't added until release 1.3 of libvdpau, which was released around august 28th this year. So if vdpauinfo shows it, it should be visible in vainfo as well.

Please note that the va to vdpau wrapper is currently unmaintained and is lagging greatly in features.

BramFr commented 4 years ago

VP9 are supported within libvdpau 1.3 package bron: https://lists.freedesktop.org/archives/vdpau/2019-July/000442.html

Is it possible that the vdpau-va-driver doesn't have vp9 support ? http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu/pool/main/v/vdpau-video/

When i run youtube with h264 video everything seems to be okey.

video_codec_name | h264
video_decoder | MojoVideoDecoder
dagraver commented 4 years ago

Yes, that could be. Again, check the output of vdpauinfo against vainfo. If stuff is missing in vdpau-va-driver, you're basically SoL, since it is unmaintained.

BramFr commented 4 years ago

vpdauinfo ether no vp9 support :/

 vdpauinfo
display: :0   screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library  430.64  Sun Oct 27 11:05:48 UTC 2019

Video surface:

name   width height types
-------------------------------------------
420     8192  8192  NV12 YV12 
422     8192  8192  UYVY YUYV 
444     8192  8192  

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                           0 65536  4096  4096
MPEG2_SIMPLE                    3 65536  4096  4096
MPEG2_MAIN                      3 65536  4096  4096
H264_BASELINE                  51 65536  4096  4096
H264_MAIN                      51 65536  4096  4096
H264_HIGH                      51 65536  4096  4096
VC1_SIMPLE                      1  8190  2048  2048
VC1_MAIN                        2  8190  2048  2048
VC1_ADVANCED                    4  8190  2048  2048
MPEG4_PART2_SP                  3  8192  2048  2048
MPEG4_PART2_ASP                 5  8192  2048  2048
DIVX4_QMOBILE                   0  8192  2048  2048
DIVX4_MOBILE                    0  8192  2048  2048
DIVX4_HOME_THEATER              0  8192  2048  2048
DIVX4_HD_1080P                  0  8192  2048  2048
DIVX5_QMOBILE                   0  8192  2048  2048
DIVX5_MOBILE                    0  8192  2048  2048
DIVX5_HOME_THEATER              0  8192  2048  2048
DIVX5_HD_1080P                  0  8192  2048  2048
H264_CONSTRAINED_BASELINE      51 65536  4096  4096
H264_EXTENDED                  51 65536  4096  4096
H264_PROGRESSIVE_HIGH          51 65536  4096  4096
H264_CONSTRAINED_HIGH          51 65536  4096  4096
H264_HIGH_444_PREDICTIVE       51 65536  4096  4096
HEVC_MAIN                      153 262144  8192  8192
HEVC_MAIN_10                   --- not supported ---
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         32768 32768    y  Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 
R10G10B10A2      32768 32768    y  Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         32768 32768
R8G8B8A8         32768 32768
R10G10B10A2      32768 32768
B10G10R10A2      32768 32768
A8               32768 32768

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     y
INVERSE_TELECINE                 y
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         y
HIGH QUALITY SCALING - L1        y
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y         1     8192
VIDEO_SURFACE_HEIGHT             y         1     8192
CHROMA_TYPE                      y  
LAYERS                           y         0        4

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 y  
CSC_MATRIX                       y  
NOISE_REDUCTION_LEVEL            y      0.00     1.00
SHARPNESS_LEVEL                  y     -1.00     1.00
LUMA_KEY_MIN_LUMA                y  
LUMA_KEY_MAX_LUMA                y  
dagraver commented 4 years ago

Are you sure you have libvdpau 1.3? Also, vdpauinfo needs to be updated to show VP9 support.

From my ancient GTX 770: VP9_PROFILE_0 --- not supported --- VP9_PROFILE_1 --- not supported --- VP9_PROFILE_2 --- not supported --- VP9_PROFILE_3 --- not supported ---

BramFr commented 4 years ago

I`ll think i have to upgrade to this driver: https://devtalk.nvidia.com/default/topic/1065983/linux/linux-solaris-and-freebsd-driver-440-31-long-lived-branch-release-/post/5398163/#5398163

Added VP9 decode support to the NVIDIA VDPAU driver. See the VDPAU Support appendix in the README for supported VP9 decoder profiles.

At this point i have version 430 from debian repo

libvdpau version:

dpkg -l | grep libvdpau
ii  libvdpau1:amd64                       1.3-1                                amd64        Video Decode and Presentation API for Unix (libraries)
BramFr commented 4 years ago

With driver nvidia version 440.36-1 problem still exist.

ii  nvidia-vdpau-driver:amd64             440.36-1                             amd64        Video Decode and Presentation API for Unix - NVIDIA driver
ii  libvdpau1:amd64                       1.3-1                                amd64        Video Decode and Presentation API for Unix (libraries)
ii  vdpauinfo                             1.0-3                                amd64        Video Decode and Presentation API for Unix (vdpauinfo utility)
ii  nvidia-driver                         440.36-1                             amd64        NVIDIA metapackage

No VP9 found when running vpainfo and vdpauinfo

dagraver commented 4 years ago

If VP9 isn't listed at all in vdpauinfo, then your vdpauinfo needs updating (try the latest git, like me). But that doesn't seem to matter, because I took a look at vdpau-va-driver's source and it, indeed, doesn't have any reference to VP9. Since it hasn't been updated in over 7 years, I wouldn't hold my breath.

saiarcot895 commented 4 years ago

The vdpau-va-driver doesn't have VP9 support, and only supports H264.

BramFr commented 4 years ago

Just for the information. With intel i have the same problem: More info: https://github.com/intel/media-driver/issues/801

xtknight commented 4 years ago

If you would like VP9 support with NVIDIA, I have attempted to add such support to vdpau-va-driver here. It has been working for me so far without noticeable visual issues but needs more testing.

https://github.com/xtknight/vdpau-va-driver-vp9

saiarcot895 commented 4 years ago

Regarding the appimages, I've published a couple of new appimages here. Use 78.0.3902.4 if your glibc version is 2.16 or newer (Ubuntu Xenial or newer), or 81.0.4000.3 if your glibc version is 2.27 or newer (Ubuntu Bionic or newer).

pmartycz commented 4 years ago

FYI vaapi support has been enabled by package maintainer for unstable

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=940074

rubin110 commented 3 years ago

I got around the sandbox issue on Debian Sid by symlinking to chome-sandbox from the Debian chromium package.

sudo ln -s /usr/lib/chromium/chrome-sandbox /usr/lib/chromium-browser/chrome-sandbox