Status Update
Comments
vs...@google.com <vs...@google.com>
rk...@google.com <rk...@google.com>
wd...@google.com <wd...@google.com>
ru...@gmail.com <ru...@gmail.com> #2
ru...@gmail.com <ru...@gmail.com> #3
"Graphics backend upgrade: We've implemented the gfxstream protocol for our graphics backend, This enhancement elevates the overall graphics performance and stability of your system. In addition, introducing Vulkan 1.3 support beginning with system image with API 34",
and IpAddress::toString() basically early exits if GFXSTREAM backend is defined:
std::string IpAddress::toString() const {
std::string result;
// TODO: Figure out why on mingw build of gfxstream backend, we get a link
// error for inet_ntop here. Since inet_ntop is not needed in gfxstream
// backend, we can safely avoid referencing it in the linker. In the long
// term, perhaps we should unbundle more dependencies away from
// android-emu-base so that it doesn't need this function in the first place.
#if defined(AEMU_GFXSTREAM_BACKEND) && AEMU_GFXSTREAM_BACKEND
return result;
#else
switch (mKind) {
case Kind::Ipv4: {
struct in_addr ip4;
ip4.s_addr = htonl(mIpv4);
result.resize(INET_ADDRSTRLEN);
inet_ntop(AF_INET, &ip4, &result[0],
static_cast<socklen_t>(result.size()));
result.resize(::strlen(result.c_str()));
break;
}
case Kind::Ipv6: {
struct in6_addr ip6;
static_assert(sizeof(ip6.s6_addr) == sizeof(mIpv6.mAddr),
"Invalid Ipv6Address size");
memcpy(ip6.s6_addr, mIpv6.mAddr, sizeof(ip6.s6_addr));
result.resize(INET6_ADDRSTRLEN);
inet_ntop(AF_INET6, &ip6, &result[0],
static_cast<socklen_t>(result.size()));
result.resize(::strlen(result.c_str()));
break;
}
default:
result = "<invalid>";
}
return result;
#endif
}
Not sure how to know what cmake options / features the release was built with, but since i see libgfxstream_backend.so in the release package I assume that the release is built with this and that is what breaks it? It would we consistent with the output in the logs - proxy is resolved but the address shows up as an empty string.
ru...@gmail.com <ru...@gmail.com> #4
ru...@gmail.com <ru...@gmail.com> #5
Just a note - we recompiled 33.1.24 by simply taking out the ifdefs in IpAddress::toString()
and by turning on gfxstream and got no linker issues (according to the comment that was why the ifdef guards were there in the first place) and proxy seems to work.
ru...@gmail.com <ru...@gmail.com> #6
If there is no progress on this can anyone from the google team advise how to properly build with gfxstream on? What we did was take 33.1.24 and remove the ifdef in the snipper above and then turn on the gfxstream cmake option, but it seems that that causes a weird build - we get ""Your GPU drivers may have a bug" which as far as i can see should not be there since the getGpuInfoListNative
method in hardware/google/gfxstream/gl-host-common/opengl/NativeGpuInfo_linux.cpp
doesn't even scan for gpus? So we are clearly somehow building it wrong, any advice would be appreciated as long as we cannot use the stock emulator with the proxy feature working.
al...@gmail.com <al...@gmail.com> #7
kc...@gmail.com <kc...@gmail.com> #8
Hello, this is impacting us greatly. Please fix this asap. Thank you.
wd...@google.com <wd...@google.com> #9
ru...@gmail.com <ru...@gmail.com> #10
Since the review link is not public, could you confirm that removing the ifdef is a legitimate fix (and the random rare crashes we we are seeing with removing the ifdef and building with gfxstream is something else) or are there other changes that need to be done?
wd...@google.com <wd...@google.com> #11
RE#10 Thank you for pointing that out. Removing the ifdef is a legitmate fix. The random crash is interesting but I doubt it has to with removing ifdef. Previously the ifdef guard was there probably because we used to have migw windows target but I don't think it's there anymore.
My fix is landed in
bo...@google.com <bo...@google.com> #12
bo...@google.com <bo...@google.com> #13
we need a new release for 34.1.x
Description
DESCRIBE THE ISSUE IN DETAIL: The
-http-proxy
command line parameter is not parsed correctly no matter what format I use - it uses an empty string as a hostname/ip and fails to connect. The port is parsed correctly. Formats I tried:STEPS TO REPRODUCE:
emulator.exe -avd Pixel_3a_API_34_extension_level_7_x86_64 -http-proxy 127.0.0.1:8888 -verbose -debug-proxy
Note: I tried to create the issue in "Android Studio > Emulator" component but got "You do not have permission to create issues in this component."