#๐Ÿ–ฅ-vesktop-development

1 messages ยท Page 5 of 1

azure verge
#

the tooltip is a bitch to get to work how i want it to

#

oh wait and the go live button is shifted oddly

#

Go Back works properly tho

#

lemme commit what i have before my laptop dies

hybrid fjord
#

What about this idea?

#

Maybe better to not use it for now for not creating another one portal's picker

#

Or we can just replace whole streaming starting logic, but, maybe no sense of doing it

azure verge
#

?

#

pressing go back just calls getDisplayMedia

#

because

#

well

#

it calls close

#

then getDisplayMedia

#

because getDisplayMedia is what's called to open a portal and then the screensharepicker

#

oohhh i have an idea as to why its called twice on window opens

#

ill look into it

hybrid fjord
#

Okay I do not quite understand how it works now but at least I helped to create idea ๐Ÿ˜„

azure verge
#

here

#

this file should be the one

#

that line

#

line 60 seems like it may be the culprit of the second call to getDisplayMedia

#

maybe

vernal lintel
azure verge
#

oh?

vernal lintel
#

having two cancel buttons is confusing

azure verge
#

one is like

#

actually cancel

#

the other is go back

#

discord has both shrug

vernal lintel
#

yes

#

but not in the footer

#

why move the change button down

azure verge
#

true

vernal lintel
#

leave it next to the preview

azure verge
#

good point

vernal lintel
#

stick to discords design

azure verge
#

im gonna change that rq

vernal lintel
#

modals / popups should always have one positive and one negative option

#

two negative options is confusing

azure verge
#

fair

azure verge
#

how set key on modal so closeModal works,,,?

#

better question

#

how the hell do i use closemodal to close the screenshare modal from outside of it

#

close(); just closes the entire vesktop window

simple groveBOT
#
[Vencord/venmic] New tag created: v3.4.0
#
[Vencord/venmic] New tag created: v3.4.1
upper pine
#

@vernal lintel does this look ok to you?

vernal lintel
#

@azure verge is gonna kill u

azure verge
#

omfg

upper pine
#

Yeah kinda unfortunate, I'll put up the PR and wait for theirs to get merged first

azure verge
#

lmao

upper pine
#

then rebase

azure verge
#

I'll just have to find a new way

#

I want to make it so you don't have to scroll

upper pine
#

Make it wide

azure verge
#

I tried

azure verge
#

@vernal lintel doesn't like it TooruGrrr

upper pine
#

Show how it looks

upper pine
azure verge
#

this was before any styling

#

I liked it

upper pine
#

what about default layout

azure verge
#

wdym

upper pine
#

but all vencord settings are extra to the right

#

and separated with a thin line

azure verge
#

huh

#

show

upper pine
#

uhh

#

sec

azure verge
#

okau

upper pine
#

does that make sense lmao

azure verge
#

I think

#

idk how to do that in css without a bunch more work

#

I'm gonna leave it as is for now

#

we can rethink it later

upper pine
#

I think you can do that with the existing components without css

azure verge
#

plus idk how much longer the mic workaround will be needed(if I understand it properly)

upper pine
#

Afaik there's no known cause for the issue, some distros / pipewire configs just fuck it up

azure verge
#

wacky

#

what is the EXACT issue

simple groveBOT
#

i believe that it's for platform consistency, mac / linux icons usually have a background colour, while windows usually has icons with a transparent background

Hmm mind sharing some examples of applications that have intentionally transparent background? Most apps I use are cross platform and share the same logo across platforms

vs code, native explorer, native paint, native calculator, (also most native apps) git, firefox, and inno installer are some I can quickly remember of.

azure verge
#

cuz like I can't see why selecting something like Firefox for example

#

selects the user microphone

upper pine
azure verge
#

oh INTERESTING

#

that is WACKY

upper pine
#

Yes, but it's not an issue we've caused, it's an issue in Firefox, Chrome as well so probs with the pipewire version? config?

azure verge
#

yeah

#

that's my guess too

#

wait

#

does having the workaround on cause any problems

#

if you don't need it

upper pine
#

no, we could theoretically always enable it but I'd prefer not to

azure verge
#

may I ask what it does and why not permanently enable

upper pine
#

or rather, it's not used by many so we don't know if it might cause problems

upper pine
azure verge
#

I can use it on my system to see if I'm good with default config

upper pine
simple groveBOT
hybrid fjord
# upper pine

Can we move microphone workaround and require default speakers to some sort of expandable section?
Like button (or smth) "More options" and when clicked it will expand and show these two options

hybrid fjord
#

Maybe we can think on moving audio source choosing to this section too

upper pine
#

This is what I had in mind

simple groveBOT
#

I'm not sure if any of you are having the same issue I am finding now, but hardware acceleration (encoding) doesn't seem to work anymore (?), aka, nvtop doesn't show encode anymore. Both myself, and a friend, are having this issue. We are both on Fedora 40, could someone else confirm this?

Does Linux even supports hardware encoding? I can be wrong at this point.

#

I'm not sure if any of you are having the same issue I am finding now, but hardware acceleration (encoding) doesn't seem to work anymore (?), aka, nvtop doesn't show encode anymore. Both myself, and a friend, are having this issue. We are both on Fedora 40, could someone else confirm this?

Does Linux even supports hardware encoding? I can be wrong at this point.

Yes it does using vaapi

hybrid fjord
# simple grove

@azure verge check this edited message about hardware encoding when hardware accel is disabled
Maybe we should try to remove/comment flags for disable accel?

simple groveBOT
#

I'm not sure if any of you are having the same issue I am finding now, but hardware acceleration (encoding) doesn't seem to work anymore (?), aka, nvtop doesn't show encode anymore. Both myself, and a friend, are having this issue. We are both on Fedora 40, could someone else confirm this?

Does Linux even supports hardware encoding? I can be wrong at this point.

Yes it does using vaapi (only on Intel and AMD GPUs)

According to archwiki, it's also supported on Nvidia, as N...

upper pine
azure verge
#

I put the encoder flags in the hardware accel if statement cuz it made sense to me

#

idk if they should be something the user can't opt out of

azure verge
hybrid fjord
azure verge
#

what they said was that disabling and re-enabling the setting made it work
it was the setting not storing it's value for some reason afaik

hybrid fjord
#

Oh, I understand now, sry

#

xd what if in code we just add-remove-add flags

simple groveBOT
#

I'm not sure if any of you are having the same issue I am finding now, but hardware acceleration (encoding) doesn't seem to work anymore (?), aka, nvtop doesn't show encode anymore. Both myself, and a friend, are having this issue. We are both on Fedora 40, could someone else confirm this?

Does Linux even supports hardware encoding? I can be wrong at this point.

Yes it does using vaapi (only on Intel and AMD GPUs)

According to archwiki, i...

upper pine
hybrid fjord
#

Ohh okay

#

I don't quite understand how it works for now, I will learn more about it

upper pine
hybrid fjord
#

Yeah it would be great ^^

#

Didn't knew you are a maintainer of Rohrkabel

#

It helped me a lot so thank you)

upper pine
upper pine
simple groveBOT
#

I'm not sure if any of you are having the same issue I am finding now, but hardware acceleration (encoding) doesn't seem to work anymore (?), aka, nvtop doesn't show encode anymore. Both myself, and a friend, are having this issue. We are both on Fedora 40, could someone else confirm this?

Does Linux even supports hardware encoding? I can be wrong at this point.

Yes it does using vaapi (only on Intel and AMD GPUs)

According to a...

upper pine
#

v5 released today btw ^^

simple groveBOT
#

I'm not sure if any of you are having the same issue I am finding now, but hardware acceleration (encoding) doesn't seem to work anymore (?), aka, nvtop doesn't show encode anymore. Both myself, and a friend, are having this issue. We are both on Fedora 40, could someone else confirm this?

Does Linux even supports hardware encoding? I can be wrong at this point.

Yes it does using vaapi (only on Intel and AMD GPUs)
...

hybrid fjord
simple groveBOT
#

I'm not sure if any of you are having the same issue I am finding now, but hardware acceleration (encoding) doesn't seem to work anymore (?), aka, nvtop doesn't show encode anymore. Both myself, and a friend, are having this issue. We are both on Fedora 40, could someone else confirm this?

Does Linux even supports hardware encoding? I can be wrong at this point.

Yes it does using vaapi (only on Intel and...

upper pine
#

Does someone here run pulse only (no pipewire)?

azure verge
#

if this became the new menu

#

id ask you to merge it before i merge this pr

upper pine
#

sure ^^

azure verge
#

i want to rebase our solution on that

#

but yk

upper pine
#

Ven needs to approve tho

azure verge
#

its up to @vernal lintel

#

yeah

hybrid fjord
upper pine
#

btw, @vernal lintel, I've had someone complain about the pulse check, as they run some hybrid setup, I think I'll remove the error condition when pipewire was not detected as the main audio server, and instead only log a warning

You can still call has_pipewire from node and we should probably open a modal informing the user that pipewire was not detected as the main audio server, if he knows what he's doing and wants to continue anyway, or if he properly wants to setup pipewire-pulse

#

Sorry for all the pings ๐Ÿ˜…

simple groveBOT
azure verge
#

@hybrid fjord what's the status on displaysurface

#

do we know if its the cause behind the weird framerate cursor tie

hybrid fjord
#

We are not sure whether this is a cause or not
For checking we need to somehow pass displaySurface as display and correct display id to stream object instead window as electron returns

#

But it seems logical to me that this is a cause

azure verge
#

are we able to test if the framerate is better with displaysurface set correctly?

#

although tbf

#

if it is a cause

#

it seems to be the kind of thing we should wait on electron for

#

and just merge anyways

hybrid fjord
#

I think with display surface we need to pass id as screen : x:0 correctly instead of window, but I do not know how to get screen's id
However I can test whether just applying displaySurface to screen helps

azure verge
#

if you test that i think we should wait on electron

#

and merge anyways

#

and if they dont fix it

#

we can make another pr with a fix

hybrid fjord
azure verge
#

yeah

hybrid fjord
# hybrid fjord But it seems logical to me that this is a cause

It's always logical because it seems that if we on kde choose window then we get frames only when window updates
But for display on kde we have slightly 50-60 (bc looks that kde updates almost always) and updates only when screen updates on systems like gnome (looks like their update system updates only on updates)

azure verge
#

on kde when i choose window i get 60 afaik

#

display makes it only update when updates

#

but it checks the display plane

#

not cursor plane

hybrid fjord
#

Okay we need more tests I believe
Bc recently I successfully got same behavior as on gnome for windows streaming

azure verge
#

w h at

simple groveBOT
#

to clear this up for anyone reading/not sure if it will work on their nvidia gpu, it will not. Since NVIDIA only want to support their own APIs.

Browsers use VA-API. There's two currently maintained backends for VA-API that relate to Nvidia, VAAPI > VDPAU and VAAPI > NVDEC (which is the repo linked above), both of which are decode support only, with the latter mostly being aimed at Firefox.

The only hope for Nvidia users is hopefully either open source kernel drivers nouveau or nova (th...

upper pine
#

Could probably use some sort of Levenstein?

simple groveBOT
#

i believe that it's for platform consistency, mac / linux icons usually have a background colour, while windows usually has icons with a transparent background

Hmm mind sharing some examples of applications that have intentionally transparent background? Most apps I use are cross platform and share the same logo across platforms

vs code, native explorer, native paint, native calculator, (also most native apps) git, firefox, and inno installer are some I can quick...

hybrid fjord
simple groveBOT
#

the rainbow icon was originally only meant for mac, created by a contributor specially for it

but it also looks way better on gnome, so we decided to also use it on Linux

Perhaps at least give the option for the background?

you can just change it yourself. create a shortcut to vesktop then right click > properties and change the icon

Fair enough. Imo, the rainbow logo is better because it's just hard to see the outline of the transparent one while in the taskbar fo...

upper pine
hybrid fjord
upper pine
#

I want to replicate that behavior

#

as far as possible

#

We can already get some app names, and I can cross ref that with the avaialble pipewire nodes through some sort of closest match sorting

hybrid fjord
# azure verge w h at

i can reproduce it on latest commit.
When i start streaming Kate as window then i get updates only when mouse moves:

azure verge
#

same

#

just

#

i had originally tested with

#

doom eternal

#

and that forced 60fps

hybrid fjord
#

bc of game updates more than 60fps?

azure verge
#

most likely

broken solstice
#

Huh

#

Interesting

#

VERY INTERESTING

#

Well, now we know i'm not alone

humble mortar
#

I'm currently reinstalling arch (my system is having issues and I'm trying to figure it out(may be hardware))

simple groveBOT
hybrid fjord
#

About bug that calls portal's screen picker twice. I can reproduce it even in chromium using getDisplayMedia plain function, so it is a not our bug

#

It calls only when picking window, for picking screen it calls only once

azure verge
#

odd

broken solstice
azure verge
#

interesting

hybrid fjord
#

okay, i tested few times in discord and in webrtc demo and for screen choosing i have 1 picker and for window 2 pickers

hybrid fjord
#

i tried many ways to specify displaySurface to monitor but without success.
displaySurface field is located in MediaTrackSettings dict so it propably using some different logic from constraints
also it can be linked with deviceId property and refuses to change displaySurface to monitor while we have deviceId: window:x:0

simple groveBOT
hybrid fjord
#

Okay, i have some really useful information

#

In webrtc demo which uses sender and receiver and even does WebRTC negotiations i wrote FPS for sender FPS and receiver FPS.
And even when i pick screen using plain WebRTC's getDisplayMedia() function i do have FPS drops when i move mouse. Thats means that setting displaySurface to 'monitor' will not fix this bug.
When picking window i do have the same behavior with updating fps only when window updates.

azure verge
#

oh interesting

#

chromium bug maybe?

hybrid fjord
#

Maybe it is some upstream's bug? Or even it's a feature in some scenarios..

azure verge
#

or xdg-portal

hybrid fjord
#

FPS not droping in firefox

#

means its chromium bug

azure verge
#

ofc

#

welp

#

you should report that

hybrid fjord
#

firstly i must really good search in their bugtracker. Maybe it is already reported

azure verge
#

true

hybrid fjord
#

Also in firefox i have two picker calls whether i pick screen or window

azure verge
#

wacky

simple groveBOT
hybrid fjord
#

tf is that

hybrid fjord
#

I believe i have fps drops on mouse-moving even when streaming browser window with 60fps video

#

okay time to sleep i think, 2am alreadyWHAT

#

so with this new info i believe we can't fix this independently

simple groveBOT
azure verge
#

i think its automatic

azure verge
#

well that's a graphics update

#

i wish we could lock it to 60/30fps

#

if it stayed locked

#

itd be a lot better

azure verge
#

okay

#

so

#

i have an idea

#

the bitrate lowers when someone starts watching, right?

#

maybe instead of looking for the amount it locks to

#

we need to look at what functions are called when someone starts watching

#

maybe then we can find which one patches the bitrate

#

i think we just needed to look at it from a different perspective

#

uh

#

should we care that encode is 720p30?

vernal lintel
#

set height and width

azure verge
#

i will i just wondered if it is something we should care about

#

eh to hell with it

#

ill add it to the patch

#

i should anyways

#

okay

#

when someone starts watching i THINK it reapplies videostreamparameters

#

idk why that would cause issues though

#
S(this, "handleVideo", e=>{
  var t;
  return this.emit(d.BaseConnectionEvent.Video, this.userId, e, this.audioSSRC, this.videoStreamParameters[0].ssrc,
  null !== (t = this.videoStreamParameters[0].rtxSsrc) && void 0 !== t ? t : 0, this.videoStreamParameters)
}
simple groveBOT
simple groveBOT
hybrid fjord
#

Wonder if there is any way to decrease latency? Bc in theory WebRTC streams can work with almost 0 latency like for camera, but in discord streams on preview we currently can see latency about 100-200 ms. Also in demo there is latency too. I will try to play with parameters on demo, maybe I can find something

hybrid fjord
#

about this. Why we can't just stream gamescope as window?

simple groveBOT
upper pine
#

@vernal lintel I thought about removing the pulseaudio depdencency and instead checking it from pipewire, however there seems to be no fully portable way to do so, although there's a way that should work 99% of the time unless the user has some really fucked configuration - Should we then remove the current pw-pulse check (that requires pulseadudio to be linked) and instead only show a warning modal in the frontend when no pw-pulse was detected

azure verge
#

if you look into that ill look into bitrate

#

im waiting for v's opinion on the new modal before i start styling ours

#

cuz im gonna rebase from the newest version

hybrid fjord
azure verge
#

damn

#

any idea whyi

hybrid fjord
#

Dunno, we need to check more settings/constraints and search something about latency

azure verge
#

oki

hybrid fjord
#

Also in senders/receivers too

azure verge
#

noted

#

finding whatever causes this bitrate thing is quite the challenge lol

azure verge
#

we already patched that

#

time to patch this

azure verge
#

nvm i got it

vernal lintel
azure verge
#

i cant even test this ๐Ÿ˜ญ

#

my laptop cant encode fast enough

#

and idk if my hotspot is fast enough for 1440p60

#

to test the bitrate limit

azure verge
upper pine
#

But until there's a good way to see it from pipewire I should probably keep it

vernal lintel
upper pine
#

Should I PR?

azure verge
#

can one of you @broken solstice @hybrid fjord test with my newest commit and lmk if the 4696 limit is still there when someone watches?

hybrid fjord
#

I'm not in home rn :c

azure verge
#

oki ur good

#

worst case scenario i test at home

#

oh

#

odd

#

my laptop isnt hw accelerated

#

oh

#

fixed it

#

my laptop IS powerful enough

#

lmao

#

hmm

#

i cant break 4000 anymore

#

what the hell

#

okay that's not happening anymore but the framerate is locked at 30

#

wHAT the HELL

#

im just gonna revert whatever i did

hybrid fjord
#

xD

upper pine
#

If that's ok with you @azure verge

#

The changes are probably going to be fairly minimal

azure verge
#

ofc

#

I turned my pr into a draft because I forgot to

#

it's not getting merged until the menu is done

vernal lintel
#

i wanna make vesktop release soon

#

hopefully we can get allat merged by then

upper pine
#

Let's include all of it

#

I'll finish my PR today

azure verge
#

yeah

#

as soon as your PR is done

#

ill rebase and finish the screensharing modal

#

ill test a bunch of stuff

#

and then ready my pr for merge

upper pine
#

Next update is gonna be huge

azure verge
#

yep

#

"we fixed everything"

#

"no more issue reports allowed"

upper pine
broken solstice
azure verge
azure verge
broken solstice
#

Wait, you think to have lifted the limit?

azure verge
#

I thought so but

#

it just broke everything

#

so I reverted it

broken solstice
#

Huh

#

Interesting

#

Could be experimented

azure verge
#

yeah

broken solstice
#

Perhaps

azure verge
#

I'm gonna focus on the modal tho first

azure verge
#

with target at 6000

#

so it could explain 4696

#

maybe

#

idk if I fixed it I'll let y'all know

#

no big deal

#

for now tho

#

im gonna test

#

add new modal

#

and merge

#

we can PR with any other fixes later

broken solstice
#

Sure, let's keep that in mind

#

Later, when I'm home, we can experiment with it a bit

broken solstice
azure verge
#

ofc

simple groveBOT
azure verge
#

๐Ÿ‘€

upper pine
#

@vernal lintel How should I handle the width here? Neither of the predefined classes look good

#

Should I add my own?

#

If so, should I use vw?

upper pine
simple groveBOT
vernal lintel
#

huh?

#

i don't understand what you mean

upper pine
#

Yeah it was a stupid question

#

Wasn't sure if I should pin the modal width with px or vw

vernal lintel
#

why do it at all

upper pine
#

The normal width is way too narrow

vernal lintel
#

you don't

#

the modal root takes a size prop

#

just change it to wider

upper pine
#

Ik, but the Medium one is also too narrow and Large is FUllscreen

vernal lintel
#

then you need to rethink the ui :p

upper pine
#

or just add one in between :P

#

This is how it looks now

azure verge
#

i accidentally clicked on the image absent mindedly and i thought that someone said something here and i got excited ๐Ÿ˜ญ

upper pine
#

This is what it looks like with Medium size

#

A little too small imo

azure verge
#

honestly

#

no

#

i like that

#

because

#

there needs to be room under res and fps

#

for the content hint

#

that gives that room

upper pine
#

the last one?

#

Alr

azure verge
#

id use up the space under res and framerate with the "smoothness vs clarity" button

#

yeah

upper pine
#

Then I'll PR it like that

azure verge
#

awesome

#

ill get to work as soon as the pr gets merged

upper pine
#

This is large btw

#

It's fucking huge holy shit

azure verge
#

yeah large is massive

#

i tested with large

#

there's also a size called dynamic

#

idk what it looks like

upper pine
#

That's straight up fullscreen lmao

azure verge
#

HAHAHAHHAA

upper pine
#

Look at this mf xd

azure verge
#

o;HgghjhhHGAHJAHHAHAHAHASHKAS:DAJSD:AKJSDH:AHA:HA

#

i hit my keep so hard it opened 6 help windows and added strikethrough

upper pine
#

hahahahahha

#

so hard you leaked the nuke keys

azure verge
#

LMAO

upper pine
#

Discord is borderline unusable on Nvidia with both xwayland and normal wayland

#

holy fuck this is killing me

#

I can't type like this

#

oops

#

was about to push with dynamic size hahaha

azure verge
#

HAHHAHA

azure verge
#

did you test the new modal on xorg to make sure it all works properly

upper pine
#

how would it not work on x xD

#

watch it absolutely not work

azure verge
#

yep

#

which is why i suggest testing

#

there's a variable called isWayland in the main process

#

you could probably pass its value to renderer if you need to

upper pine
#

Bruh fuck wayland we don't get any useful information on the selected window here

#

so much for auto suggestion the audio source

azure verge
#

yep

#

we have an issue open with electron about that

upper pine
#

do they even get any useful information from the portal??

azure verge
#

they also shouldn't be returning window:xx:x for everything

azure verge
#

its supposed to be window:xx:x and screen:xx:x i believe

#

@hybrid fjord knows more

azure verge
azure verge
#

does it give app name and everything?

hybrid fjord
# azure verge does it give app name and everything?

I believe no, I didn't see anything like that
But I have an idea
Maybe when we have id like "window 31 0" we can just make some call to something which will return more info? Maybe DBus has any functions for it?

azure verge
#

possibly

upper pine
azure verge
#

hm

#

im gonna look into what the portal itself returns

#

if there's documentation on that anywhere

upper pine
#

wait

#

how does the pipewire screensharing even work

#

does anyone have any docs on that by any chance?

azure verge
#

this is the portal docs

upper pine
#

oh bruh this is all dbus

hybrid fjord
#

What we must do on dbus-less systems..

upper pine
#

can't I access the information through the pw-api as well?

azure verge
#

i have no idea

hybrid fjord
#

Okay whenever I think we can use some DBus calls and get more info

#

I will try all of it when I got home

upper pine
#

I'd like to avoid dbus if possible

#

okay

#

obs uses pipewire to screen capture

#

surely they dont use dbus for that

hybrid fjord
upper pine
#

not hardware devices

hybrid fjord
#

Maybe it returns something for windows too?

upper pine
#

like not windows the os

hybrid fjord
#

I can't check rn(

upper pine
#

But the screen share windows

#

or did you mean that as well xd

hybrid fjord
upper pine
#

ah sorry ๐Ÿ˜…

simple groveBOT
upper pine
#

Fuck

#

obs actually uses dbus wtf

hybrid fjord
#

xd

broken solstice
#

Hello

#

I'm finally back ๐Ÿ™‚

upper pine
#

what the fuck

#

I've never seen this before

azure verge
#

what the fuck

#

sorry im not helping more

broken solstice
#

@azure verge anything to test?

azure verge
#

am in physics class

#

nope

broken solstice
#

Ah, okay, what about the bitrate thinghy?

azure verge
#

im waiting for this stuff to get merged

azure verge
#

its uhh

upper pine
azure verge
#

conn.videoQualityManager

#

look at that property

#

it has bitrate stuff on it

#

it may be part of the issue

#

gl tho

broken solstice
#

Hmmm

#

Interesting

#

Btw, you didn't finish the UI yet right?

azure verge
#

im waiting for this merge from @upper pine

#

and then im rebasing the UI on that

broken solstice
#

I'm testing out your reverted commit

azure verge
#

go ahead

#

lol

#

it stopped working for me

#

and i dont have time to troubleshoot rn

#

so i undid it

broken solstice
#

Well, it works just the same for me

#

I can't find any difference in behaviour

azure verge
#

it locked my fps to 30 whar

broken solstice
#

Still very low fps unless moving the cursor, same limit

simple groveBOT
broken solstice
#

Sharing a window seems locked to 30 yes

#

Just tested

simple groveBOT
#
[Vencord/venmic] New tag created: v3.4.2
upper pine
#

Why the actual fuck does the caching not work at all

vernal lintel
#

funny

upper pine
#

btw v

#

can we put this up here?

#

ah

#

no

#

I see why

#

how can I access a static member then

vernal lintel
#

have to refactor the code a bit

upper pine
#

alr

#

I'll PR it in it's current form then

#

I removed the error for when the user is not running pipewire-pulse

#

and made it a warning instead

vernal lintel
#

kinda ugly xd

upper pine
#

We'll have to make sure to check PatchBay.hasPipeWire() to show a warning when pipewire-pulse is not installed

upper pine
vernal lintel
#

tbh i still dont understand why even bother to drop pulse dep

#

isnt pulse required to use electron

upper pine
#

Dunno

#

I didn't drop it though

#

I just made running pipewire-pulse optional

#

But true

#

You probably need pipewire pulse anyway

upper pine
upper pine
upper pine
upper pine
#

Is this wording alright?

simple groveBOT
azure verge
#

and uhhh

upper pine
#

yeah I did that before opening the PR xd

broken solstice
azure verge
#

are you only capturing those or are you redirecting them

azure verge
upper pine
#

only capture

#

nothing does redirect except workaround

azure verge
#

ohhhh

#

okay

#

nice

#

that actually allows for a lot of flexibility

#

i like that

broken solstice
#

let me find a reference for it

upper pine
#

other settings use trailing periods as well

broken solstice
#

That's more important

upper pine
#

as well as the pipewire-pulse warning

simple groveBOT
azure verge
#

wowie a new message (its just a new star notif)

simple groveBOT
upper pine
#

I'm hyped really hyped for #489

broken solstice
#

Huh

#

I MIGHT HAVE FOUND A CONSISTENT WORKAROUND FOR THE FPS ISSUE

upper pine
#

holy fuck

#

citrix is so uneblievably slow

broken solstice
#

Sooo

#

for some reason

#

Having vkcube onscreen totally fixes the screen stream's update issue

#

Like, instantly goes from 5-10 to 45-50

#

I wonder what's causing that

upper pine
#

gpu usage?

broken solstice
#

I thought about clock but I already have a script that pushes that (if you're wondering why, it's because in the past xwayland discord flickered when changing GPU Clock)

upper pine
#

hmm

broken solstice
#

~13%

#

sometimes 20-30

#

IT'S FRAMERATE RELATED

#

okay, so, here's what I did

#

I opened Rainworld, which uses DXVK, if I unset the max fps the stream is at 49

#

My monitor's at 144Hz

#

If I lock the game with the ingame toggle to 120 the stream drops to ~36fps

#

at 69fps it's at 20fps

#

at 40 it's at 4-5fps

#

Which is mostly the behaviour we see from not moving the cursor

#

Later i'll test if having a different refresh rate alters this is any way

#

THe GPU clock are hard set, they're not a factor at play here

#

Can anyone with this issue test something similar

hybrid fjord
#

Why we then can't reproduce this issue in Firefox?)

broken solstice
#

Good question

#

Do you have this issue on Vesktop btw?

hybrid fjord
#

When I choose window -> I have only updates fps
When I choose display -> 60 fps when mouse not moving and 45-50 when moving mouse

hybrid fjord
#

I even saw how to get properties that we see in debug menu

azure verge
#

interesting

azure verge
#

it was locked at 59-60

broken solstice
#

Can we test something?

#

if you're home?

upper pine
broken solstice
#

Yep

#

Can we call?

upper pine
#

Sure

hybrid fjord
#

Do we want to add "Try to fix 4696 bitrate cap" to tasklist before merging?

azure verge
#

I'm not sure

#

also

#

should we mention the open issues in the pr so people can forward that they're also experiencing them to maybe push development a bit

simple groveBOT
hybrid fjord
#

๐Ÿ˜ฆ

simple groveBOT
hybrid fjord
#

[error] could not create core or registry
Maybe it's a pipewire's issue?

upper pine
#

Sounds like it

simple groveBOT
#

Please post with debug logs enabled, see: https://github.com/Vencord/venmic?tab=readme-ov-file#-debugging

[3:0412/150123.133389:ERROR:shared_x_display.cc(39)] Unable to open display
'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
[2024-04-12 15:01:24.330] [venmic] [debug] [patchbay] (has_pipewire) pulse-server is "pulseaudio (on pipewire 1.0.3)"
[2024-04-12 15:01:24.333] [venmic] [error] could not create core or registry
Failed to initialise v...
azure verge
# simple grove

they gave no information in that issue I am so confused as to what they want

#

are they running vesktop in gamescope???????

simple groveBOT
hybrid fjord
simple groveBOT
hybrid fjord
azure verge
#

I'm not including it in 488

#

489*

#

I'm just trying to get info

azure verge
hybrid fjord
#

Yeap, I would like to try some things for fixing it
I need just understand what he wants ๐Ÿ˜…

azure verge
#

mhm

#

gRAAH I FORGOT TO READD MY CONFIG CHECKSUM TO LIMINE NOOO MY PC WONT BOOT WAAAH

hybrid fjord
azure verge
#

gimme like 20m to fix lmao

azure verge
hybrid fjord
simple groveBOT
#

Describe the bug
When opening Vesktop, the previous window size is not remembered. It opens in the right position, just not the right size.

To Reproduce
Close Vesktop and open it again.

Expected behavior
Vesktop should remember the previous window size.

Desktop:
OS: Windows 10

Additional context
I installed it using Scoop.

broken solstice
#

@azure verge @hybrid fjord I tested some stuff with @upper pine and it seems that the further apart the framerate of the fastest updating client is from the monitor's refresh rate the worse the stream runs.
So, opening vkcube and having a tiny section of it on screen prompts the framerate to be stable and close to target. This also explains what we were seeing with the secondary monitor as, because it has a lower refresh rate, it needs a lower framerate to not be horrible.

#

This is one heck of a bug

#

I could also reproduce that moving the cursor WORSENS framerate in some cases

#

Which is what I've seen on KDE

#

also @upper pine's stream flickers just like yours even on Nvidia Wayland so it's probably a synchronization issue that's not driver dependent

azure verge
hybrid fjord
#

I believe that's all is a upstream issues

broken solstice
#

I agree with you

azure verge
#

yep

#

wait

#

upstream as in

#

chromium

#

or higher upstream

broken solstice
#

Yeah

azure verge
#

whoever's issue it is we need to make sure they know

#

yeah

broken solstice
#

There's a chance it's lower level than chromium but eh

azure verge
#

oki

#

well

#

if it is

#

that's chromium's problem

broken solstice
#

I'm trying to get gstreamer1.24 on 40

azure verge
#

to report and fix

azure verge
broken solstice
#

you're on Arch, mostly likely 1.24.2 which is the latest

azure verge
#

id assume

broken solstice
#

I'm on 22.9 which is basically 23

azure verge
#

i just dont know how to check lmao-

#

wait yes i do

#

one moment

broken solstice
#

@upper pine is

azure verge
simple groveBOT
#

if you check out #326 the most recent commit kinda does that. it exposes a cli that can execute different keybinds by code. though i was thinking this would be used as fallback.
plans are being made for better ways to do this but i am really busy with school as of right now and can't really contribute much.

broken solstice
#

It's taking quite a bit, partially overridden, partially installed

#

Silverblue moment

#

AHAH

azure verge
#

gl

broken solstice
#
  gstreamer1 1.22.9-1.fc40 -> 1.24.0-1.fc41
  gstreamer1-plugin-libav 1.22.9-1.fc40 -> 1.24.0-1.fc41
  gstreamer1-plugins-bad-free 1.22.9-3.fc40 -> 1.24.0-2.fc41
  gstreamer1-plugins-bad-free-extras 1.22.9-3.fc40 -> 1.24.0-2.fc41
  gstreamer1-plugins-bad-free-libs 1.22.9-3.fc40 -> 1.24.0-2.fc41
  gstreamer1-plugins-base 1.22.9-1.fc40 -> 1.24.0-1.fc41
  gstreamer1-plugins-good 1.22.9-3.fc40 -> 1.24.0-2.fc41
  gstreamer1-plugins-good-qt 1.22.9-3.fc40 -> 1.24.0-2.fc41
  gstreamer1-plugins-ugly 1:1.22.9-2.fc40 -> 1:1.24.0-1.fc41
  gstreamer1-plugins-ugly-free 1.22.9-1.fc40 -> 1.24.0-1.fc41
  gstreamer1-vaapi 1.22.9-1.fc40 -> 1.24.0-1.fc41
Removed:
  faad2-libs-1:2.11.1-2.fc40.x86_64
  gstreamer1-plugins-bad-freeworld-1:1.22.9-3.fc40.x86_64
  libde265-1.0.15-2.fc40.x86_64
  libkate-0.4.1-29.fc40.x86_64
  librtmp-2.4-24.20210219.gitf1b83c1.fc40.x86_64
  mjpegtools-libs-2.2.1-5.fc40.x86_64
  svt-hevc-libs-1.5.1-6.fc40.x86_64
#

Just in case ๐Ÿ™‚

#

I couldn't find freeworld

azure verge
#

tf is bad and good

#

"this plugin is shit"

#

like

#

why do they call it bad

hybrid fjord
# simple grove

About this issue
Is there ang way in electron to check user inputs even on unfocused window?

#

But it's looks like critical security issue ๐Ÿ˜„

hybrid fjord
hybrid fjord
#

Ohh

azure verge
#

wayland like

#

explicitly blocks that rn

hybrid fjord
#

Okay, but at least for x11 we can potentially realize this feature

#

Just checking all inputs and comparing to binds table

simple groveBOT
vernal lintel
#

you can't on wayland

#

on wayland u need to use the portal

hybrid fjord
#

GlobalShortcut portal looks kinda attractive

azure verge
#

keyloggers my beloved

#

took us like 30 years of computing to say "we shouldn't give apps keyread permission by default"

vernal lintel
#

i mean the general assumption is that apps you run on your system are trusted

azure verge
#

i mean yeah but the system should still protect you

#

it should protect you but allow you to disable those protections

upper pine
#

Who maintains the Flatpak?

azure verge
#

im gonna go out on a limb and say @sly cairn

simple groveBOT
upper pine
# simple grove

@sly cairn do have some idea what could be the cause here?

#

@mossy torrent didn't we have similar issues with the soundux flatpak

azure verge
#

wait

#

that's weird

#

i use the flatpak

simple groveBOT
#

basically what the title says. streaming is now smooth on linux. finally.

TODO before merge:

  • [x] Fix resolution and framerate selection
  • [x] Fix bug that stops users from changing the streamed window (created by allowing resolution changes)
  • [x] Fix bug where changing windows allows you to lower the fps but not raise it
  • [ ] Beautify modal for starting a stream(show preview and content type as a dropdown)
  • [x] Fix issue where stream quality overlay does ...
azure verge
#

oh

#

we could add that

#

i dont feel like it

#

but we could

sly cairn
#

it seems to work for everyone else

upper pine
#

That's true

#

But it should be an issue with flatpak I think

hybrid fjord
#

In discord native windows client there for non nitro accounts in p2p call I have bitrate target of 4000 for streaming
And I can't get more than 4100 actual bitrate

#

So I believe that non nitro accounts are restricted to 4k on backend

hybrid fjord
#

found out that latency on video depends on quality (how surprisingly, right?) so i believe w/o changing encoder we can't decrease latency
i will try to search whether there are ways to decrease latency for voice

simple groveBOT
#

And also please specify how we can reproduce it.
Because today I tried starting game with gamescope and it just started in another window, which I really can choose using portal picker or I can just stream whole display with game window.

Gamescope is a wayland compositor that runs by itself when it is not being launched from another compositor. It does not support a portal capture at the moment and only has the pipewire output. The problem is that this is the main compositor for the Stea...

#

And also please specify how we can reproduce it.
Because today I tried starting game with gamescope and it just started in another window, which I really can choose using portal picker or I can just stream whole display with game window.

Gamescope is a wayland compositor that runs by itself when it is not being launched from another compositor. It does not support a portal capture at the moment and only has the pipewire output. The problem is that this is the main compositor...

hybrid fjord
#

okay any ideas how we can reproduce it in default systems?

#

anyway how we must send pipewire output instead of portal one's if electron want portal output..

azure verge
#

i have no idea

hybrid fjord
#

maybe we can create stream object from pipewire output sobehow?

azure verge
#

hence why im leaving it out of this pr

hybrid fjord
#

hardest thing will be to test it

azure verge
#

i could probably install gamescope on my switch or some shit

hybrid fjord
#

and vesktop?

azure verge
#

yeah

#

the main thing i wanna fix rn

#

is the 4696 cap

#

i have nitro

#

and im still locked

#

i cant hold 1080p60

hybrid fjord
#

o_o

#

how exactly you reproduce it?

azure verge
#

unless nitro basic has a lower cap

azure verge
#

the moment someone starts watching

#

the target drops to 4696

#

@upper pine uhm

#

sometimes when i screenshare some apps

#

all audio quality in call turns robotic

#

is that normal pipewire shit

upper pine
#

I've never experienced anything remotely similar xd

azure verge
#

im still on venmic 3.3.2

#

but yeah

#

woah

upper pine
#

But that shouldn't make too much of a difference

#

Linking is still the same

azure verge
#

maybe my pipewire config is brokey?

upper pine
#

Could be?

#

Maybe pipewire got overwhelmed by too quick linking or something?

azure verge
#

it depends on the game

upper pine
#

But then it's also a pipewire issue

azure verge
#

some games cause it

#

some dont

#

doom eternal is a big culprit

#

idk why lol

upper pine
upper pine
azure verge
upper pine
#

I'll see if I can reprod to tomorrow

azure verge
#

oki

upper pine
#

I'll test it

#

With going robotic

#

You mean for others

azure verge
#

is this right

#

no like

upper pine
#

Or for yourself?

azure verge
#

all audio i hear

#

goes to shit

hybrid fjord
#

it looks like small latency issue

upper pine
#

All Audio

#

That's insane

azure verge
#

*all vesktop audio

#

not all audio

upper pine
#

Ah

azure verge
#

everything else is fine

upper pine
#

Alr

azure verge
#

gl

azure verge
#

analog

#

maybe im wrong tho

upper pine
azure verge
#

oki

upper pine
hybrid fjord
azure verge
#

not the screen

#

what the fuck

upper pine
#

What the fuck

#

I'll def see if I can reproduce

upper pine
#

In case I can reprod I wouldn't know what could fix it tho xd

azure verge
#

lmao

upper pine
#

But we'll see

azure verge
#

welp

#

good to show at least

#

yeah

upper pine
#

Maybe I get some crazy idea

azure verge
#

weird

#

if i change windows to it

#

it doesnt happen

#

just if i start a stream

upper pine
#

Ok

hybrid fjord
upper pine
#

So

#

Exact steps to reprod

#

Are

#
  1. Open Doom Eternal
  2. start windowed stream
#

Whole desktop audio or only doom?

azure verge
#

start stream with doom eternal window and with game audio on
content hint set to motion
and im using 1080p60

upper pine
azure verge
#

game only

upper pine
#

Ok, noted :D Thanks

azure verge
#

wtf

#

@hybrid fjord 720p60 uses 9800kbps

#

we literally cant stream 1080p60

hybrid fjord
#

wtf

#

it must be about 5500 kbps

upper pine
vernal lintel
#

yes

#

without nitro is usually locked to 720p30fps

azure verge
#

mhm

upper pine
azure verge
#

not sure

hybrid fjord
#

do i need to add bitrate to demo?

#

i can try

azure verge
#

try

#

odd

#

im streaming 1440p 30 rn

#

and barely hitting 1000kbps

#

even at full 30fps

hybrid fjord
#

with motion/

#

?

azure verge
#

contenthint detail

#

instead of motion

upper pine
#

Is this somehow relevant?

#

Maintain frame rate sounds interesting

azure verge
#

that's a thing we worked on and implemented a while ago lol

upper pine
#

Alright, sorry I'm not too up-to-date ๐Ÿ˜…

hybrid fjord
#

It's actually like new feature for us ^^

azure verge
#

mhm!

upper pine
azure verge
#

this is what i wanted to put under the res setting

#

oh

#

wha

hybrid fjord
azure verge
#

osadjlfkshjldakf

upper pine
hybrid fjord
#

hm

azure verge
upper pine
#

degradationPreference

#

Ah

azure verge
#

look at the mdn page

upper pine
#

Oh xd

azure verge
#

lol

upper pine
#

Have you tried using it anyway?

#

Is it deprecated long enough that it's actually deprecated in the current chrome build of electron?

azure verge
#

i dont wanna implement anything deprecated

#

because like

upper pine
#

Yeah absolutely

azure verge
#

it would be a pain if it came back later and caused more issues

upper pine
#

Just for testing

azure verge
#

not worth bothering with

#

i mean that's fair but it already doesnt matter

hybrid fjord
#

at least our current configuration of contentHint are working so maybe it be better to not touch it

azure verge
#

motion is basically maintain-framerate

#

detail is maintain-resolution

hybrid fjord
#

can anyone retest starting stream when watching another stream? T_T

upper pine
#

We did that a few hours back and it would load indefinitely

upper pine
hybrid fjord
#

why we fixing bugs and they are just coming back

upper pine
hybrid fjord
#

like us

broken solstice
#

We're just hard to kill bugs AHAH

#

Well, nonetheless, on GStreamer 1.24 I can't see any significant difference compared to 23

hybrid fjord
#

wait stop
did we even fixed starting stream when watching another stream? Or we just decided that discord must fix it

#

bc i remember that i can reproduce this bug in default discord
newly created conn.input.stream is undefined when watching another stream, so we can't do anything here

broken solstice
#

I have to yet add my custom pipewire

hybrid fjord
hybrid fjord
# azure verge

I have idea about UX here
Can we change text to something like "Choosing "Prefer Smoothness" will result a higher framerate in exchange for a image quality" when user picker prefer smoothness and change text to clarity when user picks clarity?
Like this about section will tell to user what exactly he picked

azure verge
#

@vernal lintel the sooner you merge venmic 3.3.4, the sooner ill be able to finish #489 lmao

simple groveBOT
simple groveBOT
azure verge
#

ooh

#

someone should update the vesktop readme images

#

they're a bit old

#

lmao

simple groveBOT
vernal lintel
simple groveBOT
simple groveBOT
runic inlet
simple groveBOT
simple groveBOT
#

This works great. I'm able to stream at 40-60fps, at any resolution although at varying levels of heavy compression.

Heavily compressed 1440p 60fps with the motion contenthint seems to be the best in general.

However; I noticed that I get by far the best balance of compression vs framerate consistency if I first livestream something with very little moment (such as my desktop) for ~10 seconds or so, in which I'll visibly see the stream change to using way less compression. Afterwards,...

simple groveBOT
#

This works great. I'm able to stream at 40-60fps, at any resolution although at varying levels of heavy compression.

Heavily compressed 1440p 60fps with the motion contenthint seems to be the best in general.

However; I noticed that I get by far the best balance of compression vs framerate consistency if I first livestream something with very little moment (such as my desktop) for ~10 seconds or so, in which I'll visibly see the stream change to using way less compression. Aft...

azure verge
simple groveBOT
simple groveBOT
upper pine
#

@azure verge I just noticed I dont have Doom Eternal but only Doom 2016

#

Do you reckon that will still reprod?

azure verge
#

I'm not sure

upper pine
#

the crack has 13 parts holy fuck

#

I'll see if one of my friends has it

#

ok got it

#

downloading rn

simple groveBOT
azure verge
#

btw do we have a timeline on when #499 will be merged?

azure verge
upper pine
azure verge
#

๐Ÿ‘ AE_02Knife

#

๐Ÿ‘ AE_02Knife

#

๐Ÿ‘ AE_02Knife

#

๐Ÿ‘ AE_02Knife

#

๐Ÿ‘ AE_02Knife

#

๐Ÿ‘ AE_02Knife

#

๐Ÿ‘ AE_02Knife

#

๐Ÿ‘ AE_02Knife

#

๐Ÿ‘ AE_02Knife

#

๐Ÿ‘ AE_02Knife

#

there

upper pine
#

@vernal lintel

#

I summon you

azure verge
#

LMAO

upper pine
#

@azure verge now sacrifice 20 sheep and tag vee each time

#

lmao

broken solstice
#

I guess that works ๐Ÿ™‚

upper pine
upper pine
broken solstice
#

Btw @azure verge I discovered that the screenshare issue only happens with dual monitors.
(Also that VRR only works with one and glitches like hell even then :)) )))) ) )

simple groveBOT
azure verge
upper pine
#

too bad

azure verge
#

LMAo
o

#

i cant type

#

i guve uo

#

fucking hell

#

i g i v e u p

upper pine
#

hahah

azure verge
#

th e r e

upper pine
#

same

runic inlet
#

why is this channel literally only screenshare issues/bugfixes??? ๐Ÿ’€

upper pine
azure verge
#

no other development is really being talked about lmao

upper pine
#

we can also talk about

broken solstice