#SteamLink

1614 messages · Page 2 of 2 (latest)

subtle hazel
#

wait why does muos have /dev/ion

#

That's like, an android thing right???

gentle anchor
subtle hazel
#

I'm.... I'm just gonna be busy for like 30 minutes

gentle anchor
subtle hazel
#

It's the RG40XX-H so uhhhhh

#

Maybe because it supports ADB it magically has /dev/ion

#

If this works I'll be amazed, but still writing it out

gentle anchor
#

If it works it’ll only cover one more device

#

Better than nothing though

subtle hazel
#

Any device on muos I think

#

But not sure

gentle anchor
#

cebion has entered the chat

subtle hazel
#

Yeah no, need a different method

#

It has ION but no ION heaps

arctic saddle
#

Hi! Am I doing something wrong? I followed the instructions from the github. rg35xx h, Muos

subtle hazel
#

The patcher is in the process of being updated, and muOS is not yet supported. Apologies.

arctic saddle
#

Ty for answer! I'll wait for the update.

gentle anchor
#

@subtle hazel Are you ok if I add MIT license to steamlink repo? Don't want to retroactively make your gpucompat MIT without asking. I don't usually apply licenses to my stuff since they're all wrappers but for this one I'm considering it because I'd like others to feel okay to use it for whatever reason.

#

..actually I'm not sure if I can do that without adding confusion because we download steamlink.

tiny flame
gentle anchor
#

It only works on panfrost and adreno drivers atm

subtle hazel
gentle anchor
#

Should be fine if we have a disclaimer that it only applies to the wrapper and tools provided and not to steamlink or any elements of its package.

subtle hazel
#

Inb4 Valve’s cease and desist.

#

I joke I joke

gentle anchor
subtle hazel
#

I dunno, they might not like us redistributing it? But I guess we really aren't doing that since we're downloading from their servers

gentle anchor
#

Exactly

#

Redistributing what?

subtle hazel
#

Fair fair

gentle anchor
#

License added

subtle hazel
#

I've got to stop trusting LLMs without digging just a bit deeper first

#

We have ION Heaps on muOS H700's and KNULLI TrimUI's

#

Granted they still don't import into egl properly

subtle hazel
#

Panic! at the kernel!

#

Oh no wait I just went oom

gentle anchor
#

Oh you know I never tested how much memory it uses while streaming

subtle hazel
#

Probably not much? At least on the working DRM devices

#

It pools the buffers automagically so it hopefully is okay but good to test anyway

#

The only reason I went oom is cause I multiplied the buffer by 4

#

Trying to see if it needed Bytes Per Pixel, but uhhh I don't think so

#

@untold scarab This dmesg output mean anything to you?

[ 5840.422068] rcq unprotect not at safe region!```
#

I think it might be a syncing issue but then like

#

UGGGGH having to hook sync calls

subtle hazel
#

All good! I think it's an Allwinner thing after some digging

subtle hazel
#

AHAH

#

bsdtar requires libarchive.so.13 ;w;

#

I'm gonna cry

#

Okay falling back to the system tar worked on Rocknix... jeez

subtle hazel
#

Whenever you happen to see this Jeod, do you think there's an easy way to have your download script try our bsdtar first, then fall back to system tar otherwise?

gentle anchor
subtle hazel
#

…that’s probably better yeah

gentle anchor
#

@steady arrow

subtle hazel
#

Whuh

gentle anchor
#

Someone interested in your work 🙂

subtle hazel
#

Oh reaaaaally?

#

I’m unfortunately about to sleep but I will be back in like 6 hours maybe?

gentle anchor
#

I think they’re closer to your time zone

subtle hazel
#

Depends on when the dog wakes me up

#

Central States baybeeee

subtle hazel
#

Gonna push that missing library to the repo real quick, not sure exactly how to implement it though. Just a temporary LD_LIBRARY_PATH I guess?

gentle anchor
#

Just put it in there

subtle hazel
#

Right, but will it link automatically?

gentle anchor
#

Yeah the launchscript already puts it in the ld path

subtle hazel
#

Oh Ihought that was only for the port executable

gentle anchor
#

export LD_LIBRARY_PATH="$GAMEDIR/libs.${DEVICE_ARCH}:$GAMEDIR/libs.${DEVICE_ARCH}/shell:$GAMEDIR/Qt-${QT_VERSION}/lib:$LD_LIBRARY_PATH"

subtle hazel
#

OH I'm still thinking about trying to use westonpack heh

#

nevermind this is fine

#

Want a pr or you mind if I just upload

gentle anchor
#

You can just add it

subtle hazel
#

Also is there a way to cleanup additional files when uninstalling a port? Currently we don't seem to be gettting rid of that /Valve Corporation/ folder.

#

Not a super big deal but might help with fixing a bad setup that could randomly happen

gentle anchor
#

I don't think we do.

#

But we don't want to remove that on every boot either.

subtle hazel
#

Yeah...

#

I would say we could put it in port.json but I'm not sure that would work, or where to put it in there

gentle anchor
#

Is getting rid of it that big a deal?

subtle hazel
#

No not really. Just trying to think ahead a little

#

I guess I should focus on... it actually working first

gentle anchor
#

Well if we know of a specific crash involving removing the conf file we can cat the log.txt during the launchscript for a specific line to see if it crashed on previous launch.

#

But I wouldn't worry about that yet.

subtle hazel
#

Yeah

gentle anchor
#

Oh you might like to know this just works oob on Odin2

subtle hazel
#

Ohh

#

Wait how

#

Oh that's still using ioctl gpu detection

#

That makes sense, good!

#

But for my sake, can you pop the device_info.txt from the home folder in here for me please?

#

I have an Odin2 but not installed on Rocknix yet

gentle anchor
#

From the portmaster folder?

#

Or?

subtle hazel
#

The home folder

#

get_contols generates one in the home folder when it runs

gentle anchor
#

Oh

#

Lemme see

subtle hazel
#

It's just a really easy way to read through some of the lines in it to see what device/cfw we're on

#

Gotcha, thanks!

#

I believe the GPU detection I do in the current ship is done for every open call to DMA_HEAP, so I cleaned it up to only happen once on load

#

And reading that file makes it way easier

gentle anchor
#

What do you read from it? It doesn't have gpu info.

#

Unless you use the cpu.

subtle hazel
#

CFW/Device Name

#

We've yet to see a device revision that changes GPUs so it should be safe I think

#

I would do ioctl calls but that only works for DRM compatible gpus

#

So this is slightly less accurate in the case of a mismatch but is applicable to all devices.

#

My latest version falls back to "fake" memfd/shm buffers which should be really compatible. Should.

#

Are we going to support Batocera on RP5/Mini/Odin2?

#

Or do we already?

steady arrow
#

hey,Is there any source code reference? Or what problems are you currently facing?

subtle hazel
#

There is! Let me upload the latest one real quick

#

And the issue is that I can't get X11/EGL to accept a dmabuf from an ION CMA heap.

steady arrow
#

rpi version is without drm display?

subtle hazel
#

It has DRM. Does libmali support that?

steady arrow
#

if libmali support gbm

subtle hazel
#

I don't think it does. How do you normally render to DRM? Through the framebuffer?

steady arrow
#

ion...which device is you used?

subtle hazel
#

RG40XX-H on Knulli firmware right now

steady arrow
#

yes mainline kernel is support drm

#

but stock kernel i think support mali-framebuffer

subtle hazel
#

Ok. Steam Link rpi only supports X11/EGL, Wayland, or KMSDRM

steady arrow
#

yes you just need map buffer to fb0

subtle hazel
#

You can mmap to fb0?

steady arrow
#

which kernel version?

subtle hazel
#
4.9.170```
steady arrow
#

i think that is stock kernel

#

try to mmap

subtle hazel
#

Okay!

#

I will let you know in a moment

#

Okay, wow! We have a picture now! Corrupted, but a picture! I will keep working on this!

#

Thank you!

steady arrow
#

😊

subtle hazel
#

I knew I was thinking too hard.

#

This is MUCH easier.

steady arrow
#

keep chat together is better than you think alone

subtle hazel
#

@steady arrow Do you know if stock kernel supports "FBIOGET_DMABUF"? Steam Link seems to want a DMA-BUF instead of writing directly to fb0

subtle hazel
#

So the image issue I'm having is that the screen is copied 4 times across the top to where it fits horizontally but not vertically.

#

I am not sure if it is a synchronization issue, but I know it is not a buffer size issue as changing that doesnt change the display.

gentle anchor
#

What is your output of fbset -fb /dev/fb0?

subtle hazel
#

mode "640x480-144"
    # D: 74.482 MHz, H: 72.737 kHz, V: 143.748 Hz
    geometry 640 480 640 960 32
    timings 13426 192 56 22 1 136 3
    rgba 8/16,8/8,8/0,8/24
endmode```
#

Is it using a 144 Hz refresh? 😅

#

@gentle anchor Oh, maybe it's a panel thing? Is that what you're checking?

subtle hazel
#

I do see 960 in the geometry too... but that would only be double, not 4 times

gentle anchor
#

Maybe a stride/pitch mismatch or pixel format issue

subtle hazel
#

It is decoding into yuv420p, which I believe is multiplanar... Maybe it's trying to display the planes in order rather than putting them together.

dire brook
subtle hazel
#

The current issue is that on devices without direct DRM suuport (as in, no /dev/dri/card0 or /dev/dri/renderD128) the software decoder is outputting a pixel format that neither x11 nor wayland can instantly understand

#

So it displays corrupted images on import

#

I believe I have a solution, but it will require a few hours for a major rewrite

gentle anchor
#

It's all extra overhead pretty much isn't it?

subtle hazel
#

It shouldn't be much, it's already decoding in software so no gpu to cpu overhead

#

And supposedly ffmpeg's libswscale can be pretty quick with certain settings ( which is what I am going to try and convert the format with)

gentle anchor
#

You're gonna have steamlink running on your smart fridge aren't you

subtle hazel
#

Heh. Maybe? I don't have a smartfridge

#

I get the idea though, like Doom

subtle hazel
#

Taking a break for the night, libavcodec is being picky.

subtle hazel
#

Hey uhhhhhhhhhhh @untold scarab , does Westonwrap support these libdrm calls?

void init_display_info(void) {
    int fd = open("/dev/dri/card0", O_RDWR, 0);
    drmModeRes *resources = drmModeGetResources(fd);
    for (int i = 0; i < resources->count_connectors; i++) {
        drmModeConnector *connector = drmModeGetConnector(fd, resources->connectors[i]);
        if (!connector) {
            continue;
        }
        if (connector->connection == DRM_MODE_CONNECTED) {
            if (connector->count_modes > 0) {
                drmModeModeInfo mode = connector->modes[0];
                if (mode.hdisplay > mode.vdisplay) {
                    disp_width = mode.hdisplay;
                    disp_height = mode.vdisplay;
                } else {
                    disp_width = mode.vdisplay;
                    disp_height = mode.hdisplay;
                }
            }
        }
        drmModeFreeConnector(connector);
    }
    drmModeFreeResources(resources);
    close(fd);
}
#

Also sorry for bugging you so much

untold scarab
subtle hazel
#

Should just be once at start

#

Hmm. it seems to be exploding when dereferencing something

untold scarab
#
drmModeConnectorPtr drmModeGetConnector(int fd, uint32_t connectorId)
{
    CONSIDER_BACKEND(return _drmModeGetConnector(fd,connectorId));
    TRACE("FAKE drmModeGetConnector\n");
    drmModeConnectorPtr res = malloc(sizeof(drmModeConnector));
    res->connector_id=DRM_MAGIC_NUMBER_CONNECTOR;
    res->connector_type = DRM_MODE_CONNECTOR_VGA;
    res->encoder_id = DRM_MAGIC_NUMBER_ENCODER;
    res->count_encoders = 1;
    res->encoders = malloc(sizeof(uint32_t));
    res->encoders[0] = DRM_MAGIC_NUMBER_ENCODER;
    res->connection = DRM_MODE_CONNECTED;
    res->count_modes = 1;
    res->modes = malloc(sizeof(drmModeModeInfo));
    res->modes[0].type=DRM_MODE_TYPE_PREFERRED;
    strcpy(res->modes[0].name,"Mode\0");
    res->modes[0].clock=50000;
    int width=0;
    int height=0;
    get_screen_dimensions(&width,&height);
    TRACE("drmMode Screen dimensions: %d %d\n",width,height);
    res->modes[0].hdisplay=width;
    res->modes[0].vdisplay=height;
    res->modes[0].htotal=5;
    res->modes[0].vtotal=5;
    
    res->modes[0].vrefresh=60;
    return res;
}
subtle hazel
#

I don't see count_connectors in there?

#

I can just ignore it since we know there's only one though

untold scarab
subtle hazel
#

Oh duh

untold scarab
#
drmModeResPtr drmModeGetResources(int fd)
{
    CONSIDER_BACKEND(return _drmModeGetResources(fd));
    TRACE("FAKE drmModeGetResources\n");
    drmModeResPtr res = malloc(sizeof(drmModeRes));
    res->count_connectors=1;
    res->connectors=malloc(sizeof(uint32_t));
    res->connectors[0]=DRM_MAGIC_NUMBER_CONNECTOR;
    res->count_encoders=1;
    res->encoders=malloc(sizeof(uint32_t));
    res->encoders[0]=DRM_MAGIC_NUMBER_ENCODER;
    res->count_crtcs=1;
    res->crtcs=malloc(sizeof(uint32_t));
    res->crtcs[0]=DRM_MAGIC_NUMBER_CRTC;
    int screen_width=0;
    int screen_height=0;
    get_screen_dimensions(&screen_width,&screen_height);
    res->min_width=screen_width;
    res->max_width=screen_width;
    res->min_height=screen_height;
    res->max_height=screen_height;
    return res;
}
subtle hazel
#

Weird, yeah mine's breaking on derefrencing resources->count_connectors... Gonna try just doing [0] temporarily

#

huh

#
...
card0 fd is -1
Program received signal SIGSEGV, Segmentation fault.
...
[~]# ls /dev/dri/card0
/dev/dri/card0```
#

whaht

#

sigh, time to break out perror

untold scarab
#

wait, which mode are you running in?

subtle hazel
#

crusty_x11egl... oh

untold scarab
#

Yeah none of the drm emulation is in that mode. :/

subtle hazel
#

I see

#

I wonder...

#

wiat no

#

pfft "EGL ERROR: 12288" which is dec for EGL_SUCCESS

untold scarab
# subtle hazel crusty_x11egl... oh

If it helps, i can try making a standalone build of just the DRM "emulation" or a variant of x11egl that adds it. Not that it does anything useful. It literally just replies with a bunch of hardcoded stuff.

subtle hazel
#

Or rather I somehow am interpreting my dream in a useful way

subtle hazel
#

Okay, so. Update! I've gotten the buffers to get accpted by Wayland/Weston!

#

But Wayland/Weston doesn't support YUV420P!

#

Sooooooo

#

I either need to find a way to enable hardware decoding/convert the frame format to fix the issue with wayland... OR get x11 to accept the buffers on non-drm capable devices.

#

I'm going to sleep now, but if you happen to see this @steady arrow : Do you know if the H700/Mali G31-MP2 supports hardware video decoding of H264? Possibly with cedar?

untold scarab
#

I know the hardware supports it, driver support is a different story though. ffmpeg is capable of hardware encoding at least, on current libmali drivers.

steady arrow
sharp kelp
#

hey guys, just downloaded rocknix os on rg 40xx-h, got this error anyone knows a fix?

#

tried reinstallingit 3 times, didnt help

gentle anchor
sharp kelp
#

gonna try it rn

sharp kelp
gentle anchor
#

Hm I wonder what's different...

#

@subtle hazel Rocknix rg40xxh fyi

#

Has panfrost

sharp kelp
#

someone in port -help said that the rg 40xxh is panfrost only

austere sigil
#

yeah h700 devices are panfrost only

sharp kelp
#

also, for steamlin app u have to be on the same network to pair and after that u caan play from any network. is this the same here?

austere sigil
gentle anchor
#

So like

# Exports post-setup
QT_VERSION=$(ls -d $GAMEDIR/Qt-* 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -n1)
export LD_LIBRARY_PATH="$GAMEDIR/libs.${DEVICE_ARCH}:$GAMEDIR/libs.${DEVICE_ARCH}/shell:$GAMEDIR/Qt-${QT_VERSION}/lib:$LD_LIBRARY_PATH"
export LD_PRELOAD="$GAMEDIR/libs.${DEVICE_ARCH}/libgpucompat.so"
export QT_QPA_PLATFORM_PLUGIN_PATH="$GAMEDIR/Qt-${QT_VERSION}/plugins"
export QT_QPA_PLATFORM="xcb"
export SDL_VIDEO_DRIVER="x11"
export QT_DEBUG_PLUGINS=1
sharp kelp
gentle anchor
#

Cannot load library /storage/roms/ports/steamlink/Qt-5.14.1/plugins/platforms/libqxcb.so: (libxcb-image.so.0: cannot open shared object file: No such file or directory) This makes me think it didn't download steamlink correctly.

#

Do you have a download.txt file?

sharp kelp
#

One second

#

Also, where should i find it?

gentle anchor
#

In the ports/steamlink folder.

sharp kelp
gentle anchor
#

Hm bsdtar wants libnettle.so.7 (testing on my end)...gonna have to go find that

gentle anchor
sharp kelp
#

it is there

gentle anchor
#

At the exact path it's looking in?

sharp kelp
#

yea

gentle anchor
#

Is it 0KB or does it have some size to it?

sharp kelp
#

67kb

gentle anchor
#

Ok

sharp kelp
#

hey man, i have some work to do right now. i'll get back to you tomorrow afternoon when i can. thanks for the help so far!

gentle anchor
#

Ok, I pushed a commit to fix bsdtar but a fresh install on rpmini works fine. Will need someone else to test out rocknix 40xxh.

subtle hazel
#

Oh gosh I'm really sorry. Life got a little hectic

#

Okay so, xcb probably wants all the xcb-*.so libraries. I have them compiled in my testing repo. One moment.

#

And funnily enough I have the bsdtar libs in there too, whoops

#

Burning a rocknix sd for my 40xxh real quick

gentle anchor
#

🙂

subtle hazel
#

Okay, yes, rocknix and theoretically any H700 should work once the xcb libs are added. Tested on my RG40XXH

#

I can push them up to your repo if you want

gentle anchor
#

Sure

drowsy fable
#

Wait, so now steamlink is ganna be supported on more than just the one platform?

fierce blaze
#

its still rocknix only

drowsy fable
#

Nice! I have an Anbernic RG40XX H with muOS. But multiple micro sd cards for multiple different OSs. Ive never tried rocknix. 🙂

haughty lava
#

Is there a step-by-step guide on how to install it on rg35xx-h/rocknix? installation without errors but nothing happens next

sharp kelp
#

@haughty lava i tihnk i konw what might be your issue

#

i'll find a link quickly

#

here, this one is fro rgxx devices

#

u have to do some modifying after flashing the image, u can't jusst put it in to the conssole

haughty lava
#

thanks for your answer but I mean installing steamlink. Previous posts said it was possible on H700. I installed the latest version of rocknix, installed steamlink using portmaster and started it but nothing happens

subtle hazel
#

/log

potent crescentBOT
# subtle hazel /log

Every port has a log.txt generated in ports/{portfolder}, please drag and drop it to discord for help.

subtle hazel
#

I have a feeling it's the same xcb library issue, because I don't think we've pushed that out yet But just to be safe.

haughty lava
subtle hazel
#

Yup okay. Place this zip in your "/roms/ports/PortMaster/autoinstall/" folder and run PortMaster, then try running Steam Link again please!

haughty lava
subtle hazel
#

Ah, sorry, One moment

#

Try one more time for me please. I'll need to look into this if it fails again.

haughty lava
subtle hazel
#

Gosh dang it okay. Let me run it on mine and resolve all that real quick. Really sorry...

haughty lava
#

take your time. If it takes more time, I'll check here tomorrow or follow for updates

subtle hazel
#

Thanks for your understanding!

haughty lava
#

sorry it took so long. we had an air raid alert.

i reinstalled rocknix and did everything from scratch + added the archive you gave. thank you very much for the help

subtle hazel
#

No worries! But unfortunately that looks like a networking error, not something that I can help with other than the generic:
"Are you on the same wifi network as your Steam PC? You cannot use Steam Link remotely"
"Is your wifi network password-protected? Steam Link may not like unprotected networks."
etc etc...

haughty lava
#

maybe the problem is in the host, I connected to macos. I checked, everything works fine. But once again I was convinced that I needed to take rg40xx-h, there is a larger screen. Thanks again for the help

subtle hazel
#

Sure thing! I would recommend a slightly larger screen, yes. But if you're set on using a smaller one, you can try setting this option to improve the screen usage a bit...

haughty lava
#

This is my first experience with such devices. The next one will definitely be bigger. Thank you, I will definitely try these settings. Have a nice day

arctic saddle
#

I see that the port is working on h700 now. How about support for muOS?

gentle anchor
#

Unsure if @subtle hazel is still planning on tinkering.

arctic saddle
#

ouch! ty for info)

fringe aurora
austere sigil
fringe aurora
#

One message removed from a suspended account.

#

One message removed from a suspended account.

fierce blaze
#

and have you switched to the Panfrost driver?

fringe aurora
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

subtle hazel
#

Alrighty gamers, we finally have a new Beta! Should support more CFWs (sometimes, it's finicky with westonwrap at the moment), but all previous workiong configs SHOULD be as they were, if not better!

#

So far I've got:
All devices:

  • ROCKNIX (Panfrost or Standard) at 95-100% success rate
    RK3566/H700:
  • ROCKNIX (libmali) / muOS / KNULLI at ~25% success rate on Stream Start
    A133:
  • Untested
#

I'm thinking the low rates are because SDL2/3 is asking WestonWrap for some stuff it doesn't seem to have/know at the moment, one noticeable thing being Desktop Color Depth seeming to be returning an uninitialized value.

gentle anchor
#

Hm, simplify the sh?
export HDCD_RESOLUTION="${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}"
Those vars default to 640x480 if no res can be determined. No need for the if/else conditional chain.

subtle hazel
#

...oh

#

That would be WAY better

pearl heath
subtle hazel
#

Didn't know that was an option heh

pearl heath
#

This is why I added it

gentle anchor
#

You should check out control.txt and device_info.txt sometime

#

We have a few useful things in our toolbox

pearl heath
#

which control.txt. doggokek

subtle hazel
#

Will that return the correct width x height every time too? I currently have my library set to swap them if it thinks they're swapped.

pearl heath
#

What do you mean?

#

It runs sdl and asks it what the current screen resolution is

subtle hazel
#

Some devices have rotated screens when querying things

#

Oh yeah that's fine then

gentle anchor
#

Update seems ok for rocknix.

subtle hazel
#

gooooood

gentle anchor
#

The download and unpack works fine

#

<@&1216123318122577972> Any for testing knulli? TrimUI SP folks might enjoy this?

#

SteamLink

#

Figures my crossmix won't load up :v

#

Time to leave it forever

#

Can't test steamlink on it if I can't boot it

subtle hazel
#

I just got Knulli flashed for my TSP, results soonish

subtle hazel
#

...huh, putting the zip in autoinstall on TSP/Knulli crashes PortMaster and seems to lock things up for some reason

fierce blaze
gentle anchor
fierce blaze
gentle anchor
#

As expected Knulli TSP fails

subtle hazel
#

HMMM

#

That's a me issue then

fierce blaze
#

no cannoli for you

subtle hazel
#

Darn

gentle anchor
subtle hazel
#

It is! The failed import messages tell me that my mapping for the frame data is going wrong somewhere

#

It doesn't seem to be the heap allocation as that shows up properly... hmmmm

#

Oh right, the TSP has a PowerVR gpu, not mali

#

WHOOPS

#

I swtg if I have to remap the frame JUST for the TSP :v

fierce blaze
#

I think we need some vivante devices just to fuck with you

gentle anchor
#

Or forget the TSP entirely

subtle hazel
#

please no

#

Can we selectively disable the TSP from being able to download it?

gentle anchor
#

Yep

pearl heath
#

Yes

gentle anchor
#

Won't prevent people from manually getting it and then complaining. :v

subtle hazel
#

Oh. Gosh you guys have this stuff figured out huh

subtle hazel
#

...play video games :v

pearl heath
#

I’ve been doing it all wrong

subtle hazel
#

I mean... I probably COULD get the TSP working... but I should probably focus on getting the H700 versions to not being a coin flip if the stream starts

gentle anchor
#

Muos definitely needs some kind of custom controller setup, I wonder if we can provide that somehow

pearl heath
#

My next thing to implement is something that complains loudly if it detects an unsupported port being installed with Autoinstall. <_<

gentle anchor
#

Controls are all wrong on the 40xx

subtle hazel
#

Yeah, that is a thing

#

Could package and load a custom SDL_gamecontrollerdb?

gentle anchor
#

I also have consistent drops when trying to connect while a non-steam game is loaded up (Xbox/MS Store game)

subtle hazel
#

drops as in stutters or complete stream drops?

gentle anchor
#

It refuses to connect

subtle hazel
#

Huh. You're not going through Big Picture first?

gentle anchor
subtle hazel
#

Can you reupload that log? Or is that it?

gentle anchor
#

That’s it

subtle hazel
#

Does an error pop up on screen?

#

Or just a crash?

gentle anchor
#

Only crashes

#

May have something to do with resolution.

#

I think Expedition 33 doesn't like 640x480.

subtle hazel
#

Do you still have that "Change to streaming device resolution" setting on?

gentle anchor
#

Yep

subtle hazel
#

Hmmm. Have you have had any issues starting stream with that setting on?

#

Or just when launching a game

gentle anchor
#

Starting stream sometimes as well

subtle hazel
#

Okay, just making sure

gentle anchor
#

For this one I tried to stream Dead Cells.

#

Very finicky

subtle hazel
#

Yes yes...

gentle anchor
#

I only got it to work because I used my PC mouse to start it up.

subtle hazel
#

...huh

gentle anchor
#

SteamLink did not enjoy initiating big picture mode.

#

I was already in it when I tried connecting.

#

Maybe a poor wifi connection?

subtle hazel
#

No, I get similar results, and I'm literally next to my router

gentle anchor
#

So am I

subtle hazel
#

Hm.

#

Let me try using my 2.4g network real quick, out of curiosity.

#

Nah, Big Picture still being a big butt

#

I wonder...

#

Okay, it has to do with when it initializes the stream

#

And when big picture is already open, it's fine...

gentle anchor
#

Not always

#

In many cases I have to completely restart Steam.

#

It's almost like it doesn't do a proper cleanup or something after a crash.

subtle hazel
#

But if restarting Steam fixes it, that implies it's a computer sided thing?

gentle anchor
#

Well, I don't have a steamdeck to test if it's wonky elsewhere.

#

But if a session gets stuck somehow and stream gets rejected due to one already "active" or something, idk.

#

Let's see if it has to do with the resolution switching.

subtle hazel
#

I think it's the resolution changes, like you said... I turned off the "Switch to streaming client resolution" option

#

Yeah

#

It also seems to dislike switching fullscreen focus

gentle anchor
#

Yup immediately connects

subtle hazel
#

My issues on stream start may be because my host computer is Linux based too, and it seems to hate fullscreening in general

#

Does yours always work without the res switch?

gentle anchor
#

Yeah so far

subtle hazel
#

Interesting!

#

...I don't want to reinstall Windows

gentle anchor
#

I think it has to do with aspect ratio more than res

#

I have a 1440p monitor and 1920x1080 rocknix always works with switching res.

subtle hazel
#

Probably. The cropping might throw it off it changes too wildly.

#

hmm... I wonder if setting the Resolution Limit to some smaller 16:9 in Steam Link would help

#

I think it has a 480p option in there

gentle anchor
#

Actually, it may be because my gpu doesn't support anything lower than 800x600 by default.

#

...so if TrimUI will work, it may be just fine there.

subtle hazel
#

I don't think it's GPU supports the frame format I'm using at the moment, but I can make a new mapper for it

gentle anchor
#

I'm almost positive part of the problem is my gpu can't negotiate a 640x480 resolution, the lowest it goes is 800x600 so the aspect ratio matches but it mostly fails except in some odd lucky cases.

#

So the handshake may fail due to gpu saying "sorry pal can't do that".

subtle hazel
#

And Steam Link doesn't let you set non 16:9 resolutions under Resolution Limit other than your native resolution... darn

#

And that part I can't change, cause it's baked in

#

So it's really a case-by-case thing huh

gentle anchor
#

Yeah I'm certain it's gonna be entirely based on the host gpu driver.

#

I don't recall if the Mini v1 had the same issue though and it was 640x480

#

My v2 does have a near 1:1 ratio though

subtle hazel
#

Yeah the V2 probably won't work with res switch

fierce blaze
#

Like retroid mini v1?

gentle anchor
#

Yeah

#

Lemme fire it up and see

fierce blaze
#

That wasnt 640x480

gentle anchor
#

Oh yeah 1280x960 right?

subtle hazel
#

The V1 didn't have the issue because it was- yep

fierce blaze
#

Yeah

#

So that fits anyway

subtle hazel
#

So step 1 for Troubleshooting: Disable Auto Resolution switching on the Host Steam Streaming Settings.

gentle anchor
#

Mini v2 connects but has no image. Black screen except for the overlays.

#

Black screen even when I don't do res switch though.

#

1240x1080 interesting, I have audio and input but no visual.

#

It doesn't crash though.

subtle hazel
#

Well I see two issues...

#

Or rather one issue

#

I think you loaded up the Flip2 dtb somehwo

gentle anchor
#

I did not.

#

I'm on the Mini v2.

#

If I'd loaded the Flip2 dtb then my ES would be outside the display.

subtle hazel
#

Then uh...

bash
DEVICE_INFO_VERSION=0.1.13
PM_VERSION=2025.05.08-1120
CFW_NAME=ROCKNIX
CFW_VERSION=20250517
CFW_GLIBC=240
DEVICE_NAME=Retroid Pocket Flip2
DEVICE_CPU=SD865
DEVICE_ARCH=aarch64
DEVICE_RAM=7
DEVICE_HAS_ARMHF="Y"
DEVICE_HAS_AARCH64="Y"
DEVICE_HAS_X86="N"
DEVICE_HAS_X86_64="N"
DISPLAY_WIDTH=1920
DISPLAY_HEIGHT=1080
DISPLAY_ORIENTATION=0
ASPECT_X=16
ASPECT_Y=9
ANALOG_STICKS=2```
gentle anchor
#

Oh I did copy steamlink from the flip2.

#

So the log's got old data.

subtle hazel
#

OH okay phew

gentle anchor
#

Ok I think I copied the wrong log 😄

pearl heath
#

The log giveth, the log taketh.

gentle anchor
subtle hazel
#

AH

#

I think I might be padding the buffers wrong in this case

gentle anchor
#

16:9 still works like a charm

subtle hazel
#

Oh, so you were using the res switch thing again?

gentle anchor
#

No

#

On the flip2 it's flawless.

subtle hazel
#

Oh I getcha

gentle anchor
#

On the mini v2 it's got issues with both settings.

subtle hazel
#

I thought you meant 16:9 on the V2

gentle anchor
#

And on the 40xxh it just doesn't wanna work because lowres.

subtle hazel
#

Drop this little doohickey in your libs.aarch64 please

gentle anchor
#

It works with that but the visual is cut off on the right and bottom.

#

Oh lemme double check my settings

#

Yeah with auto res and switch it’s zoomed in

subtle hazel
#

Okay that tells me my buffer is too small

#

One moment

gentle anchor
#

Wouldn't you want to dynamically allocate the buffer based on the resolution then?

subtle hazel
#

I'm surprised it doesn't crash SUPER hard with that honestly.

#

Unfortunately V4L2 Request wants the buffer size BEFORE the stream starts, and the frame doesn't have that information until the first packet is decoded

#

So I have to manually take the screen resolution and find the right alignment

#

If this one doesn't work, I'll plug away at it on my Mini V2 until I find it

gentle anchor
#

Unfortunately same thing.

gentle anchor
subtle hazel
#

Is the scaling bigger/smaller/same?

gentle anchor
#

Same.

subtle hazel
#

...oh it's something else then uh

#

Wait... wait no, I left debug code in for the 640x480 -> 800x600 attempt

#

That's why the texture is too small

subtle hazel
#

Gimme one more shot coach

#

WAIT

gentle anchor
#

WHAT

subtle hazel
#

okay now

#

me when I don't hit ctrl+s before recompiling

gentle anchor
#

Blank display

subtle hazel
#

Okay let me figure it out instead of doing this silliness, sorry

gentle anchor
subtle hazel
#

Okay so it wasn't buffer size, it was current screen resolution scaled to frame aspect ratio...

#

But uh... since we can't change the resolution of the context mid stream, we're gonna be stuck with 16:9 all the time

#

Updated files

subtle hazel
#

So, I think that just leaves the TSP support then, bar any other testing failures?

#

Oh, and controller mapping

gentle anchor
#

Will try it in a few.

gentle anchor
#

Sorry got wrapped up in fixing some of my ports.

gentle anchor
#

Bottom is still cut off

#

Can't see the bottom HUD with the button glyphs

subtle hazel
#

By like 1/4th still hmmm

#

Well less than that but still

#

Back to mathing

subtle hazel
#

...is your monitor 16:10?

gentle anchor
subtle hazel
#

No that's 16:9

#

HMMM

gentle anchor
subtle hazel
#

oh hello new error message
shell.aarch64: ../../src/external/testffmpeg_rpi/external/hello_wayland/pollqueue.c:301: poll_thread: Assertion `npoll < POLLQUEUE_MAX_QUEUE - 1' failed.

gentle anchor
#

I really gotta figure out how to clean my phone camera

subtle hazel
#

Okay so

#

It's that "change resolution to streaming client" again

#

If you have it off, the 16:9 crop works

#

If you have it on, it still tries to crop to 16:9

#

So let me check somethingggg...

subtle hazel
#

AHAH

#

Steam isn't sending 1240x1080 frames, they're 1440 x 1080

subtle hazel
#

Added aspect ratio calculation and matching, might only work for Mini V2 for now

#

I sleep now

subtle hazel
gentle anchor
#

Gimme a few and I'll check that it still aligns with RP5/FLIP2.

subtle hazel
#

Pog

gentle anchor
#

I no longer have a Mini v1 to test though,

subtle hazel
#

Me either, uhhh

#

It really should, since it should automatically match 4:3 anyway.

gentle anchor
#

It would be something to be able to force the video stream to shrink to fit varying resolutions without requiring the desktop to change its own resolution.

#

Avoid the <800x600 problem.

#

Flip2 is still good

subtle hazel
#

Good, so the Odin should be good too then

#

Cause same resolution and setup there

gentle anchor
#

Yup

subtle hazel
#

What uh… what GPU do you have?

#

I don't think mine supports <800x600 either, at least Windows won't show it

#

Unless I magically fixed something with that aspect code

gentle anchor
#

Nvidia RTX 4070

subtle hazel
#

Same

#

WEIRD

gentle anchor
#

Yeah sometimes it would work usually not.

subtle hazel
#

Ohhh

gentle anchor
#

It wasn't consistent is all.

subtle hazel
#

Okay gotcha

gentle anchor
#

Whereas on the Mini and Flip2 it works every time.

subtle hazel
#

I'll run it back like 10 more times to see if the aspect stuff is magic

gentle anchor
#

And we determined it was most likely the resolution because turning the switch off on Steam side made it consistent.

subtle hazel
#

Yeah, give the new version a shot. I'm at 6/6 proper launches

gentle anchor
#

Gonna fire up the 40xxh then.

#

No go. Unless there's anything besides the sh and handecoder to replace?

subtle hazel
#

Hmm.

#

What fw?

gentle anchor
#

I could update my Pixie version

subtle hazel
#

I'm also on muOS Pixie... uhhhh

#

When your screen switches, does it stretch on the monitor or crop?

gentle anchor
#

It changes to 800x600 (won't do 640x480) and stretches. I get black bars on the sides.

#

Vertically.

subtle hazel
#

Right. Mine stretches with no black bars :v

#

uhhhh

#

Ah no, I must have hit a lucky streak

#

Just got it to fail

gentle anchor
#

Yeah I managed to make it work once.

#

Might be game dependent as well. Dead Cells has never once run without crashing.

#

But this worked, too bad the controller is still bad.

subtle hazel
#

Yeah I think I'm gonna pause on TSP and try to get the controllers going. I wonder if SDL is remapping it or something

gentle anchor
#

Can't wait to play some Ready or Not on my 3" screen lol

#

Would my 120Hz refresh rate have anything to do with things?

#

😂 I bsod’d myself creating a custom resolution for my card

#

Lololol

subtle hazel
#

ouchie

gentle anchor
#

640.480@120hz =windows vomit

subtle hazel
#

Do you have more than one screen?

#

I have two but they're set identically

gentle anchor
#

Nope. One 32" 2560x1440 monitor.

subtle hazel
#

Hmmm.

gentle anchor
#

Ok I managed to add a custom res to my display.

#

BUT IT STILL CRASHES.

#

SteamLink does, not my pc.

subtle hazel
#

I had a feeling

gentle anchor
#

But no more letterboxing

subtle hazel
#

Hum hum

gentle anchor
#

I think it just needs more testers.

#

I may be hardware limited.

#

On the host side.

subtle hazel
#

Wait, do all muOS devices use muOS-keys now?

#

Because right now control.txt is still looking for deeplay-keys

gentle anchor
#

I have no idea

subtle hazel
#

But SteamLink is reporting that it wants muOS-keys

#

And /tmp/gamecontrollerdb.txt is empty :v

#

All the other ports work fine though?

#

.. is it cause we're not using gptokeyb?

gentle anchor
#

Experiment time!

subtle hazel
#

Oh gptokeyb would read /tm/gamecontrollerdb.txt anyway in this case

gentle anchor
#

Oooh if a game doesn't start fullscreen the app crashes too

#

Even on RP

subtle hazel
#

Okay, good to know

gentle anchor
#

I was able to reconnect but I got a black screen until I changed the game to fullscreen mode and reconnected.

#

Probably need to add a few disclaimers/troubleshootings to the readme.

subtle hazel
#

Did that work before though? If so, it might be my hardware decode mucking things up

gentle anchor
#

I dunno if it did.

#

I hadn't tried it before.

subtle hazel
#

I think I have an idea on how to fix resolution changes though... Gimme a bit.

gentle anchor
#

That...doesn't seem like an urgent thing though.

subtle hazel
#

I mean, crashing seems more urgent than controls to me?

gentle anchor
#

Crashing in a specific circumstance?

#

That's what the readme is for. "Your game isn't fullscreen dummy"

subtle hazel
#

Mm true.

subtle hazel
#

Let me flash KNULLI for my rg35sp, that might shed some light if the controls work there

subtle hazel
#

Just leaving this here for me

#
'19000000010000000100000000010000,Anbernic RG35XX-SP Controller,platform:Linux,b:b3,a:b4,dpdown:h0.4,leftx:a0,lefty:a1,lefttrigger:b12,dpleft:h0.8,rightshoulder:b8,leftshoulder:b7,righttrigger:b13,dpright:h0.2,back:b9,start:b10,dpup:h0.1,y:b6,x:b5,guide:b11,'

# From setting NO configs (Unknown)
'19000000010000000100000000010000,odroidgo2 joypad,a:b1,b:b0,dpdown:b7,dpleft:b8,dpright:b9,dpup:b6,guide:b10,leftshoulder:b4,leftstick:b12,lefttrigger:b11,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b13,righttrigger:b14,start:b15,x:b2,y:b3,platform:Linux,'

# Imported by Steam Link with configs allowed (Mismapped)
Added controller with mapping 19001a2a010000000100000000010000,Anbernic RG35XX-SP Controller,a:b0,b:b1,x:b3,y:b4,back:b9,start:b10,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,rightx:a0,righty:a1,lefttrigger:b8,righttrigger:a2,crc:2a1a,platform:Linux,

# Imported by Steam Link with configs DISALLOWED (Mismapped)
Added controller with mapping 19001a2a010000000100000000010000,Anbernic RG35XX-SP Controller,platform:Linux,b:b3,a:b4,dpdown:h0.4,leftx:a0,lefty:a1,lefttrigger:b12,dpleft:h0.8,rightshoulder:b8,leftshoulder:b7,righttrigger:b13,dpright:h0.2,back:b9,start:b10,dpup:h0.1,y:b6,x:b5,guide:b11,```
dire brook
#

Error: libgbm.so.1: cannot open shared object file: No such file or directory
Error: libGL.so.1: cannot open shared object file: No such file or directory

subtle hazel
dire brook
subtle hazel
#

Unfortunately muOS usage is still unstable. You'll have around a 30% success rate with the current build, and it may even still crash when your steaming computer's resolution changes.

#

I believe ROCKNIX is the only cfw for the H700 devices that is stable on launching the stream.

dire brook
subtle hazel
#

If you're specifically wanting to use your device for Steam Link (and only Steam Link) right now, it's probably more compatible.

tender vault
#

Oh hello, I try to install it in a r36s with arkOS, but I have troubles with a dependency, it ask for GLIBC 2.34 and currently I have GLIBC 2.30, there is a package that could work with the old GLIBC? Or is not possible to run it in arkOS :c

fierce blaze
#

This is only for Rocknix

misty comet
#

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/roms/ports/steamlink/Qt-5.14.1/plugins" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

/storage/roms/ports/SteamLink.sh: line 93: 5331 Aborted (core dumped) ./"bin/shell.${DEVICE_ARCH}"

#

it wont launch on my device

#

i am on rocknix

#

rg35xxh

jagged granite
fair jacinth
#

any change to get this working on Trimui Smart Pro?

left island