summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-10-03Set Rotation and Reflection to only the current modes when using Basic ↵Jonathan Waddell4-63/+51
Configuration Currently when the Display Configuration page of nvidia-settings is in Basic mode, any changes to the Rotation and Reflection values are applied to all modes for that display. This causes our entire list of metamodes to be updated and when we cancel a modeset, those updated metamodes are not reverted. Even if we do revert them on the server, our internal data structures do not represent these metamodes and resetting the UI to force a sync would cause the loss of all user config options currently chosen but not applied. This change modifies the behavior of Basic Mode configurations that involve rotation and reflection. These changes will make these metamode changes to behave similarly to advanced mode changes in that they will only affect the current metamode. On the UI side, in basic mode, we will make sure that if rotation/reflection is selected and the resolution is changed (effectively changing to a different selected mode) we will make sure the adjustments are carried over to the new mode. A user using the UI exclusively should not see any changes in behavior aside from the actual issue fixed. A user checking the available metamodes on the server would see a difference but it would be identical to the metamodes given by the unchanged Configuration method in Advanced Mode.
2017-10-03Add text to the help page for widgets missing entries.Jonathan Waddell2-3/+9
This change adds help text for the "Save Current Configuration" button on the "nvidia-settings Configuration" page and re-enables a flag that allows the help text for "Sync to this display device" on the XVideo Settings page. Also removes the per entry tooltip text for the "Sync to this display device" and adds the tooltip to the entire container widget since it exists for the entire lifetime of the application.
2017-10-03Fix for un-initialized variables valgrind errorPablo De La Garza1-13/+13
The variable on this change are liable to not be initialized if the function that is meant to initialize errors out. And the uninitialized variable would still be passed for the creation of a widget. Since in the case of this happening such widget won't be used anyways, chances of this causing trouble are slim, but still we shouldn't have it. Additionally it shows on valgrind so it creates noise when trying to troubleshoot something else.
2017-10-03Allow Mosaic configuration when a screen is selected.Jonathan Waddell1-3/+14
Right now, the Enable Mosaic button is only validated properly and shown when a Display object is selected on the Display Config page of nvidia-settings. Mosaic support is a feature of the gpu and shouldn't depend on if a Display or Screen is selected. This change adds the validation and activation of the Mosaic feature with a Screen selection in addition to the existing Display selection.
2017-10-03Allow moving displays to the origin even if the layout window is too large.Jonathan Waddell1-2/+10
Currently, we can get in a situation where the nvidia-settings display layout window is setup to be larger than what the X server allows. The problem is if we are in this situation, the user may not be able to fix the layout because our enforcement of size limits doesn't allow the user to move displays to the origin. This is because when moving items to the left or upward, we calculate our movement limit with respect to the right-most or furthest down position used. This change will allow us to always move items to the origin. Note that we already always redefine the origin to be the top-left most valid item. This position should always be available when moving items.
2017-10-03Keep the ECC Reset Default Config button in sync with current ECC pending ↵Jonathan Waddell2-17/+30
status. Anytime the ECC Pending Status Checkbox is set to a different value than the ECC Default Configuration value, this button should be enabled. It should be clear to the user that what the Reset button's value should be based on behavior alone. This change updates the enabled/disabled state of the Reset anytime we receive a update to the pending config value and or when the user changes the value manually.
2017-10-03Repack images with 'optipng -o7 -zm1-9'Aaron Plattner35-0/+0
This saves a couple dozen KB. -rwxr-xr-x 1 aaron aaron 1481192 May 18 16:11 libnvidia-gtk2.so.old -rwxr-xr-x 1 aaron aaron 1452520 May 18 16:11 libnvidia-gtk2.so -rwxr-xr-x 1 aaron aaron 1477384 May 18 16:11 libnvidia-gtk3.so.old -rwxr-xr-x 1 aaron aaron 1444616 May 18 16:11 libnvidia-gtk3.so
2017-10-03Use embedded PNGs to load pixbufsAaron Plattner46-52401/+138
Create a helper function, ctk_pixbuf_from_data(), and corresponding helper macro CTK_LOAD_PIXBUF(), to load embedded images from their internal PNG representation. Delete the uncompressed pixdata versions. This saves a few hundred KB from each of libnvidia-gtk2 and libnvidia-gtk3: -rwxr-xr-x 1 aaron aaron 1828552 May 18 16:06 libnvidia-gtk2.so.old -rwxr-xr-x 1 aaron aaron 1481192 May 18 16:07 libnvidia-gtk2.so -rwxr-xr-x 1 aaron aaron 1820808 May 18 16:06 libnvidia-gtk3.so.old -rwxr-xr-x 1 aaron aaron 1477384 May 18 16:07 libnvidia-gtk3.so
2017-10-03Embed the .png files into the libnvidia-gtk[23] librariesAaron Plattner4-45/+136
These will be used later to decompress the images at runtime. Generate headers that define the start and end symbols for these.
2017-10-03Always check if the ECC Configuration Pending state has changed.Jonathan Waddell2-2/+32
Right now on the ECC status page in nvidia-settings we poll for changes in the ECC state of the GPU. When ECC is enabled we poll for ECC errors. The problem is we only check the Configuration Pending state when the application starts up. We can detect via nvcontrol events, if this value is changed for example on the command line by "nvidia-settings -a ECCConfiguration=1". But if this value is changed by a non-nvcontrol method like "nvidia-smi -e 1", we don't detect or display the change. This change adds querying this value to the polling loop of the ECC Status page.
2017-10-03Add an AllowGSYNC MetaMode flagAaron Plattner2-3/+18
Recognize the new flag in nvidia-settings in order to be able to write it to xorg.conf.
2017-10-03Update overclocking UI to show memory clock offset and graphics clock offset ↵Sachin Chitte1-4/+10
independently. On few SKU users can only set graphics clock offset and not memory clock offset. So updated UI to show memory clock offset and graphics clock offset, if either is editable.
2017-09-21384.90Aaron Plattner6-6/+6
2017-09-21Renamed UI references from 'GRID Virtual Workstation' to 'Quadro Virtual ↵Pankaj S2-29/+29
Datacenter Workstation' in the manage license page and help page of nvidia-settings.
2017-08-22384.69384.69Aaron Plattner6-6/+6
2017-08-22Framelock FPGA minor firmware versionBenjamin Morris4-8/+42
This change adds support for reporting the framelock firmware minor version via nvidia-settings. Tested with firmware version 2.99, and also tested with the firmware minor version hardcoded to 1 just to doublecheck the formatting.
2017-08-22Allow Tab control key to be enabled for port num field in nvidia-settings.Nikita Krishnia1-0/+3
2017-08-22Updated the error message shown in nvidia-settings while applying license.Nikita Krishnia1-2/+2
Issue: if dbus connection has failed and nvidia-gridd is already running, still nvidia-settings incorrectly reports error message to make sure whether "nvidia-gridd is running" while applying license. Fix: modified the error message shown in nvidia-settings in case of failure to make sure we inform user to check if both nvidia-gridd and dbus-daemon are running.
2017-08-22Rename the "Manage GRID License" page to "Manage License" in ↵Nikita Krishnia1-1/+1
nvidia-settings: As "Manage GRID License" page will be displayed only on GRID platform with GRID packages installed, so renamed Licensing Page link to "Manage License" to maintain the consistency of name across Windows and Linux. Testing done: Verified successfully that the modified string "Manage License" is displayed in Linux nvidia-settings.
2017-08-22Update nvml.hAaron Plattner1-32/+0
2017-07-24384.59384.59Aaron Plattner6-6/+6
2017-07-24Show appropriate pop-up on failure to apply license settingsPankaj S1-35/+54
Issue: For the users who doesnot have permission to configure license settings, no message/pop-up is shown to the user if tries to apply license via nvidia-settings. Fix: When write operation on gridd config file fails, a pop-up box is displayed with error message.
2017-07-24Set radio button in Manage Grid License page of nvidia-settings to ↵Trupti Pimparkar1-5/+6
Tesla(unlicensed) by default If featureType is not supported, Tesla(unlicensed) will be selected.
2017-07-24Modified the nvidia-settings 'Manage GRID License' help page content: ↵Nikita Krishnia-INTERN1-14/+17
Descriptions of some of the existing fields is corrected in help page for Manage GRID License page.
2017-07-24Fix for nvidia-settings throws dbus error when nvidia-gridd is not running.Nikita Krishnia-INTERN1-41/+28
Issue: Getting assertion on lauching nvidia-settings when nvidia-gridd is not running: "ERROR: GRID License dbus communication: Argument is not int! " Fix: The current dbus API queues a message to send(dbus_connection_send_with_reply) and block until we receive a reply. Now changed the dbus API(dbus_connection_send_with_reply_and_block) which sends a message and blocks for a default time period while waiting for a reply. This dbus function has advantage over the current API as it returns an error code on failure. And depending on the error code returned we can decide whether to send the signal to nvidia-gridd or not.
2017-07-24Allowed 2nd instance of nvidia-settings to show Manage GRID License page. ↵Neha Joshi1-6/+3
Due to check DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER only primary owner was showing the page. Now updated code to remove the check so all instances will show the page. And when apply button clicked the server name/port number values get applied.
2017-07-24Fix for segmentation fault in nvidia-settings when run as non-root user. ↵Nikita Krishnia-INTERN1-15/+18
Fix: Added a Null check for griddConfig.
2017-07-24Allow control keys to be enabled for port num field in nvidia-settingsNeha Joshi1-2/+25
2017-07-24nvidia-settings : Set default unlicensed state message strings according to ↵Trupti Pimparkar2-28/+62
license feature types. Issue : If nvidia-gridd is not running, no license state is received and hence default message strings set in nvidia-settings are shown. The default unlicensed message string was generic. Fix : Defined different values for feature types to avoid confusion between virtualization mode and feature types. Assigned different default unlicensed message strings in nvidia-settings according to feature types. Removed mapping table with nvml for feature types as feature types are used by user only.
2017-07-24Updated the nvidia-settings 'Manage GRID License' help page content: The ↵Nikita Krishnia-INTERN1-14/+16
contents of help page for Manage GRID License page are updated to incorporate new fields and descriptions of some of the existing fields is corrected.
2017-07-24Adding text control checks for the GTK widgets on the Manage License page in ↵Anshul Fadnavis1-0/+43
nvidia-settings Through this change: 1. Server Address fields will not allow entry of whitespace characters. 2. Port Number fields will only allow entry of digits.
2017-07-24Fix data pointer passed to dbus_message_iter_get_basic call in nvidia-settingsAnish Sane1-2/+2
Currently we pass &status as the data pointer to dbus_message_iter_get_basic call. 'status' is already of the type (gint *). This commit changes the call so that it passes pStatus directly. It also changes the name of the variable to pStatus to avoid any confusion.
2017-07-24Update nvml.hAaron Plattner1-6/+3
2017-06-29384.47384.47Aaron Plattner7-12/+13
2017-06-29When GVW check box selected set license state NV_GRID_UNLICENSED_GVW_SELECTEDSachin Chitte2-0/+11
nvidia-settings is not able to get the correct license state from nvidia-gridd so updated code to set license status to NV_GRID_UNLICENSED_GVW_SELECTED. Added flag license_edition_gvw_selected to see if GVW check box selected.
2017-06-05Avoid restarting nvidia-gridd from nvidia-settings and send a dbus signal ↵Sachin Chitte2-42/+85
instead. Now when nvidia-gridd service starts there is a retry loop for Service Provider licensing in nvidia-gridd which takes max 30 seconds to retry detecting SP platform and then falls back to Flexera licensing. So to apply any changes in license server details, we need to wait for 30 seconds to get changes applied. So there is a long pause of 30-40 seconds before license state gets updated in nvidia-settings. Solution : When user clicks 'Apply' button send dbus signal to nvidia-gridd so that on the side of nvidia-gridd, it will read gridd.conf parameters again and fetch license again, and hence there is no need to restart nvidia-gridd service everytime. send_dbus_method_call - moved code calling dbus method call to this function. LICENSE_DETAILS_UPDATE_REQUEST - notifies nvidia-gridd that license configuration information provided by user has changed. LICENSE_DETAILS_UPDATE_SUCCESS - returns if the nvidia-gridd able to read conf file and fetch the license. If nvidia-gridd is not running dbus_message_iter_get_arg_type returns the argument type other than DBUS_TYPE_INT32. We are showing popup warning message to users on failure of LICENSE_DETAILS_UPDATE_REQUEST request. clean up : Updated code to deafult port no 7070 only when user do not set any value.
2017-06-05Show Manage GRID License page if gridd.conf file does not exist.Sachin Chitte1-7/+21
Changed behavior to show page with message instead of not showing the page. "'/etc/nvidia/gridd.conf' file does not exist.\n You do not have " "permissions to create this file."
2017-06-05Updated new grid license status messages.Sachin Chitte1-1/+12
2017-06-05nvidia-settings: Prefer generated BusID during xorg.conf mergeBenjamin Morris1-1/+12
Commit 3a2b35de1b9 was intended to fix a bug in the xorg.conf merge behavior of nvidia-settings, where nvidia-settings would always overwrite a device's BusID (even if it determined that the new device entry didn't require a BusID entry), even if the source config had a BusID and the user wanted to merge the new config with their existing config. After that change, nvidia-settings would always overwrite its generated BusID for a device if that same device index had a BusID in the original file, even if the new nvidia-settings generated config required a different BusID entry. In other words: nvidia-settings xorg.conf merge behavior for a single display/ single GPU: Old xorg.conf: Identifier "Device0" BusID "PCI:4:0:0" Pre-3a2b35de1b9 behavior: New xorg.conf: Identifier "Device0" Post-3a2b35de1b9 behavior: New xorg.conf: Identifier "Device0" BusID "PCI:4:0:0" But this regressed the behavior for a multi-GPU config where all displays are connected to one GPU, and the user is trying to configure separate X screens in nvidia-settings: Old xorg.conf (generated with nvidia-xconfig -a, which generates one X screen per GPU with a corresponding Device and BusID entry) Identifier "Device0" BusID "PCI:3:0:0" Screen 0 Identifier "Device1" BusID "PCI:4:0:0" Screen 0 Pre-3a2b35de1b9 behavior (generated with nvidia-settings configuring two separate X screens, one per display, both displays connected to the GPU at BusID PCI:3:0:0) Identifier "Device0" BusID "PCI:3:0:0" Screen 0 Identifier "Device1" BusID "PCI:3:0:0" Screen 1 Post-3a2b35de1b9 behavior: Identifier "Device0" BusID "PCI:3:0:0" Screen 0 Identifier "Device1" BusID "PCI:4:0:0" <-- BUG Screen 1 Note how the BusID for Device1 has been overwritten to PCI:4:0:0, even though nvidia-settings determined that the new config requires Device1 to have BusID PCI:3:0:0, because the merged original xorg.conf had BusID PCI:4:0:0 for Device 1. This change modifies the nvidia-settings merge behavior to only overwrite the merged device's BusID if the new config has no BusID entry for that device. This retains the desired behavior from the original fix (not overwriting the user's provided BusID for new BusID-less configs during a merge), while fixing the regression (no longer overwriting the new config's BusID with the old config's BusID if the new config requires a BusID entry). Tested with a 2xGPU 2xDPY (on first GPU) config (to verify the regression is fixed) and a 1xGPU 1xDPY config with a specified BusID (to verify the original bug is still fixed).
2017-06-05Updated Manage GRID License page UI.Sachin Chitte2-15/+114
Added primary and secondary server and port info for the license server. Secondary server details are used if primary server fails to acquire the license. Corresponding gridd.conf keywords: - BackupServerAddress - FQDN or numeric IP address of the back-up license server. - BackupServerPort - port number of the back-up license server.
2017-06-05Update the configuration with the Bus ID when merging with an existing ↵Jonathan Waddell1-0/+35
config file. When nvidia-settings merges a new configuration file with the old one, we currently drop the Bus ID due to how the xconfig parser generates and merges the files. This change copies the Bus ID string if it exists from the old to the new file.
2017-06-05Select license edition radio button depending on feature type.Sachin Chitte1-4/+10
Earlier Tesla unlicensed mode button were getting selected always. Changed that logic to use feature type from gridd.conf and then select the toggle button.
2017-06-05Update nv_grid_dbus.h and nvml.hAaron Plattner2-38/+473
2017-05-09381.22381.22Aaron Plattner6-6/+6
2017-04-06381.09381.09Aaron Plattner6-6/+6
2017-04-06Don't repeat identical queries with Display Targets when querying all ↵Jonathan Waddell1-7/+9
attributes. When NV-CONTROL tries to get the Dpy pointer for a queried target and that target is itself a Display, we currently ignore the mask argument and return the original Target. The problem occurs when we run the command, "--query all". With non-display targets, we iterate over a display mask to make sure we query displays associated with the Screen, GPU, etc and this works fine. If we are using a Display Target, the mask is ignore and we get 24 matches for each bit in the mask because we interally ignore the mask. This change exits the bit mask iterator loop after the first run when we are using a Display Target.
2017-04-06Add HDMI 3D Label to refresh rate on the display config pageJonathan Waddell1-1/+17
When screens are configured to use HDMI 3D stereo, the refresh rate listed as half of what the mode normally describes. This label helps the user to confirm the reason the value may be different than expected. This brings the Display Config page more in link with the Display Device and Framelock pages that show the refresh rate in a similiar manner with the 'HDMI 3D' label.
2017-04-06Show Manage GRID License page for licensable GRID gpus used on baremetalSachin Chitte2-14/+139
GRID M6 is licensable gpu so we want to allow users to choose GRID virtual workstation and Unlicensed Tesla mode on baremetal setup. When virtualization mode is NV_CTRL_ATTR_NVML_GPU_VIRTUALIZATION_MODE_NONE we want to treat it same way like NV_CTRL_ATTR_NVML_GPU_VIRTUALIZATION_MODE_PASSTHROUGH. So that it will show the GRID Virtual Workstation interface in case of baremetal setup.
2017-04-06Updated code to open file as a stream, rather than fdSachin Chitte1-45/+61
Added utility functions ReadConfigFileStream() and WriteConfigFileStream().
2017-04-06Updated license message and enum to include latest infoSachin Chitte1-8/+22