TigerVNC / tigervnc

High performance, multi-platform VNC client and server
https://tigervnc.org
GNU General Public License v2.0
5.14k stars 941 forks source link

CentOS 7 ~ gnome screen resolution #192

Closed ghost closed 9 years ago

ghost commented 9 years ago

Hi,

I find I cant control the size of screen on gnome under centos7. if I set in my xstartup to run startkde it works perfectly but I can't control the screen resolution in the gnome session.

my users have typically started and stopped their own vncserver using a command like ..

vncserver :5 -geometry 1600x900 -depth 16

here they can set the screen resolution they desire, i have tried this with the default xstartup and with just

!/bin/bash

exec gnome-session&

the only one that works for me at the moment is if i define kde..

!/bin/bash

exec startkde&

90% of users are gnome .. is this just a fault in gnome 3 ? or can it be fixed in tigervnc ?? used to work fine in CentOS 6.

BTW: same behahiour with the version of tigervnc in the Centos7 repos and the latest release from yourselves ..

Thanks in advance for any consideration,

~Bob

CendioOssman commented 9 years ago

Sounds like the issue in #57. It's an annoying behaviour from most modern desktop environments. But we've changed TigerVNC to play nice with it now. Could you try a nightly build and see if that works better for you?

ghost commented 9 years ago

where are the nightly builds ? or do you mean grab the latest source code and compile it myself ?

On 10 September 2015 at 08:23, Pierre Ossman (Work account) < notifications@github.com> wrote:

Sounds like the issue in #57 https://github.com/TigerVNC/tigervnc/pull/57. It's an annoying behaviour from most modern desktop environments. But we've changed TigerVNC to play nice with it now. Could you try a nightly build and see if that works better for you?

— Reply to this email directly or view it on GitHub https://github.com/TigerVNC/tigervnc/issues/192#issuecomment-139137114.

~// Bob


Home : 5 Windermere Way, West Drayton, UB7 8LX. Phone: +44 18 9531 1227 Mobile : +44 77 3002 7936 | FREE Local Call Us From Auckland NZ : +64 9 889 2589

CendioOssman commented 9 years ago

There's a link on http://tigervnc.org:

http://tigervnc.bphinz.com/nightly/

ghost commented 9 years ago

Hi Pierre,

I found that .. but no listing for EL7 should I use the Cross-compatible builds or EL6 ?

~Bob

On 10 September 2015 at 13:09, Pierre Ossman (Work account) < notifications@github.com> wrote:

There's a link on http://tigervnc.org:

http://tigervnc.bphinz.com/nightly/

— Reply to this email directly or view it on GitHub https://github.com/TigerVNC/tigervnc/issues/192#issuecomment-139215809.

~// Bob


Home : 5 Windermere Way, West Drayton, UB7 8LX. Phone: +44 18 9531 1227 Mobile : +44 77 3002 7936 | FREE Local Call Us From Auckland NZ : +64 9 889 2589

bphinz commented 9 years ago

On Thu, Sep 10, 2015 at 9:07 AM, Bob Davis notifications@github.com wrote:

Hi Pierre,

I found that .. but no listing for EL7 should I use the Cross-compatible builds or EL6 ?

No promises about how well (or even if) the cross-compatible builds will work on EL7 if the tarball is not extracted to "/". I'm working on resolving this, but at least on EL6 I can tell you that it freezes up almost immediately and is basically unusable. This has to do with Xvnc not being able to find the Mesa DRI driver. I hope to have this fixed, or at least a workaround in place in the next day or two.

At the moment, I do not have enough capacity to add EL7 builds to the nightlies. I've been working as time permits to restructure the EL5/generic RPM spec file so that the Xorg build pre-reqs can be installed as a static-devel package instead of being re-built every time. That will free up enough cycles to build EL7 packages and still cut the overall build times in half... No ETA on when this will be finished though.

-brian

ghost commented 9 years ago

shall i have a try and build from source on my machine? just to see if it is going to solve the problem..

On 10 September 2015 at 15:09, Brian Hinz notifications@github.com wrote:

On Thu, Sep 10, 2015 at 9:07 AM, Bob Davis notifications@github.com wrote:

Hi Pierre,

I found that .. but no listing for EL7 should I use the Cross-compatible builds or EL6 ?

No promises about how well (or even if) the cross-compatible builds will work on EL7 if the tarball is not extracted to "/". I'm working on resolving this, but at least on EL6 I can tell you that it freezes up almost immediately and is basically unusable. This has to do with Xvnc not being able to find the Mesa DRI driver. I hope to have this fixed, or at least a workaround in place in the next day or two.

At the moment, I do not have enough capacity to add EL7 builds to the nightlies. I've been working as time permits to restructure the EL5/generic RPM spec file so that the Xorg build pre-reqs can be installed as a static-devel package instead of being re-built every time. That will free up enough cycles to build EL7 packages and still cut the overall build times in half... No ETA on when this will be finished though.

-brian

— Reply to this email directly or view it on GitHub https://github.com/TigerVNC/tigervnc/issues/192#issuecomment-139245865.

~// Bob


Home : 5 Windermere Way, West Drayton, UB7 8LX. Phone: +44 18 9531 1227 Mobile : +44 77 3002 7936 | FREE Local Call Us From Auckland NZ : +64 9 889 2589

ghost commented 9 years ago

just had a look at the source code ..

should I follow this .. word for word on centos7 ??

Building the TigerVNC Server on Modern Unix/Linux Systems

Building the TigerVNC Server (Xvnc) is a bit trickier. On newer systems containing Xorg 7.4 or later (such as Fedora), Xvnc is typically built to use the X11 shared libraries provided with the system. The procedure for this is system-specific, since it requires specifying such things as font directories, but the general outline is as follows (this procedure assumes that the viewer has already been built, per above.)

cd {build_directory}

If performing an out-of-tree build:

mkdir unix cp -R {source_directory}/unix/xserver unix/

cp -R {xorg_source}/* unix/xserver/ (NOTE: {xorg_source} is the directory containing the Xorg source for the machine on which you are building TigerVNC. The most recent versions of Red Hat/CentOS/Fedora, for instance, provide an RPM called "xorg-x11-server-source", which installs the Xorg source under /usr/share/xorg-x11-server-source.)

cd unix/xserver/ patch -p1 < {source_directory}/unix/xserver{version}.patch (where {version} matches the X server version you are building, such as "17" for version 1.7.x.) autoreconf -fiv

./configure --with-pic --without-dtrace --disable-static --disable-dri \ --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg \ --disable-dmx --disable-xwin --disable-xephyr --disable-kdrive \ --disable-config-dbus --disable-config-hal --disable-config-udev \ --disable-dri2 --enable-install-libxf86config --enable-glx \ --with-default-font-path="catalogue:/etc/X11/fontpath.d,built-ins" \ --with-fontdir=/usr/share/X11/fonts \ --with-xkb-path=/usr/share/X11/xkb \ --with-xkb-output=/var/lib/xkb \ --with-xkb-bin-directory=/usr/bin \ --with-serverconfig-path=/usr/lib[64]/xorg \ --with-dri-driver-path=/usr/lib[64]/dri \ {additional configure options} (NOTE: This is merely an example that works with Red Hat Enterprise/CentOS 6 and recent Fedora releases. You should customize it for your particular system. In particular, it will be necessary to customize the font, XKB, and DRI directories.)

make TIGERVNC_SRCDIR={source_directory}

On 10 September 2015 at 15:09, Brian Hinz notifications@github.com wrote:

On Thu, Sep 10, 2015 at 9:07 AM, Bob Davis notifications@github.com wrote:

Hi Pierre,

I found that .. but no listing for EL7 should I use the Cross-compatible builds or EL6 ?

No promises about how well (or even if) the cross-compatible builds will work on EL7 if the tarball is not extracted to "/". I'm working on resolving this, but at least on EL6 I can tell you that it freezes up almost immediately and is basically unusable. This has to do with Xvnc not being able to find the Mesa DRI driver. I hope to have this fixed, or at least a workaround in place in the next day or two.

At the moment, I do not have enough capacity to add EL7 builds to the nightlies. I've been working as time permits to restructure the EL5/generic RPM spec file so that the Xorg build pre-reqs can be installed as a static-devel package instead of being re-built every time. That will free up enough cycles to build EL7 packages and still cut the overall build times in half... No ETA on when this will be finished though.

-brian

— Reply to this email directly or view it on GitHub https://github.com/TigerVNC/tigervnc/issues/192#issuecomment-139245865.

~// Bob


Home : 5 Windermere Way, West Drayton, UB7 8LX. Phone: +44 18 9531 1227 Mobile : +44 77 3002 7936 | FREE Local Call Us From Auckland NZ : +64 9 889 2589

bphinz commented 9 years ago

On Thu, Sep 10, 2015 at 11:09 AM, Bob Davis notifications@github.com wrote:

just had a look at the source code ..

should I follow this .. word for word on centos7 ??

I would at least try rebuilding the SRC rpm for EL6 ( http://tigervnc.bphinz.com/nightly/el6/SRPMS/tigervnc-1.5.80-21.20150909git9a153b0a.el6.src.rpm) on CentOS 7 first. Some of the pre-reqs may have changed name slightly, but I would guess that it can be made to work with minimal effort.

-brian

ghost commented 9 years ago

Hi,

I have had a go at rebuilding the rpm .. the link above gave me a 404 but i grabbed the file from the site [ tigervnc-1.5.80-21.20150911git9a153b0a.el6.src.rpm ] not quite the same number ..

anyway tried to build it .. got an error about dependencies .. installed them ..

then got an error

Bad exit status from /var/tmp/rpm-tmp.0Jvlzo (%prep)

I have put a couple of text files, the output of my attempts rpm-rebuild-errors.txt and the file mentioned in the above error rpm-tmp.0Jvlzo.txt and a tar of the whole rpmbuild folder in my google drive with public view access here. this interface woudlnt let me attach them ..

https://drive.google.com/folderview?id=0Bxty5UgU4qbZTzJGa2t5N1lsdkU&usp=sharing

I must also say I really do appreciate any help I know how busy we all are in our lives ..

~Bob

bphinz commented 9 years ago

On Fri, Sep 11, 2015 at 6:49 AM, Bob Davis notifications@github.com wrote:

Hi,

I have had a go at rebuilding the rpm .. the link above gave me a 404 but i grabbed the file from the site [ tigervnc-1.5.80-21.20150911git9a153b0a.el6.src.rpm ] not quite the same number ..

Those files get replaced anytime there is a commit to the master branch of the git repo, or nightly around 1:00am EDT, so the snap tag may have changed between when I sent the link and when you tried to retrieve the file.

anyway tried to build it .. got an error about dependencies .. installed them ..

then got an error

Bad exit status from /var/tmp/rpm-tmp.0Jvlzo (%prep)

I have put a couple of text files, the output of my attempts rpm-rebuild-errors.txt and the file mentioned in the above error rpm-tmp.0Jvlzo.txt and a tar of the whole rpmbuild folder in my google drive with public view access here. this interface woudlnt let me attach them ..

https://drive.google.com/folderview?id=0Bxty5UgU4qbZTzJGa2t5N1lsdkU&usp=sharing

Sorry, you have to define a variable called 'snap' and pass it to rpmbuild for nightlies (or else run 'rpm -i' on the src rpm and edit the spec to define it there). In either case, %snap corresponds to the "20150911git9a153b0a" you see in the filename. So try "rpmbuild --define 'snap 20150911git9a153b0a' --rebuild ..."

-brian

ghost commented 9 years ago

went a lot further this time ..

make: *\ [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.hQnnHv (%build)

RPM build errors: /tmp/tigervnc-1.5.80-21.20150911git9a153b0a.el6.src.rpm: Header V4 RSA/SHA1 Signature, key ID 4582a460: NOKEY user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root user bphinz does not exist - using root group bphinz does not exist - using root bogus date in %changelog: Thu Jul 05 2013 Brian P. Hinz bphinz@users.sourceforge.net 1.3.0 bogus date in %changelog: Tue May 12 2011 Adam Tkac - 1.0.90-5 Bad exit status from /var/tmp/rpm-tmp.hQnnHv (%build)

from the end of this log....

Build Java applet

pushd java

CFLAGS="${CFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" ; export CXXFLAGS ; FFLAGS="${FFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -I/usr/lib64/gfortran/modules}" ; export FFLAGS ; FCFLAGS="${FCFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -I/usr/lib64/gfortran/modules}" ; export FCFLAGS ; LDFLAGS="${LDFLAGS:--Wl,-z,relro }" ; export LDFLAGS ; /usr/bin/cmake \ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DINCLUDE_INSTALL_DIR:PATH=/usr/include \ -DLIB_INSTALL_DIR:PATH=/usr/lib64 \ -DSYSCONF_INSTALL_DIR:PATH=/etc \ -DSHARE_INSTALL_PREFIX:PATH=/usr/share \ -DLIB_SUFFIX=64 \ -DBUILD_SHARED_LIBS:BOOL=ON \

JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" make popd

full log in same place on google drive ..

related to java ??

[bobadm@pukeko ~]$ java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) [bobadm@pukeko ~]$

does it need a jdk somewhere perhaps ??

bphinz commented 9 years ago

On Fri, Sep 11, 2015 at 9:01 AM, Bob Davis notifications@github.com wrote:

went a lot further this time .. ...

does it need a jdk somewhere perhaps ??

Yes, the jdk does need to be installed. I'll have to look at the spec file and make sure that's in the buildprereqs.

-brian

ghost commented 9 years ago

okay .. what version and where do i have to put it ? or do i just need it to be the default in java alternatives

ghost commented 9 years ago

being impatient :) i have installed sudo yum localinstall ~bob/Downloads/jdk-8u60-linux-x64.rpm updated the alternatives to make the default java .. same error .. so i am guessing i have to put it somewhere else ..

~Bob

bphinz commented 9 years ago

On Fri, Sep 11, 2015 at 9:41 AM, Bob Davis notifications@github.com wrote:

being impatient :) i have installed sudo yum localinstall ~bob/Downloads/jdk-8u60-linux-x64.rpm updated the alternatives to make the default java .. same error .. so i am guessing i have to put it somewhere else ..

try changing "java-devel" in this line in the spec file:

BuildRequires: desktop-file-utils, java-devel, jpackage-utils

to whatever package provides the jdk on CentOS 7 (java-1.8.0-openjdk-devel?)

-brian

ghost commented 9 years ago

okay how do i edit that file ? do you mean this file?

SPECS/tigervnc.spec:BuildRequires: desktop-file-utils, java-1.8.0-openjdk-devel, jpackage-utils

I have edited it as shown, no change to error .. i also tried editing the two files in the el6 and el5 directories .. no change

and tried using jdk1.8.0_60 which is also installed and the version you get if you type java -version I have also tried running it with sudo as it says cant find user bhinz so using root .. still seems to fail at this point

Build Java applet

pushd java

CFLAGS="${CFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" ; export CXXFLAGS ; FFLAGS="${FFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -I/usr/lib64/gfortran/modules}" ; export FFLAGS ; FCFLAGS="${FCFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -I/usr/lib64/gfortran/modules}" ; export FCFLAGS ; LDFLAGS="${LDFLAGS:--Wl,-z,relro }" ; export LDFLAGS ; /usr/bin/cmake \ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DINCLUDE_INSTALL_DIR:PATH=/usr/include \ -DLIB_INSTALL_DIR:PATH=/usr/lib64 \ -DSYSCONF_INSTALL_DIR:PATH=/etc \ -DSHARE_INSTALL_PREFIX:PATH=/usr/share \ -DLIB_SUFFIX=64 \ -DBUILD_SHARED_LIBS:BOOL=ON \

JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" make popd exit 0

sorry i am not experienced at this .. when it comes to this process i am a total newbie .. again thanks for your help and patience ..

~Bob

bphinz commented 9 years ago

On Mon, Sep 14, 2015 at 12:31 PM, Bob Davis notifications@github.com wrote:

okay how do i edit that file ? do you mean this file?

SPECS/tigervnc.spec:BuildRequires: desktop-file-utils, java-1.8.0-openjdk-devel, jpackage-utils

I have edited it as shown, no change to error .. i also tried editing the two files in the el6 and el5 directories .. no change

It sounds like you are building from a checkout of the git source tree(?). Try installing the src rpm as as a non-root user (ie: rpm -i tigervnc-1.5.80-21.20150914git9f03a09e.el6.src.rpm). That will put the spec file and all of the source files into an rpm build tree in ~/rpmbuild. Edit ~/rpmbuild/SPECS/tigervnc.spec as you did above and then issue the command "rpmbuild --define 'snap 20150914git9f03a09e' -bb ~/rpmbuild/SPECS/tigervnc.spec"

and tried using jdk1.8.0_60 which is also installed and the version you get if you type java -version I have also tried running it with sudo as it says cant find user bhinz so using root ..

I think you won't see those warnings if install and then run rpmbuild rather than rpmbuild --rebuild.

If you're still stuck, I'll try to fireup a CentOS 7 VM when I get the chance but it likely won't be today.

-brian

ghost commented 9 years ago

Sorry can't get this to work ;(

still fails but i think we have been looking at the wrong error:

[100%] /bin/ld: ../build/usr/lib64/libfltk.a(Fl_Window_shape.o): undefined reference to symbol 'dlsym@@GLIBC_2.2.5' /bin/ld: note: 'dlsym@@GLIBC_2.2.5' is defined in DSO /lib64/libdl.so.2 so try adding it to the linker command line /lib64/libdl.so.2: could not read symbols: Invalid operation Built target x0vncserver collect2: error: ld returned 1 exit status make[2]: * [vncviewer/vncviewer] Error 1 make[2]: Leaving directory `/admin/bobadm/rpmbuild/BUILD/tigervnc-1.5.80-20150915git9f03a09e' make[1]: * [vncviewer/CMakeFiles/vncviewer.dir/all] Error 2 make[1]: Leaving directory`/admin/bobadm/rpmbuild/BUILD/tigervnc-1.5.80-20150915git9f03a09e' make: *\ [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.rCij3O (%build)

RPM build errors: bogus date in %changelog: Thu Jul 05 2013 Brian P. Hinz bphinz@users.sourceforge.net 1.3.0 bogus date in %changelog: Tue May 12 2011 Adam Tkac - 1.0.90-5 Bad exit status from /var/tmp/rpm-tmp.rCij3O (%build)

This is talking about GLIBC_2.2.5 is this the issue perhaps ?

rpm -q glibc glibc-2.17-78.el7.x86_64 glibc-2.17-78.el7.i686

which is weird as on centos 6.6 rpm -q glibc glibc-2.12-1.149.el6.x86_64 glibc-2.12-1.149.el6.i686

its even older ..

I think i am going to admit defeat here and wait for you guys to do some builds in the release section for CentOS/RHEL 7 if we turn our backs on gnome and move to KDE most of the issues go away..

I had previously installed the tar from bintray tigervnc-Linux-x86_64-1.5.0.tar.gz

Xvnc TigerVNC 1.5.0 - built Jul 12 2015 15:56:51 Copyright (C) 1999-2015 TigerVNC Team and many others (see README.txt) See http://www.tigervnc.org for information on TigerVNC. Underlying X server release 11202000, The X.Org Foundatio

this is easy to do and works well but this doesn't solve the problems we have..

what's the time line on the next update in this format ? will be 1.6.0 ?? if we are at 1.5.80 I am guessing that's not to far away ??

Again thanks for your time and your help ..

~Bob

CendioOssman commented 9 years ago

I'm afraid we have no schedule for our releases. But I'd say in a couple of months.

CendioOssman commented 9 years ago

I'll assume this is a duplicate of #57 for now. Feel free to reopen the issue if you still see the problem with a more recent build of TigerVNC.