Skip to content

Instantly share code, notes, and snippets.

@NelloKudo
Last active May 29, 2025 10:38
Show Gist options
  • Save NelloKudo/ffae4490b625eac4cca4a943d4def00f to your computer and use it in GitHub Desktop.
Save NelloKudo/ffae4490b625eac4cca4a943d4def00f to your computer and use it in GitHub Desktop.
How to play Teamfight Tactics (TFT) on Linux (Waydroid)

Playing TFT on Linux using Waydroid

Just like many other League addicts, ever since the Vanguard incident, TFT has been a no-go....

except it isn't, since the Android version works just as fine, after some tweaks!

Screenshot From 2025-01-02 22-05-49

Index

Step 1: Pre-requisites for Waydroid to work

Waydroid relies on the binder kernel module: make sure you're running a kernel supporting it if you get any issues related to it.

Some examples of working ones are Cachyos's, Nobara's, Zen or Xanmod kernels.

Wayland is also needed, but it works just fine on x11 using weston; we'll get into it later.

Step 2: Installing Waydroid

You can find the instructions for installing Waydroid at here: https://docs.waydro.id/usage/install-on-desktops

I'll cover the install process for Arch Linux or based distros.

yay -S waydroid
sudo waydroid init
sudo systemctl enable --now waydroid-container.service

Intel and AMD users should have no issues overall; NVIDIA users though, read at the fixes here: https://wiki.archlinux.org/title/Waydroid#GPU_Requirements

Step 3: Configuring Waydroid

Using the great waydroid-script repo, time to tweak our Android install.

Make sure to install lzip from your repositories before using it. For Arch users: sudo pacman -S lzip

Now follow the instructions from their repo:

git clone https://github.com/casualsnek/waydroid_script
cd waydroid_script
python3 -m venv venv
venv/bin/pip install -r requirements.txt
sudo venv/bin/python3 main.py

Here, select the following just like in the image, but depending on your GPU:

  • Select libndk if on AMD
  • Select libhoudini if on Intel (switch to libndk in case it's not working!)

In my case:

image

Once done, we're ready to launch Waydroid!

Step 4: Launching Waydroid

I'll divide the guide between X11 and Wayland.

X11:

You'll first need to install weston from your repos. Arch users: sudo pacman -S weston

You can run Waydroid within weston with this little script:

unset WAYLAND_DISPLAY && waydroid session stop && weston --width 1600 --height 900 --socket=wayland-1 &>/dev/null & sleep 1 && WAYLAND_DISPLAY=wayland-1 XDG_SESSION_TYPE=wayland waydroid show-full-ui && pkill -x weston 

Adjust the resolution to your needs like 1920x1080 or add the --fullscreen parameter if you want it!

You can also save it to a script to launch from terminal or edit with:

echo "unset WAYLAND_DISPLAY && waydroid session stop && weston --width 1600 --height 900 --socket=wayland-1 &>/dev/null & sleep 1 && WAYLAND_DISPLAY=wayland-1 XDG_SESSION_TYPE=wayland waydroid show-full-ui && pkill -x weston" | sudo tee /usr/local/bin/waydroid-x11
sudo chmod +x /usr/local/bin/waydroid-x11

Now running waydroid-x11 should be all!

Wayland:

waydroid show-full-ui

...and it should be all up and running!

You can also customize the window's size if needed:

waydroid prop set persist.waydroid.width 1920
waydroid prop set persist.waydroid.height 1024
sudo systemctl restart waydroid-container.service

Or, if you prefer Windowed mode to fullscreen, you can set it with:

waydroid prop set persist.waydroid.multi_windows true
sudo systemctl restart waydroid-container.service

Step 5: Enabling Google apps and Installing TFT

Once in Waydroid, check if your internet is working by opening Play Store.

If it doesn't work, run the following or check the Arch wiki.

Docker is also known to create issues with Waydroid's net script, solution's here.

sudo ufw allow 67
sudo ufw allow 53
sudo ufw default allow FORWARD

Once Play Store is open, try to login and...you'll get upon a This device isn't Play Protect certified notification. A classic.

Let's fix it real quick according to Waydroid's instructions:

sudo waydroid shell

And then:

ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"

Copy the number string after "android_id|" and paste it at the following link: https://www.google.com/android/uncertified

Wait a few minutes, restart Waydroid and you'll have an up-and-running Play Store. Login as usual, and download TFT!

Step 6: Playing TFT and optimizing it!

Open TFT like usual, login and let it download its things. Upon finish, close it as it's time to optimize it!

TFT's config file is hidden in ~/.local/share/waydroid/..., here's how to edit it:

sudo nano /home/$USER/.local/share/waydroid/data/data/com.riotgames.league.teamfighttactics/no_backup/Config/Game.cfg

Here there's a LOT of stuff you can customize (even resolution, if it lags) but what we're looking for is:

  • WaitForVerticalSync: change it to 1 in order to unlock fps (it's needed, apparently)
  • FrameCapType: change it to 0, again, to unlock fps.

Now save and exit with CTRL+X.

And finally, that's pretty much it! Enjoy playing TFT!

image

Further optimizations - UI:

If you run TFT in fullscreen on a 1920x1080 monitor, you might notice that the UI appears excessively large—almost as if it's been upscaled for mobile. This happens because the game has hardcoded resolution checks, and if the display resolution is within five pixels of 1920x1080, it assumes it's running on a phone, forcing a mobile-optimized UI.

After testing for weeks, I found an incredibly simple fix: slightly increasing the resolution.

sudo waydroid shell
wm size 1920x1085

This small tweak makes a huge difference in usability, making it way closer to the original UI for the PC version :')

2025-02-12_15-30 2025-02-12_15-50

Some bugs I noticed xd

  • The carousel and some arenas looks.... black. You can still see champions and items above, but for some reason it stays black xd. Not really sure whether it depends on video drivers or what..
@zhao-junjie
Copy link

can you make league playable on linux?

@mrvictory1
Copy link

@zhao-junjie league doesn't have mobile version, this method is inapplicable to LoL

@a14988
Copy link

a14988 commented Jan 4, 2025

@NelloKudo You are the coolest, I have been trying to get this thing running for like a month, by the way sttfa from zen kernel if you are on iris xe for some reason.

@NelloKudo
Copy link
Author

@NelloKudo You are the coolest, I have been trying to get this thing running for like a month, by the way sttfa from zen kernel if you are on iris xe for some reason.

Glad it works! 🍷

@gibarel1
Copy link

Regarding the carousel bug, Ive seen similar things happen with other player arenas, the only one i know for sure is the lunar beast that is available as of now (my friend has it, so i can confirm it is consistent), except some are pink and some are blue.

now the only thing missing for a very good experience is pc like UI

@NelloKudo
Copy link
Author

Regarding the carousel bug, Ive seen similar things happen with other player arenas, the only one i know for sure is the lunar beast that is available as of now (my friend has it, so i can confirm it is consistent), except some are pink and some are blue.

now the only thing missing for a very good experience is pc like UI

Yeah I’ve been trying to make the UI smaller for a while now but still haven’t gotten around it, on my iPad it adjusts to the screen so well ootb but not on Waydroid ://

It’s either about spoofing it to be a tablet (which I think it already does) or change something in resolution or TFT’s config file. Hopefully we’ll find a better way 🙏

@mrvictory1
Copy link

AIDA64 reports 180 dpi on both my laptop and desktop which have completely different monitor resolutions and sizes, I believe DPI value reported by Waydroid is hardcoded. In developer options "smallest width" affects the size of Android UI, larger values make UI elements smaller, the setting could affect TFT.

@SanteriK123
Copy link

Anyone tested with an NVIDIA GPU and AMD CPU? I downloaded libndk, and the TFT launches just fine but it instantly crashes after loading into the match. I'm curious if its possible to fix this or if its just impossible to make it work with software rendering.

@mrvictory1
Copy link

Even if it did the game would be very slow, either use AMD iGPU by plugging monitor to motherboard or uninstall any Nvidia drivers and reinit Waydroid (this will enable nouveau).

@NelloKudo
Copy link
Author

NelloKudo commented Feb 12, 2025

2025-02-12_15-30
2025-02-12_15-50

Well everyone, after messing for weeks with resolutions, dpi, looking into spoofing (even trying Android 13) etc. I ended up finding the stupidest workaround to have a decently scaled UI finally.

I started by trying to set my iPad's resolution with sudo wayland shell and wm size 1920x1333 (a scaled 2360x1640 to fit within 1080p screens) and with that, TFT's UI finally looked like on my iPad.

So I started making that value as close to 1920x1080 as possible and found out 1920x1085 is the closest resolution to 1080p that doesn't make TFT's UI look enormous on 1080p monitors: it's all about those 5 pixels and some check in TFT's UI code. I also assume the same thing works for resolutions bigger than 1080p.

Narrowing it up, the fix is (while Waydroid is running):

sudo waydroid shell
wm size 1920x1085

I can't even notice those 5 pixels tbh 8)

P.S.: Now that I have a decent UI, making some program for keyboard shortcuts looks very doable 🙏

@mrvictory1
Copy link

You can resize Waydroid on the fly like that? I didn't know that is possible.

@NelloKudo
Copy link
Author

You can resize Waydroid on the fly like that? I didn't know that is possible.

I didn't know as well until I read it in some Android docs/forums and tried using it in the shell: it just worked lmao

@PhEEP
Copy link

PhEEP commented Feb 20, 2025

How do you retain the cursor? Got everything working, but I can't see where my mouse is pointing 😆

@mrvictory1
Copy link

How do you retain the cursor? Got everything working, but I can't see where my mouse is pointing 😆

are you using multiwindow mode? Either use cursor on subsurface or disable multiwindow and use Android's launcher.

@NelloKudo
Copy link
Author

How do you retain the cursor? Got everything working, but I can't see where my mouse is pointing 😆

Pretty much what @mrvictory1 said, either run waydroid prop set persist.waydroid.cursor_on_subsurface true or disable multi-window if you have it enabled. You can read more here: https://docs.waydro.id/usage/waydroid-prop-options

@sanpas
Copy link

sanpas commented Feb 20, 2025

Hi TFT wasn't available in store i look only TFT PBE ?

@mrvictory1
Copy link

Hi TFT wasn't available in store i look only TFT PBE ?

You can sideload the APK although it is available for me

@SanteriK123
Copy link

Hi TFT wasn't available in store i look only TFT PBE ?

You might have skipped step 3 or something went wrong there, TFT won't be available without libndk or libhoudini.

@Guillaumecoi
Copy link

Is there a way to set keyboard shortcuts to tft? Used to play tft quite seriously but ditched it 2–3 years ago because of not wanting to dual drive windows anymore. But playing with the mouse on such an awkward ui is kinda a dealbreaker for me

@SanteriK123
Copy link

How do you retain the cursor? Got everything working, but I can't see where my mouse is pointing 😆

Having this same problem with the cursor disappearing even with multi window disabled. Currently, I just drag down the top bar of the android emulator, hover the mouse there and the cursor returns for a while.

@NelloKudo
Copy link
Author

How do you retain the cursor? Got everything working, but I can't see where my mouse is pointing 😆

Having this same problem with the cursor disappearing even with multi window disabled. Currently, I just drag down the top bar of the android emulator, hover the mouse there and the cursor returns for a while.

This did the trick for me: waydroid prop set persist.waydroid.cursor_on_subsurface true
Guess I'll add it to the main thread if it fixes it!

@NelloKudo
Copy link
Author

Is there a way to set keyboard shortcuts to tft? Used to play tft quite seriously but ditched it 2–3 years ago because of not wanting to dual drive windows anymore. But playing with the mouse on such an awkward ui is kinda a dealbreaker for me

Since TFT mobile doesn't support them, it'd be quite an hacky way, but I'll work on it soon. It's just about simulating actually clicking on those things by pressing a shortcut. It does need some work xd

@GittiMcHub
Copy link

GittiMcHub commented Mar 12, 2025

Crashes after loading finishes, even though the settings here were correctly set by default in the config file:
(Ryzen 5800X3D, RTX4080, Linux Mint 22.1)

/var/lib/waydroid/waydroid_base.prop
https://wiki.archlinux.org/title/Waydroid#Software_rendering

LibHoudini

/var/lib/waydroid/waydroid_base.prop

sys.use_memfd=true
debug.stagefright.ccodec=0
ro.hardware.gralloc=default
ro.hardware.egl=swiftshader
ro.hardware.camera=v4l2
ro.opengles.version=196609
waydroid.system_ota=https://ota.waydro.id/system/lineage/waydroid_x86_64/VANILLA.json
waydroid.vendor_ota=https://ota.waydro.id/vendor/waydroid_x86_64/MAINLINE.json
waydroid.tools_version=1.5.0
ro.vndk.lite=true
ro.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi
ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist64=x86_64,arm64-v8a
ro.dalvik.vm.native.bridge=libhoudini.so
ro.enable.native.bridge.exec=1
ro.dalvik.vm.isa.arm=x86
ro.dalvik.vm.isa.arm64=x86_64
ro.vendor.enable.native.bridge.exec=1
ro.vendor.enable.native.bridge.exec64=1
ro.ndk_translation.version=0.2.3

sudo waydroid logcat

Logcat on time of crash:

3-12 16:24:41.842  3902  3966 D PaySecureElementClient: Felica app not found; returning isSecureElementAvailable = false!
03-12 16:24:42.998   286   733 V WindowManager: nav_input_consumer created.
03-12 16:24:45.061  4565  4624 V RIOTLOG RSMS: onMemorySnapshot: low false, threshold 226492416, availMem 24796893184, totalMem 33566633984
03-12 16:24:46.456  1161  1161 D ClearcutLoggerService: onBind: Intent { act=com.google.android.gms.clearcut.service.START pkg=com.google.android.gms }
03-12 16:24:46.457  1161  1187 D ClearcutLoggerService: bound by: GetServiceRequest{serviceId=CLEARCUT_LOGGER, gmsVersion=222208000, packageName='com.google.android.googlequicksearchbox', extras=Bundle[{}]}
03-12 16:24:46.458  1161  1187 D SafeParcel: Unknown field id 12 in com.google.android.gms.clearcut.LogEventParcelable, skipping.
03-12 16:24:46.459  1161  1187 I chatty  : uid=10167(com.google.android.gms) Binder:1161_2 identical 2 lines
03-12 16:24:48.943  1161  1187 D SafeParcel: Unknown field id 12 in com.google.android.gms.clearcut.LogEventParcelable, skipping.
03-12 16:24:50.113  4565  4624 V RIOTLOG RSMS: onDebugMemorySnapshot: jHeap 3067904, nHeap 781258752, codeMem 81031168, stackMem 2748416, gfxMem 0, privateOtherMem 110481408, sysMem 19524608, pssMem 998112256, swapMem 0
03-12 16:24:50.113  4565  4624 V RIOTLOG RSMS: onMemorySnapshot: low false, threshold 226492416, availMem 24761442304, totalMem 33566633984
03-12 16:24:52.402  1161  1182 W System  : A resource failed to call close. 
03-12 16:24:52.402  1161  1182 W System  : A resource failed to call close. 
03-12 16:24:55.153  4565  4624 V RIOTLOG RSMS: onMemorySnapshot: low false, threshold 226492416, availMem 24603910144, totalMem 33566633984
03-12 16:24:56.426    73    73 I tombstoned: received crash request for pid 4565
03-12 16:24:56.434  4565  4609 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-12 16:24:56.434  4565  4609 F DEBUG   : LineageOS Version: '18.1-20250308-VANILLA-waydroid_x86_64'
03-12 16:24:56.434  4565  4609 F DEBUG   : Build fingerprint: 'waydroid/lineage_waydroid_x86_64/waydroid_x86_64:11/RQ3A.211001.001/130:userdebug/test-keys'
03-12 16:24:56.434  4565  4609 F DEBUG   : Revision: '0'
03-12 16:24:56.434  4565  4609 F DEBUG   : ABI: 'x86_64'
03-12 16:24:56.434  4565  4609 F DEBUG   : Timestamp: 2025-03-12 16:24:56+0000
03-12 16:24:56.434  4565  4609 F DEBUG   : pid: 4565, tid: 4609, name: eamfighttactics  >>> com.riotgames.league.teamfighttactics <<<
03-12 16:24:56.434  4565  4609 F DEBUG   : uid: 10168
03-12 16:24:56.434  4565  4609 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
03-12 16:24:56.434  4565  4609 F DEBUG   : Cause: null pointer dereference
03-12 16:24:56.434  4565  4609 F DEBUG   :     rax 0000712bfd3cd2a0  rbx 00000000f9400517  rcx 0000000000000004  rdx 00000000f9400517
03-12 16:24:56.434  4565  4609 F DEBUG   :     r8  000071296369ac20  r9  0000712962f2c820  r10 000071290b612420  r11 0000000000000246
03-12 16:24:56.434  4565  4609 F DEBUG   :     r12 00007129636a24e0  r13 000071290b612070  r14 0000000000000008  r15 000071290b612420
03-12 16:24:56.434  4565  4609 F DEBUG   :     rdi 0000000080000009  rsi 000071290b612420
03-12 16:24:56.434  4565  4609 F DEBUG   :     rbp 000071296369d200  rsp 00007128f8a03af0  rip 0000712962f2c8df
03-12 16:24:56.434  4565  4609 F DEBUG   : 
03-12 16:24:56.434  4565  4609 F DEBUG   : backtrace:
03-12 16:24:56.435  4565  4609 F DEBUG   :       #00 pc 00000000001248df  /system/lib64/libhoudini.so (BuildId: 9f86677b1d5808b438d9f01fa7ae57376e763099)
03-12 16:24:56.435  4565  4609 F DEBUG   :       #01 pc 00000000001e847f  /system/lib64/libhoudini.so (BuildId: 9f86677b1d5808b438d9f01fa7ae57376e763099)
03-12 16:24:56.435  4565  4609 F DEBUG   :       #02 pc 0000000000107274  /system/lib64/libhoudini.so (BuildId: 9f86677b1d5808b438d9f01fa7ae57376e763099)
03-12 16:24:56.435  4565  4609 F DEBUG   :       #03 pc 0000000000303f73  /system/lib64/libhoudini.so (BuildId: 9f86677b1d5808b438d9f01fa7ae57376e763099)
03-12 16:24:56.435  4565  4609 F DEBUG   :       #04 pc 0000000000304a4d  /system/lib64/libhoudini.so (BuildId: 9f86677b1d5808b438d9f01fa7ae57376e763099)
03-12 16:24:56.435  4565  4609 F DEBUG   :       #05 pc 00000000000c9aaa  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+58) (BuildId: 18a946ffd236f945e12f20abcdd57951)
03-12 16:24:56.435  4565  4609 F DEBUG   :       #06 pc 000000000005f837  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+55) (BuildId: 18a946ffd236f945e12f20abcdd57951)
03-12 16:24:56.603    73    73 E tombstoned: Tombstone written to: /data/tombstones/tombstone_10
03-12 16:24:56.604   286   318 I BootReceiver: Copying /data/tombstones/tombstone_10 to DropBox (SYSTEM_TOMBSTONE)
03-12 16:24:56.604   286   318 I DropBoxManagerService: add tag=SYSTEM_TOMBSTONE isTagEnabled=true flags=0x2
03-12 16:24:57.236    98   213 I AudioFlinger: BUFFER TIMEOUT: remove(61) from active list on thread 0x798125b13040
03-12 16:24:57.236    98   208 W APM::AudioPolicyEngine: getDevicesForStrategy() unknown strategy: -1
03-12 16:24:57.236    98   208 I chatty  : uid=1041(audioserver) ApmOutput identical 1 line
03-12 16:24:57.236    98   208 W APM::AudioPolicyEngine: getDevicesForStrategy() unknown strategy: -1
03-12 16:24:57.236   286  3834 I system_server: oneway function results will be dropped but finished with status OK and parcel size 4
03-12 16:24:59.727   286  1381 I system_server: oneway function results will be dropped but finished with status OK and parcel size 4
03-12 16:25:00.000   505   505 D KeyguardClockSwitch: Updating clock: 4:25
03-12 16:25:02.543   286   347 W InputDispatcher: channel 'b199bf2 com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
03-12 16:25:02.543   286   347 E InputDispatcher: channel 'b199bf2 com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
03-12 16:25:02.546   286  4028 I ActivityManager: Process com.riotgames.league.teamfighttactics (pid 4565) has died: fg  TOP 
03-12 16:25:02.546   286   345 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ TRACK_DEFAULT id=51, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ], android.os.BinderProxy@ed71158)
03-12 16:25:02.546   286  3769 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ TRACK_DEFAULT id=49, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ], android.os.BinderProxy@eb784ca)
03-12 16:25:02.546   286  3501 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ TRACK_DEFAULT id=52, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ], android.os.BinderProxy@cd5463b)
03-12 16:25:02.546   286  3834 I WindowManager: WIN DEATH: Window{b199bf2 u0 com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity}
03-12 16:25:02.546   286  4029 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ TRACK_DEFAULT id=50, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ], android.os.BinderProxy@3be7835)
03-12 16:25:02.546   286   314 W libprocessgroup: Failed to open process cgroup uid 10168 pid 4565: Permission denied
03-12 16:25:02.546   286   364 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=51, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ] (release request)
03-12 16:25:02.546   286  3834 W InputDispatcher: Attempted to unregister already unregistered input channel 'b199bf2 com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity (server)'
03-12 16:25:02.546   286   314 E libprocessgroup: Error encountered killing process cgroup uid 10168 pid 4565: Permission denied
03-12 16:25:02.547   286   364 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=49, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ] (release request)
03-12 16:25:02.547   286   364 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=52, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ] (release request)
03-12 16:25:02.547   286   364 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=50, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ] (release request)
03-12 16:25:02.547   505   505 V KeyguardUpdateMonitor: onSubscriptionInfoChanged()
03-12 16:25:02.547   734   734 D Telephony: isEmergencyPreferredAccount: subId=-1, activeData=-1
03-12 16:25:02.547   734   734 D Telephony: isEmergencyPreferredAccount: Device does not require preference.
03-12 16:25:02.548   286  4028 W ActivityTaskManager: Force removing ActivityRecord{a304acf u0 com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity t39}: app died, no saved state
03-12 16:25:02.548   734   734 D Telephony: isEmergencyPreferredAccount: subId=-1, activeData=-1
03-12 16:25:02.548   734   734 D Telephony: isEmergencyPreferredAccount: Device does not require preference.
03-12 16:25:02.548   734   734 D Telephony: isEmergencyPreferredAccount: subId=-1, activeData=-1
03-12 16:25:02.548   734   734 D Telephony: isEmergencyPreferredAccount: Device does not require preference.
03-12 16:25:02.548   734   734 D Telephony: isEmergencyPreferredAccount: subId=-1, activeData=-1
03-12 16:25:02.548   734   734 D Telephony: isEmergencyPreferredAccount: Device does not require preference.
03-12 16:25:02.549   286   306 W ActivityManager: setHasOverlayUi called on unknown pid: 4565
03-12 16:25:02.550   505   505 V KeyguardUpdateMonitor: onSubscriptionInfoChanged()
03-12 16:25:02.550   505   505 I chatty  : uid=10141(com.android.systemui) identical 1 line
03-12 16:25:02.551   505   505 V KeyguardUpdateMonitor: onSubscriptionInfoChanged()
03-12 16:25:02.551    79    79 I Zygote  : Process 4565 exited due to signal 11 (Segmentation fault); core dumped
03-12 16:25:02.578  1161  1187 D ClearcutLoggerService: bound by: GetServiceRequest{serviceId=CLEARCUT_LOGGER, gmsVersion=222208000, packageName='com.google.android.googlequicksearchbox', extras=Bundle[{}]}
03-12 16:25:02.582   286  4028 V WindowManager: nav_input_consumer dismissed.
03-12 16:25:02.582  4097  4097 W A       : Can't get WAA status for Mavatar!
03-12 16:25:02.582  4097  4097 W A       : java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.apps.tiktok.dataservice.z.b(PG:1)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.apps.tiktok.dataservice.at.a(PG:1)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.apps.tiktok.tracing.ed.a(PG:2)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.common.util.concurrent.aj.a(PG:2)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.common.util.concurrent.ac.apply(PG:1)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.common.util.concurrent.h.e(PG:2)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.common.util.concurrent.j.run(PG:9)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.common.util.concurrent.bf.execute(PG:1)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.common.util.concurrent.d.i(PG:1)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.common.util.concurrent.d.l(PG:12)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.common.util.concurrent.d.n(PG:2)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.common.util.concurrent.i.f(PG:1)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.common.util.concurrent.j.run(PG:13)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.android.libraries.i.af.run(PG:1)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.android.libraries.i.an.run(PG:23)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.android.libraries.i.l.run(PG:2)
03-12 16:25:02.582  4097  4097 W A       : 	at com.google.android.libraries.i.q.run(PG:4)
03-12 16:25:02.582  4097  4097 W A       : 	at java.lang.Thread.run(Thread.java:923)
03-12 16:25:02.597  4097  4097 I A       : (REDACTED) onApplyWindowInsets: systemWindowInsets=%s
03-12 16:25:23.932   286   320 V DisplayPowerController: Brightness [0.05] reason changing to: 'manual [ dim ]', previous reason: 'manual'.
03-12 16:25:24.869   286   286 D CompatibilityChangeReporter: Compat change id reported: 135634846; UID 10168; state: DISABLED
03-12 16:25:24.869   286   313 D CompatibilityChangeReporter: Compat change id reported: 143937733; UID 10168; state: ENABLED
03-12 16:25:02.597  4097  4097 I A       : (REDACTED) onApplyWindowInsets: systemWindowInsets=%s
03-12 16:25:24.874    79    79 D Zygote  : Forked child process 4795
03-12 16:25:24.875   286   313 I ActivityManager: Start proc 4795:com.riotgames.league.teamfighttactics/u0a168 for service {com.riotgames.league.teamfighttactics/com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService}
03-12 16:25:24.876  4795  4795 E libprocessgroup: Failed to make and chown /acct/uid_10168: Read-only file system
03-12 16:25:24.876  4795  4795 W Zygote  : createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?
03-12 16:25:24.877  4795  4795 W eamfighttactic: Unexpected CPU variant for X86 using defaults: x86_64
03-12 16:25:24.877  4795  4795 D houdini : [4795] Initialize library(version: 11.0.1b_z.38765.m RELEASE)... successfully.
03-12 16:25:24.878   119   174 I adbd    : jdwp connection from 4795
03-12 16:25:24.882  4795  4795 I eamfighttactic: The ClassLoaderContext is a special shared library.
03-12 16:25:24.886  4795  4795 D NetworkSecurityConfig: No Network Security Config specified, using platform default
03-12 16:25:24.886  4795  4795 D NetworkSecurityConfig: No Network Security Config specified, using platform default
03-12 16:25:24.887  4795  4795 I FirebaseApp: Device unlocked: initializing all Firebase APIs for app [DEFAULT]
03-12 16:25:24.888  4795  4795 I FirebaseInitProvider: FirebaseApp initialization successful
03-12 16:25:24.889  4795  4795 D Sentry  : io.sentry.auto-init read: false
03-12 16:25:24.889  4795  4795 I Sentry  : Retrieving auto-init from AndroidManifest.xml
03-12 16:25:24.889  4795  4795 V RIOTLOG: RiotLogDocumentProvider: onCreate
03-12 16:25:24.889  4795  4824 I TetheringManager: registerTetheringEventCallback:com.riotgames.league.teamfighttactics
03-12 16:25:24.889  1161  1187 D ChimeraServiceProvider: query: content://com.google.android.gms.chimera/api_force_staging/com.google.android.gms.measurement.dynamite?requestStartTime=3904307
03-12 16:25:24.890  4795  4823 W DynamiteModule: Failed to retrieve remote module version.
03-12 16:25:24.890  4795  4823 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.test.base.jar
03-12 16:25:24.891  4795  4823 W eamfighttactic: ClassLoaderContext classpath size mismatch. expected=1, found=0 (PCL[/system/framework/org.lineageos.platform.jar*2370978991] | PCL[])
03-12 16:25:24.891  3176  3176 D GmsGcmRegister: onBind: Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms }
03-12 16:25:24.891  3176  3176 D GmsGcmRegister: handleMessage: package=com.riotgames.league.teamfighttactics what=1 id=1
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: java.lang.RuntimeException: Checkin disabled
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at org.microg.gms.gcm.PushRegisterServiceKt.ensureCheckinIsUpToDate(PushRegisterService.kt:33)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at org.microg.gms.gcm.PushRegisterServiceKt.access$ensureCheckinIsUpToDate(PushRegisterService.kt:1)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at org.microg.gms.gcm.PushRegisterHandler$handleMessage$1.invokeSuspend(PushRegisterService.kt:313)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:69)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:376)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at androidx.lifecycle.LifecycleCoroutineScope.launchWhenStarted(Lifecycle.kt:96)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at org.microg.gms.gcm.PushRegisterHandler.handleMessage(PushRegisterService.kt:309)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at android.os.Handler.dispatchMessage(Handler.java:106)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at android.os.Looper.loop(Looper.java:223)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at android.app.ActivityThread.main(ActivityThread.java:7665)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at java.lang.reflect.Method.invoke(Native Method)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
03-12 16:25:24.892  3176  3176 W GmsGcmRegister: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:948)
03-12 16:25:24.893  4795  4824 E FirebaseMessaging: Topic sync or token retrieval failed on hard failure exceptions: java.util.concurrent.ExecutionException: java.io.IOException: SERVICE_NOT_AVAILABLE. Won't retry the operation.
03-12 16:25:24.893  4795  4817 I TRuntime.CctTransportBackend: Making request to: https://firebaselogging.googleapis.com/v0cc/log/batch?format=json_proto3
03-12 16:25:24.902  4795  4823 W DynamiteModule: IDynamite loader version = 2, no high precision latency measurement.
03-12 16:25:24.902  4795  4823 I DynamiteModule: Considering local module com.google.android.gms.measurement.dynamite:86 and remote module com.google.android.gms.measurement.dynamite:53
03-12 16:25:24.902  4795  4823 I DynamiteModule: Selected local version of com.google.android.gms.measurement.dynamite
03-12 16:25:24.902  4795  4823 W DynamiteModule: IDynamite loader version = 2, no high precision latency measurement.
03-12 16:25:24.906  4795  4833 I FA      : App measurement initialized, version: 74029
03-12 16:25:24.906  4795  4833 I FA      : To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
03-12 16:25:24.906  4795  4833 I FA      : To enable faster debug mode event logging run:
03-12 16:25:24.906  4795  4833 I FA      :   adb shell setprop debug.firebase.analytics.app com.riotgames.league.teamfighttactics
03-12 16:25:24.911  1161  1161 D MeasurementService: onBind: Intent { act=com.google.android.gms.measurement.START pkg=com.google.android.gms }
03-12 16:25:24.911  1161  1187 D MeasurementService: bound by: GetServiceRequest{serviceId=MEASUREMENT, gmsVersion=12451000, packageName='com.riotgames.league.teamfighttactics', extras=Bundle[{}]}
03-12 16:25:24.912  1161  1187 D SafeParcel: Unknown field id 26 in com.google.android.gms.measurement.internal.AppMetadata, skipping.
03-12 16:25:24.912  1161  1187 D SafeParcel: Unknown field id 27 in com.google.android.gms.measurement.internal.AppMetadata, skipping.
03-12 16:25:24.912  1161  1187 D MeasurementService: f4() for AppMetadata[com.riotgames.league.teamfighttactics]
03-12 16:25:24.915  1161  1187 D SafeParcel: Unknown field id 26 in com.google.android.gms.measurement.internal.AppMetadata, skipping.
03-12 16:25:24.915  1161  1187 D SafeParcel: Unknown field id 27 in com.google.android.gms.measurement.internal.AppMetadata, skipping.
03-12 16:25:24.915  1161  1187 D MeasurementService: f11() for AppMetadata[com.riotgames.league.teamfighttactics]
03-12 16:25:24.915  1161  1187 D SafeParcel: Unknown field id 26 in com.google.android.gms.measurement.internal.AppMetadata, skipping.
03-12 16:25:24.915  1161  1187 D SafeParcel: Unknown field id 27 in com.google.android.gms.measurement.internal.AppMetadata, skipping.
03-12 16:25:24.915  1161  1187 D MeasurementService: setDefaultEventParameters(Bundle[EMPTY_PARCEL]) for AppMetadata[com.riotgames.league.teamfighttactics]

LibNDK

/var/lib/waydroid/waydroid_base.prop

sys.use_memfd=true
debug.stagefright.ccodec=0
ro.hardware.gralloc=default
ro.hardware.egl=swiftshader
ro.hardware.camera=v4l2
ro.opengles.version=196609
waydroid.system_ota=https://ota.waydro.id/system/lineage/waydroid_x86_64/VANILLA.json
waydroid.vendor_ota=https://ota.waydro.id/vendor/waydroid_x86_64/MAINLINE.json
waydroid.tools_version=1.5.0
ro.vndk.lite=true
ro.product.cpu.abilist=x86_64,x86,armeabi-v7a,armeabi,arm64-v8a
ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist64=x86_64,arm64-v8a
ro.dalvik.vm.native.bridge=libndk_translation.so
ro.enable.native.bridge.exec=1
ro.dalvik.vm.isa.arm=x86
ro.dalvik.vm.isa.arm64=x86_64
ro.vendor.enable.native.bridge.exec=1
ro.vendor.enable.native.bridge.exec64=1
ro.ndk_translation.version=0.2.3

sudo waydroid logcat

03-12 16:28:15.950   286  3224 E ActivityManager: CPU usage from 0ms to 22708ms later (2025-03-12 16:27:53.240 to 2025-03-12 16:28:15.948):
03-12 16:28:15.950   286  3224 E ActivityManager:   33% 2640/com.riotgames.league.teamfighttactics: 0% user + 33% kernel / faults: 14542 minor
03-12 16:28:15.950   286  3224 E ActivityManager:   0.3% 286/system_server: 0% user + 0.3% kernel / faults: 400 minor
03-12 16:28:15.950   286  3224 E ActivityManager:   0% 118/surfaceflinger: 0% user + 0% kernel
03-12 16:28:15.950   286  3224 E ActivityManager:   0% 2425/com.android.vending: 0% user + 0% kernel / faults: 74 minor 1 major
03-12 16:28:15.950   286  3224 E ActivityManager:   0% 86/[email protected]: 0% user + 0% kernel
03-12 16:28:15.950   286  3224 E ActivityManager:   0% 105/[email protected]: 0% user + 0% kernel
03-12 16:28:15.950   286  3224 E ActivityManager:   0% 552/com.android.systemui: 0% user + 0% kernel / faults: 13 minor
03-12 16:28:15.950   286  3224 E ActivityManager:   0% 641/com.android.networkstack.process: 0% user + 0% kernel / faults: 34 minor
03-12 16:28:15.950   286  3224 E ActivityManager: 31% TOTAL: 1.8% user + 9.1% kernel + 20% iowait + 0% softirq
03-12 16:28:15.950   286  3224 E ActivityManager: CPU usage from 3ms to 230ms later (2025-03-12 16:27:53.243 to 2025-03-12 16:27:53.470):
03-12 16:28:15.950   286  3224 E ActivityManager:   101% 2640/com.riotgames.league.teamfighttactics: 0% user + 101% kernel / faults: 1427 minor
03-12 16:28:15.950   286  3224 E ActivityManager:     97% 2819/Thread-3: 0% user + 97% kernel
03-12 16:28:15.950   286  3224 E ActivityManager:   9% 286/system_server: 0% user + 9% kernel / faults: 226 minor
03-12 16:28:15.950   286  3224 E ActivityManager:     4.5% 3224/AnrConsumer: 0% user + 4.5% kernel
03-12 16:28:15.950   286  3224 E ActivityManager: 35% TOTAL: 1.3% user + 28% kernel + 5.5% iowait
03-12 16:28:15.950   286  3224 D ActivityManager: Completed ANR of com.riotgames.league.teamfighttactics in 22710ms, latency 0ms
03-12 16:28:15.950   286  3226 I DropBoxManagerService: add tag=data_app_anr isTagEnabled=true flags=0x2
03-12 16:28:15.951   286   304 I android_os_HwBinder: HwBinder: Starting hwbinderthread pool for getting: [email protected]::IWaydroidWindow/default
03-12 16:28:15.955   286   304 V WindowManager: nav_input_consumer dismissed.
03-12 16:28:16.121    31    31 I hwservicemanager: getTransport: Cannot find entry [email protected]::IMapper/default in either framework or device manifest.
03-12 16:28:16.124   286   304 W Looper  : Slow dispatch took 167ms android.ui h=android.view.Choreographer$FrameHandler c=android.view.Choreographer$FrameDisplayEventReceiver@ab44e25 m=0
03-12 16:28:16.193   286   298 W System  : A resource failed to call release. 
03-12 16:28:16.880   286   304 D ViewRootImpl[teamfighttactics]: updatePointerIcon called with position out of bounds
03-12 16:28:16.193   286   298 I chatty  : uid=1000(system) FinalizerDaemon identical 1 line
03-12 16:28:16.193   286   298 W System  : A resource failed to call release. 
03-12 16:28:17.733   286  3227 D OpenGLRenderer: endAllActiveAnimators on 0x76e78f23aaf0 (RippleDrawable) with handle 0x76e6af33ed40
03-12 16:28:16.899   286   304 D ViewRootImpl[teamfighttactics]: updatePointerIcon called with position out of bounds
03-12 16:28:17.734   286   304 V WindowManager: nav_input_consumer created.
03-12 16:28:17.749   286   347 W InputDispatcher: Unresponsive window Window{b300ede u0 com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity} will not get the new gesture at 4077168234000
03-12 16:28:17.749   286   347 I InputDispatcher: Dropping event because there is no touchable window or gesture monitor at (588, 457) in display 0.
03-12 16:28:17.775   286  2387 I system_server: oneway function results will be dropped but finished with status OK and parcel size 4
03-12 16:28:17.775   286  2387 I chatty  : uid=1000(system) Binder:286_D identical 1 line
03-12 16:28:17.776   286  2387 I system_server: oneway function results will be dropped but finished with status OK and parcel size 4
03-12 16:28:17.962   113   240 W APM::AudioPolicyEngine: getDevicesForStrategy() unknown strategy: -1
03-12 16:28:17.962   286   765 I system_server: oneway function results will be dropped but finished with status OK and parcel size 4
03-12 16:28:18.140   673   695 I PermissionControllerServiceImpl: Updating user sensitive for user 0
03-12 16:28:18.140   673  2400 I UserPackageInfos: updating UserPackageInfosLiveData for user 0
03-12 16:28:18.140   673  2401 I LancherPackagesLiveData: updating LauncherPackageLiveData
03-12 16:28:20.863   286   765 I system_server: oneway function results will be dropped but finished with status OK and parcel size 4
03-12 16:28:25.246  1259  1259 I BgTaskExecutorImpl: (REDACTED) Starting %s background task %s.
03-12 16:28:25.247  1259  1335 I NetworkRecognitionRnr: Using pair HTTP connection
03-12 16:28:25.247  1259  1936 W LocationOracle: getBestLocation(): no location is available
03-12 16:28:25.248  1259  1938 I A       : [Upload] Connected
03-12 16:28:25.248  1259  1259 E A       : onError
03-12 16:28:25.248  1259  1259 E A       : com.google.android.apps.gsa.shared.speech.a.m: errorCode: 65561, engine: 2
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.staticplugins.db.a.e.a(PG:3)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.s3.n.gO(PG:1)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.cd.g.a.f.e(PG:2)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.speech.k.a.g.d(PG:22)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.speech.k.a.g.jS(PG:6)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.s3.o.c(PG:14)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.s3.p.run(PG:1)
03-12 16:28:25.248  1259  1259 E A       : 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
03-12 16:28:25.248  1259  1259 E A       : 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.shared.util.c.a.e.run(PG:2)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.shared.util.c.a.bi.run(PG:1)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.shared.util.c.a.bi.run(PG:1)
03-12 16:28:25.248  1259  1259 E A       : 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
03-12 16:28:25.248  1259  1259 E A       : 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
03-12 16:28:25.248  1259  1259 E A       : 	at java.lang.Thread.run(Thread.java:923)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.shared.util.c.a.l.run(PG:5)
03-12 16:28:25.248  1259  1259 E A       : Caused by: com.google.android.apps.gsa.shared.speech.a.o: errorCode: 65586, engine: 2
03-12 16:28:25.248  1259  1259 E A       : 	... 15 more
03-12 16:28:25.248  1259  1259 E A       : Caused by: com.google.android.apps.gsa.shared.speech.a.k: errorCode: 401, engine: 2
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.assistant.shared.n.h.a(PG:5)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.s3.producers.j.hh(PG:2)
03-12 16:28:25.248  1259  1259 E A       : 	at com.google.android.apps.gsa.speech.k.a.g.d(PG:16)
03-12 16:28:25.248  1259  1259 E A       : 	... 12 more
03-12 16:28:25.249  1259  1294 W CronetNetworkRqstWrppr: Upload request without a content type.
03-12 16:28:25.249  1259  1938 I NetworkRecognitionRnr: Using pair HTTP connection
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: Exception in upload method
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: com.google.android.apps.gsa.shared.q.d: Error code: 262182
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.gsa.c.a.ar.b(PG:1)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.gsa.c.a.o.read(PG:2)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at org.chromium.net.impl.r.run(PG:5)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.gsa.c.a.al.run(Unknown Source:2)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.gsa.k.a.h.run(PG:2)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at com.google.android.apps.gsa.shared.util.c.a.ce.b(PG:1)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at com.google.android.apps.gsa.shared.util.c.a.ch.run(PG:1)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.i.af.run(PG:1)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.i.an.run(PG:23)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.i.l.run(PG:2)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.i.q.run(PG:4)
03-12 16:28:25.249  1259  1948 E cr_CronetUrlRequestContext: 	at java.lang.Thread.run(Thread.java:923)
03-12 16:28:25.249  1259  1936 I A       : [Upload] Connected
03-12 16:28:25.250  1259  1259 W A       : Failed to sync device settings.
03-12 16:28:25.250  1259  1259 I A       : Retrying to sync device settings.
03-12 16:28:25.250  1259  1294 W CronetNetworkRqstWrppr: Upload request without a content type.
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: Exception in upload method
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: com.google.android.apps.gsa.shared.q.d: Error code: 262182
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.gsa.c.a.ar.b(PG:1)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.gsa.c.a.o.read(PG:2)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at org.chromium.net.impl.r.run(PG:5)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.gsa.c.a.al.run(Unknown Source:2)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.gsa.k.a.h.run(PG:2)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at com.google.android.apps.gsa.shared.util.c.a.ce.b(PG:1)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at com.google.android.apps.gsa.shared.util.c.a.ch.run(PG:1)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.i.af.run(PG:1)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.i.an.run(PG:23)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.i.l.run(PG:2)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at com.google.android.libraries.i.q.run(PG:4)
03-12 16:28:25.250  1259  1945 E cr_CronetUrlRequestContext: 	at java.lang.Thread.run(Thread.java:923)
03-12 16:28:25.253   286  3249 I system_server: The ClassLoaderContext is a special shared library.
03-12 16:28:25.284   286  3249 W DexManager: Skipping dexopt for system server path loaded with variable class loader context: /system/framework/com.android.location.provider.jar
03-12 16:28:25.376   286  3249 I chatty  : uid=1000(system) BackgroundDexOp identical 79 lines
03-12 16:28:25.378   286  3249 I system_server: The ClassLoaderContext is a special shared library.
03-12 16:28:25.380   286  3249 I BackgroundDexOptService: Pinning optimized code {}
03-12 16:28:25.671  1153  1153 D ClearcutLoggerService: onBind: Intent { act=com.google.android.gms.clearcut.service.START pkg=com.google.android.gms }
03-12 16:28:25.672  1153  1177 D ClearcutLoggerService: bound by: GetServiceRequest{serviceId=CLEARCUT_LOGGER, gmsVersion=222208000, packageName='com.google.android.googlequicksearchbox', extras=Bundle[{}]}
03-12 16:28:25.673  1153  1177 D SafeParcel: Unknown field id 12 in com.google.android.gms.clearcut.LogEventParcelable, skipping.
03-12 16:28:28.167   286   765 I ActivityManager: Killing 2154:org.calyxos.backup.contacts/u0a118 (adj 975): empty #17
03-12 16:28:26.710  1153  1177 I chatty  : uid=10167(com.google.android.gms) Binder:1153_2 identical 1 line
03-12 16:28:26.710  1153  1177 D SafeParcel: Unknown field id 12 in com.google.android.gms.clearcut.LogEventParcelable, skipping.
03-12 16:28:28.168   286   314 W libprocessgroup: Failed to open process cgroup uid 10118 pid 2154: Permission denied
03-12 16:28:28.168   286   314 E libprocessgroup: Error encountered killing process cgroup uid 10118 pid 2154: Permission denied
03-12 16:28:28.173    79    79 I Zygote  : Process 2154 exited due to signal 9 (Killed)
03-12 16:28:28.891  2425  2464 I Finsky  : [306] kwv.run(36): Stats for Executor: BlockingExecutor kyw@a7fb01e[Running, pool size = 1, active threads = 0, queued tasks = 0, completed tasks = 18]
03-12 16:28:28.891  2425  2464 I Finsky  : [306] kwv.run(36): Stats for Executor: LightweightExecutor kyw@53b50ff[Running, pool size = 4, active threads = 0, queued tasks = 0, completed tasks = 72]
03-12 16:28:28.891  2425  2464 I Finsky  : [306] kwv.run(36): Stats for Executor: bgExecutor kyw@1295ecc[Running, pool size = 4, active threads = 0, queued tasks = 0, completed tasks = 74]
03-12 16:28:28.952  1259  1940 W A       : (REDACTED) [%s] response code: %d
03-12 16:28:28.994  2573  2625 I Finsky:download_service: [319] kwv.run(36): Stats for Executor: bgExecutor kyw@e79da3d[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
03-12 16:28:45.842   286   312 W ActivityManager: Stopping service due to app idle: u0a83 -1m17s18ms com.android.statementservice/.DirectStatementService
03-12 16:28:48.213    78   147 E FrameworkListener: read() failed (Connection reset by peer)
03-12 16:28:48.213   286   347 W InputDispatcher: channel 'b300ede com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0xd
03-12 16:28:48.213   286   347 E InputDispatcher: channel 'b300ede com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
03-12 16:28:48.213    78   147 E FrameworkListener: read() failed (Connection reset by peer)
03-12 16:28:48.217   286   765 I WindowManager: WIN DEATH: Window{b300ede u0 com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity}
03-12 16:28:48.217   286   765 W InputDispatcher: Attempted to unregister already unregistered input channel 'b300ede com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity (server)'
03-12 16:28:48.218   286   574 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ TRACK_DEFAULT id=25, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ], android.os.BinderProxy@cdc6087)
03-12 16:28:48.218   286   627 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ TRACK_DEFAULT id=26, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ], android.os.BinderProxy@ea86bb4)
03-12 16:28:48.218   286   301 I ActivityManager: Process com.riotgames.league.teamfighttactics (pid 2640) has died: fg  TOP 
03-12 16:28:48.218   286   314 W libprocessgroup: Failed to open process cgroup uid 10168 pid 2640: Permission denied
03-12 16:28:48.218   286   761 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ TRACK_DEFAULT id=27, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ], android.os.BinderProxy@fbee3dd)
03-12 16:28:48.218   286   314 E libprocessgroup: Error encountered killing process cgroup uid 10168 pid 2640: Permission denied
03-12 16:28:48.218   286   658 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ TRACK_DEFAULT id=28, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ], android.os.BinderProxy@7a28b52)
03-12 16:28:48.218   286   364 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=25, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ] (release request)
03-12 16:28:48.218   286   364 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=26, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ] (release request)
03-12 16:28:48.218   286   364 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=27, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ] (release request)
03-12 16:28:48.218   286   301 I ActivityManager: Killing 2176:org.lineageos.lineageparts/1000 (adj 975): empty #17
03-12 16:28:48.218   286   364 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=28, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10168 AdministratorUids: [] RequestorUid: 10168 RequestorPackageName: com.riotgames.league.teamfighttactics] ] (release request)
03-12 16:28:48.218   286   314 W libprocessgroup: Failed to open process cgroup uid 1000 pid 2176: Permission denied
03-12 16:28:48.219   286   314 E libprocessgroup: Error encountered killing process cgroup uid 1000 pid 2176: Permission denied
03-12 16:28:48.219   286   301 W ActivityTaskManager: Force removing ActivityRecord{2b328ab u0 com.riotgames.league.teamfighttactics/com.riotgames.leagueoflegends.RiotNativeActivity t41}: app died, no saved state
03-12 16:28:48.219   552   552 V KeyguardUpdateMonitor: onSubscriptionInfoChanged()
03-12 16:28:48.219   757   757 D Telephony: isEmergencyPreferredAccount: subId=-1, activeData=-1
03-12 16:28:48.219   757   757 D Telephony: isEmergencyPreferredAccount: Device does not require preference.
03-12 16:28:48.220   757   757 D Telephony: isEmergencyPreferredAccount: subId=-1, activeData=-1
03-12 16:28:48.220   757   757 D Telephony: isEmergencyPreferredAccount: Device does not require preference.
03-12 16:28:48.220   757   757 D Telephony: isEmergencyPreferredAccount: subId=-1, activeData=-1
03-12 16:28:48.220   757   757 D Telephony: isEmergencyPreferredAccount: Device does not require preference.
03-12 16:28:48.220   757   757 D Telephony: isEmergencyPreferredAccount: subId=-1, activeData=-1
03-12 16:28:48.220   757   757 D Telephony: isEmergencyPreferredAccount: Device does not require preference.
03-12 16:28:48.220   286   306 W ActivityManager: setHasOverlayUi called on unknown pid: 2640
03-12 16:28:48.221   286  2389 I ActivityManager: Killing 2198:org.lineageos.waydroidupdater/u0a130 (adj 975): empty #17
03-12 16:28:48.221   286   314 W libprocessgroup: Failed to open process cgroup uid 10130 pid 2198: Permission denied
03-12 16:28:48.221   286   314 E libprocessgroup: Error encountered killing process cgroup uid 10130 pid 2198: Permission denied
03-12 16:28:48.221   552   552 V KeyguardUpdateMonitor: onSubscriptionInfoChanged()
03-12 16:28:48.221   552   552 I chatty  : uid=10141(com.android.systemui) identical 1 line
03-12 16:28:48.222   552   552 V KeyguardUpdateMonitor: onSubscriptionInfoChanged()
03-12 16:28:48.224    79    79 I Zygote  : Process 2176 exited due to signal 9 (Killed)
03-12 16:28:48.226    79    79 I Zygote  : Process 2198 exited due to signal 9 (Killed)
03-12 16:28:48.226    79    79 I Zygote  : Process 2640 exited due to signal 11 (Segmentation fault); core dumped
03-12 16:28:48.227  1259  1259 I A       : (REDACTED) onApplyWindowInsets: systemWindowInsets=%s
03-12 16:28:48.244   286   345 V WindowManager: nav_input_consumer dismissed.
03-12 16:28:48.227  1259  1259 I A       : (REDACTED) onApplyWindowInsets: systemWindowInsets=%s
03-12 16:28:48.245  1153  1153 D ClearcutLoggerService: onBind: Intent { act=com.google.android.gms.clearcut.service.START pkg=com.google.android.gms }
03-12 16:28:48.254   286   347 I InputDispatcher: Dropping event because there is no touchable window or gesture monitor at (302, 452) in display 0.
03-12 16:28:48.261  1153  1177 D ClearcutLoggerService: bound by: GetServiceRequest{serviceId=CLEARCUT_LOGGER, gmsVersion=222208000, packageName='com.google.android.googlequicksearchbox', extras=Bundle[{}]}
03-12 16:28:48.261  1259  1259 W A       : Can't get WAA status for Mavatar!
03-12 16:28:48.261  1259  1259 W A       : java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.apps.tiktok.dataservice.z.b(PG:1)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.apps.tiktok.dataservice.at.a(PG:1)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.apps.tiktok.tracing.ed.a(PG:2)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.aj.a(PG:2)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.ac.apply(PG:1)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.h.e(PG:2)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.j.run(PG:9)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.bf.execute(PG:1)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.d.i(PG:1)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.d.b(PG:5)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.j.h(PG:2)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.ax.d(PG:1)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.apps.tiktok.dataservice.au.a(PG:5)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.apps.tiktok.dataservice.dt.c(PG:5)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.apps.tiktok.dataservice.dr.run(PG:6)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.apps.tiktok.concurrent.am.run(PG:6)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.apps.tiktok.tracing.ej.run(PG:2)
03-12 16:28:48.261  1259  1259 W A       : 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.dz.a(PG:1)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.cv.run(PG:4)
03-12 16:28:48.261  1259  1259 W A       : 	at com.google.common.util.concurrent.ea.run(PG:1)
03-12 16:28:48.261  1259  1259 W A       : 	at android.os.Handler.handleCallback(Handler.java:938)
03-12 16:28:48.261  1259  1259 W A       : 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-12 16:28:48.261  1259  1259 W A       : 	at android.os.Looper.loop(Looper.java:223)
03-12 16:28:48.261  1259  1259 W A       : 	at android.app.ActivityThread.main(ActivityThread.java:7665)
03-12 16:28:48.261  1259  1259 W A       : 	at java.lang.reflect.Method.invoke(Native Method)
03-12 16:28:48.261  1259  1259 W A       : 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
03-12 16:28:48.261  1259  1259 W A       : 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:948)
03-12 16:28:48.264   286   347 I InputDispatcher: Dropping event because there is no touchable window or gesture monitor at (302, 453) in display 0.
03-12 16:28:48.276  1259  1259 I A       : (REDACTED) onApplyWindowInsets: systemWindowInsets=%s
03-12 16:28:48.276  1259  1259 I A       : (REDACTED) onApplyWindowInsets: systemWindowInsets=%s
03-12 16:29:00.000   552   552 D KeyguardClockSwitch: Updating clock: 4:29

@mrvictory1
Copy link

@GittiMcHub Nvidia is not supported and your CPU has no integrated graphics, use BlissOS on Qemu with VirGL.

@GittiMcHub
Copy link

GittiMcHub commented Mar 13, 2025

@GittiMcHub Nvidia is not supported and your CPU has no integrated graphics, use BlissOS on Qemu with VirGL.

I'll give BlissOS on Qemu with VirGL a try - thanks for the tip! @mrvictory1 !

Though Waydroid states

NVIDIA GPUs do not work currently, but there are 2 workarounds.
1. Switch to integrated graphics card if possible
2. Use software rendering (see [#Software rendering](https://wiki.archlinux.org/title/Waydroid#Software_rendering))

And setting /var/lib/waydroid/waydroid_base.prop to

ro.hardware.gralloc=default
ro.hardware.egl=swiftshader

Should not care about iGPU or the NVIDIA Card and should work on any CPU.

@mrvictory1
Copy link

The software renderer is a band-aid, it is not a real GPU driver. It has limited game compatibility. Even if it worked the game would very likely be so laggy it is unplayable as GPU is not used at all. BlissOS + VirGL can use GPU acceleration but with some overhead, there isn't a true solution for Nvidia cards.

@SanteriK123
Copy link

Any clue how it would be possible to get the better UI scaling for a 2560x1440 monitor? Adding the 5 pixels doesn't work. Right now I'm just using the 1920x1085 resolution, which works ok but results in a faster mouse speed...

@mrvictory1
Copy link

Try a 16:10 resolution, like 2304x1440

@NelloKudo
Copy link
Author

Any clue how it would be possible to get the better UI scaling for a 2560x1440 monitor? Adding the 5 pixels doesn't work. Right now I'm just using the 1920x1085 resolution, which works ok but results in a faster mouse speed...

Tried playing around a bit and even though I can't really test cause I have a 1080p monitor, it seems that adding 10 pixels does the job? Try: wm size 2560x1450

2025-04-14.16-51-44.mp4

@SanteriK123
Copy link

Any clue how it would be possible to get the better UI scaling for a 2560x1440 monitor? Adding the 5 pixels doesn't work. Right now I'm just using the 1920x1085 resolution, which works ok but results in a faster mouse speed...

Tried playing around a bit and even though I can't really test cause I have a 1080p monitor, it seems that adding 10 pixels does the job? Try: wm size 2560x1450
2025-04-14.16-51-44.mp4

Thanks a lot, 10 pixels did the job. It's fairly playable now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment